Skip to main content

AlphaFold2

AlphaFold2 基于深度神经网络预测蛋白质形态,能够快速生成高精确度的蛋白质 3D 模型。以往花费几周时间预测的蛋白质结构,AlphaFold2 在几小时内就能完成。

注意事项:

  • 运行AlphaFold 作业需要选择单卡的GPU机型,多卡GPU没有加速效果。
  • 对于序列长度1000以下的序列,建议选择虎鲸(V100)机型,1000以上的序列选择蓝鲸(A100)机型。
  • 通用1区v100机型内存92G,通用2区v100机型内存40G,建议优先选择通用1区的v100,以免运行过程中内存不够导致任务失败。
  • 对于长度过长、结构过于复杂的序列,受限于实际选择的GPU显卡性能和Alphafold2程序问题,不保证一定能输出正常的计算结果。
  • 输入文件名不能有特殊符号和空格
  • 提交的文件第一行为标题,第二行为序列,序列为大写字母,序列之间不能有空格或换行符
  • 模板提交一次上传多个序列文件,会启动多个计算节点,每个计算节点对应一个序列文件。

单体结构输入文件示例:

>sequence_1
GSDNGFGSSKATSGSDFGGLAIFDGSGSEHFGHSDTHGSFDGLFGVDFZILSQQLKS

如果是多聚体结构,输入文件示例:

>sequence_1
FADGAFGSGSDFSGFHGFGGHSRADGGTGFDGDFSNGLFNGFGVLTFSDERGESGFDGFFDSGSFQGKFDOFJOWFJODJOAISJFDOAFJOADFJOAIFJOAFJDOASFJOIDASFJOAFJDOAFJOIDSFJDOSFJDOASFJOIDASJ
>sequence_2
GSDNKDSKATSEREACGLAIFSKQHGFSHSDFGSFFILQFDSAFQLKSKFDOASFJAPOFJDPAISFJPAFJKAPF

一. 模板提交

AlphaFold 使用模板提交,会根据上传的输入文件个数,启动对应数量的作业节点。如:上传5个输入文件,硬件配置选择节点数量为1提交作业,默认会启动5个作业节点同时计算,相应的以5个节点的价格进行计费;相比于串行提交,以相同的成本节约了计算的时间。

Step 1. 在应用中心搜索AlphaFold软件,点击提交作业-选择模板提交;

Step 2.选择可视化模板提交;

Step 3. 上传序列文件(.fasta格式),选择运行模式(单体选择monomer,多聚体选择multimer),db_preset 参数 控制 MSA 速度/质量权衡;reduced精度较低,计算时间更短,full精度较高,计算时间更长;

Step 4. 选择GPU硬件配置虎鲸1卡(v100-1)

Step 5. 查看作业内容汇总,并提交作业;

Step 6. 执行成功或者失败还是执行中的作业,可以通过左侧菜单栏作业管理中点击查看或者取消作业;

二. 命令行提交

通过SSH连接创建并连接管理节点

Step 1. 创建作业目录并进入;

mkdir alphafoldJob1
cd alphafoldJob1

Step 2. 通过文件传输上传所需的输入文件test.fasta,详情请查看Linux数据传输

Step 3. 在该文件夹下创建如下执行脚本alphafold.sh

#!/bin/bash
#赋予输出结果的目录读写权限
chmod -R 770 /home/cloudam/alphafoldJob1

#初始化程序运行环境
module add Anaconda3
PROGRAM=/public/software/.local/easybuild/software/alphafold
cd $PROGRAM/alphafold-2.3.2
docker load < alphafold.tar
pip install -r docker/requirements.txt

#假设该test.fasta里是多聚体
python docker/run_docker.py \
--fasta_paths=/home/cloudam/alphafoldJob1/test.fasta \
--max_template_date=2021-11-01 \
--model_preset=multimer \
--data_dir=$PROGRAM/data \
--output_dir=/home/cloudam/alphafoldJob1

Step 4. 提交作业;

提交任务到带有一张V100卡的GPU节点运行。

sbatch -p g-v100-1 -c 10  alphafold.sh

查看作业运行情况及参数详细介绍请点击查看slurm命令

结果文件下载请查看Linux数据传输

三. 结果文件介绍

正常的计算结果应包含有以下文件结构:

<target_name>/
features.pkl
ranked_{0,1,2,3,4}.pdb
ranking_debug.json
relaxed_model_{1,2,3,4,5}.pdb
result_model_{1,2,3,4,5}.pkl
timings.json
unrelaxed_model_{1,2,3,4,5}.pdb
msas/
bfd_uniclust_hits.a3m
mgnify_hits.sto
uniref90_hits.sto

其中ranked_0到4就是AlphaFold2预测出来的分数最高的五个模型,0是最好的,可信度依次往下,详细介绍请查看:

四. 使用PyMOL对结果进行图形化展示

Step 1. 应用中心搜索PyMOL;

Step 2. 点击提交作业,选择图形界面提交;

Step 3. 启动PyMOL,选择硬件配置并启动;

Step 4. 通过VNC连接启动的linux工作站,使用软件;