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) |
---|---|---|
gpu | 4523 | 13711 |
normal | 32305 | 15024 |
深入学习¶
Alphafold2: 如何应用AI预测蛋白质三维结构 视频报告
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) |
---|---|---|---|
alphafold2 | CPU(intel 6150) | 232305 | 15024 |
alphafold2 | GPU(P100) | 4523 | 13711 |
open-omics-alphafold | CPU(intel 6150) | 4996 | 21668 |
本站总访问量 次