跳转至

alphafold

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

项目地址: https://github.com/deepmind/alphafold

alphafold它的基本原理是:

alphafold首先将蛋白质序列转换为一个HMM(隐马尔可夫模型),并利用多序列比对和进化信息来计算每个残基对之间的距离和角度。

alphafold然后使用一个神经网络来预测蛋白质的三维结构,根据残基对之间的距离和角度约束来优化结构的能量和一致性。

alphafold最后可以选择是否对预测的结构进行松弛(relaxed),即使用分子动力学模拟来调整结构的局部细节,使其更符合物理规律。

relaxed和unrelaxed的区别主要在于:

relaxed的结构经过了松弛处理,因此更接近于实验观测到的结构,也更适合进行结构分析和功能预测。

unrelaxed的结构没有经过松弛处理,因此可能存在一些原子间的冲突或不合理的键角,也更容易受到预测误差的影响。

relaxed的结构需要更多的计算时间和资源,因此在某些情况下,unrelaxed的结构可能更快速或更方便地获得。

自行安装

安装文档

参考 https://github.com/kalininalab/alphafold_non_docker

使用

#BSUB -J alphafold
#BSUB -n 1
#BSUB -o %J.out
#BSUB -e %J.err
#BSUB -q gpu
#BSUB -m gpu01

cd alphafold-2.2.0
source activate alphafold
bash run_alphafold.sh -d /share/database/alphafold_data -o alphafold_out -f test.fa -t 2021-11-01 -n 20 -m monomer

使用镜像

可按下面的lsf作业模板使用,一般需要的更改的参数只有--fasta_paths--output_dir,分别是输入文件和结果输出目录。

因为GPU资源较少,如果数据量较少、GPU资源紧张时,也可以将alphafold作业提交到非GPU队列,下面为GPU队列作业模板和非GPU队列作业模板。

GPU队列

默认情况下,用户无GPU队列使用权限,若需要使用请参照 GPU节点使用

gpu02节点因为GPU卡型号较老,测试中发现alphafold未能在该节点运行成功。下面模板中将作业交到了gpu01节点。

#BSUB -J alphafold
#BSUB -n 1
#BSUB -o %J.out
#BSUB -e %J.err
#BSUB -q gpu
#BSUB -m gpu01

module load Singularity/3.7.3

singularity exec --nv --bind /share/database/:/mnt/ $IMAGE/alphafold/2.2.2.sif python /app/alphafold/run_alphafold.py \
--data_dir=/mnt/alphafold_data  \
--bfd_database_path=/mnt/alphafold_data/bfd/bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt  \
--uniclust30_database_path=/mnt/alphafold_data/uniclust30/uniclust30_2018_08/uniclust30_2018_08 \
--uniref90_database_path=/mnt/alphafold_data/uniref90/uniref90.fasta \
--mgnify_database_path=/mnt/alphafold_data/mgnify/mgy_clusters_2018_12.fa \
--pdb70_database_path=/mnt/alphafold_data/pdb70/pdb70 \
--template_mmcif_dir=/mnt/alphafold_data/pdb_mmcif/mmcif_files \
--obsolete_pdbs_path=/mnt/alphafold_data/pdb_mmcif/obsolete.dat \
--output_dir=alpha_out \
--fasta_paths=test.fa \
--max_template_date=2021-11-01 \
--model_preset=monomer 

非GPU队列

#BSUB -J alphafold
#BSUB -n 1
#BSUB -o %J.out
#BSUB -e %J.err
#BSUB -q normal

module load Singularity/3.7.3

singularity exec --nv --bind /share/database/:/mnt/:ro $IMAGE/alphafold/2.2.2.sif python /app/alphafold/run_alphafold.py \
--data_dir=/mnt/alphafold_data  \
--bfd_database_path=/mnt/alphafold_data/bfd/bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt  \
--uniclust30_database_path=/mnt/alphafold_data/uniclust30/uniclust30_2018_08/uniclust30_2018_08 \
--uniref90_database_path=/mnt/alphafold_data/uniref90/uniref90.fasta \
--mgnify_database_path=/mnt/alphafold_data/mgnify/mgy_clusters_2018_12.fa \
--pdb70_database_path=/mnt/alphafold_data/pdb70/pdb70 \
--template_mmcif_dir=/mnt/alphafold_data/pdb_mmcif/mmcif_files \
--obsolete_pdbs_path=/mnt/alphafold_data/pdb_mmcif/obsolete.dat \
--output_dir=alpha_out \
--fasta_paths=test.fa \
--max_template_date=2021-11-01 \
--model_preset=monomer 

benchmark

一条蛋白序列,大约250bp。

>ghd7
MSMGPAAGEGCGLCGADGGGCCSRHRHDDDGFPFVFPPSACQGIGAPAPPVHEFQFFGNDGGGDDGESVAWLFDDYPPPSPVAAAAGMHHRQPPYDGVVAPPSLFRRNTGAGGLTFDVSLGERPDLDAGLGLGGGGGRHAEAAASATIMSYCGSTFTDAASSMPKEMVAAMADDGESLNPNTVVGAMVEREAKLMRYKEKRKKRCYEKQIRYASRKAYAEMRPRVRGRFAKEPDQEAVAPPSTYVDPSRLELGQWFR
队列运行时间(s)最大内存(MB)
gpu452313711
normal3230515024

深入学习

蛋白质结构预测

Alphafold2: 如何应用AI预测蛋白质三维结构 视频报告

AlphaFold2: 原理、应用和未来

colabfold

ColabFold 是 Sergey Ovchinnikov 等人开发的快速蛋白结构预测软件,使用 MMseqs2 替代 MSA,能够快速精准预测包含复合体在内的蛋白结构。项目地址:https://github.com/sokrypton/ColabFold

具体使用见集群文档 colabfold

RoseTTAFold

RoseTTAFold使用三轨神经网络预测蛋白的结构和相互作用,相对于AlphaFold,RoseTTAFold的精度虽有所降低,但其运行所需的内存和运行时间大大降低。

具体使用见集群文档 RoseTTAFold

intel open-omics-alphafold

open-omics-alphafold为intel官方在intel xeon cpu上优化过的alphafold,推理过程基于intel第4代可扩展处理器(sapphire rapids)AVX512 FP32 和 AMX-BF16,加速效果堪比NVIDIA A100。

具体安装使用见集群文档 open-omics-alphafold

与原版alphafold2比较

软件硬件运行时间(s)最大内存(MB)
alphafold2CPU(intel 6150)23230515024
alphafold2GPU(P100)452313711
open-omics-alphafoldCPU(intel 6150)499621668
本文阅读量  次
本站总访问量  次