AlphaFold2

简介

AlphaFold2是Google旗下DeepMind开发的一款蛋白质结构预测程式。 该程序被设计为一个深度学习系统。 氨基酸折叠形成蛋白质。 AlphaFold人工智能有2个主要版本:AlphaFold 1(2018)和AlphaFold 2(2020)。

安装环境

序号

集群

平台

版本

位置

安装方式

1

hpckapok1

gpu

AlphaFold2

/share/software/AlphaFold2/

conda

2

hpckapok2

gpu

AlphaFold2

/public/software/AlphaFold2/

容器镜像

使用方法

小技巧

命令运行:启动命令解释,参数之间使用空格分隔

slurm作业提交

hpckapok1

1.新建一个用于跑alphafold2的目录,复制alphafold-2.3.1到当前文件夹

mkdir alphafold2 && cd alphafold2
cp -r /share/software/Alphafold2/alphafold-2.3.1 ./

2.创建input文件夹,将输入文件test.fasta放置input文件夹下,示例:

>2LHC_1|Chain A|Ga98|artificial gene (32630)
PIAQIHILEGRSDEQKETLIREVSEAISRSLDAPLTSVRVIITEMAKGHFGIGGELASK

3.alphafold2文件夹下创建用于提交平台作业的脚本文件slurm.sh,以下为申请一张gpu卡进行计算

#!/bin/bash
#SBATCH --job-name=alphafold2
#SBATCH --partition=gpuA800
#SBATCH -N 1
#SBATCH -n 9
#SBATCH --gres=gpu:1
#SBATCH --output=%j.out
#SBATCH --error=%j.err

module load anaconda/3-2023.09
source activate af2
module load cuda/11.8

cd alphafold-2.3.1
./run_alphafold.sh -d /share/software/Alphafold2/alphafold_lib/data_tar -o ../output -f ../input/test.fasta -t 2023-03-12 -g true -c reduced_dbs

使用sbatch slurm.sh提交作业

4.作业结束后,输出结果在alphafold2/output/目录下

slurm作业提交

hpckapok2

1.编写alphafold2.slurm脚本

#!/bin/bash
#SBATCH -J STDIN_0112_164330
#SBATCH -p gpuA800
#SBATCH -N 1
#SBATCH --ntasks-per-node=1
#SBATCH --time 03:00:00
#SBATCH --comment=BASE
#SBATCH --array=1-1### MARK_MULTI_SUB
module load apps/anaconda3/3-2023.09
source activate af2
module load apps/singularity/3.9.9
python /public/software/AlphaFold2/alphafold-git/docker/run_alphafold232.py \
--fasta_paths <测试文件路径> \
--output_dir <输出结果路径> \
--db_preset=reduced_dbs \
--model_preset=multimer

2.使用sbatch alphafold2.slurm提交作业

web平台提交(salloc)

1.登录SCOW平台,并创建桌面

../../../_images/fluent1.jpg

2.在桌面中打开终端

../../../_images/fluent2.jpg

3.在终端申请计算节点资源,申请资源命令如下

# 申请资源命令例子,申请一个节点、cpuXeon6458资源分区、使用时长60分钟、32核
$ salloc -N 1 -p gpuA800 -t 60:00 --cpus-per-task=8 --gres=gpu:1

命令行参数解释:

-N <节点数量>
--cpus-per-task=<单进程 CPU 核心数>
--gres=gpu:<单节点 GPU 卡数>
-t <最长运行时间>
-p <使用的分区>
--qos=<使用的 QoS>

4.根据分配的计算节点,使用 ssh -Y <计算节点> 登录至计算节点。例如下图,分配的节点为comput1,则命令为: ssh -Y comput1

../../../_images/fluent3.jpg

5.在打开的终端中运行以下命令,即可进行计算

module load apps/anaconda3/3-2023.09
source activate af2
module load apps/singularity/3.9.9
python /public/software/AlphaFold2/alphafold-git/docker/run_alphafold232.py \
    --fasta_paths <测试文件路径> \
    --output_dir <输出结果路径> \
    --db_preset=reduced_dbs \
    --model_preset=multimer

6.新建一个终端并登录至计算节点,使用 nvidia-smi 命令即可查看GPU显卡使用状态

../../../_images/nv-smi.png

测试样例

测试文件路径:/public/software/share/case/alphafold/test.fasta

测试命令:

# 激活环境
module load apps/anaconda3/3-2023.09
source activate af2
module load apps/singularity/3.9.9
# 创建结果保存路径
mkdir -vp $HOME/alp-test/res
# 启动计算
python /public/software/AlphaFold2/alphafold-git/docker/run_alphafold232.py \
    --fasta_paths /public/software/share/case/alphafold/test.fasta \
    --output_dir $HOME/alp-test/res-1 \
    --db_preset=reduced_dbs \
    --model_preset=multimer

Contributor:B君、qbxie


最后更新: 2025 年 06 月 30 日