在北极星集群使用alphafold和pymol

一、在北极星集群运行alphafold2和结构展示

2023-05-02 21:29:12 admin 1967

在北极星集群运行alphafold2:

一、创建并进入lustre3文件夹(lustre1/2/4  gpfs1/2/3,运行比较慢)

mkdir /lustre3/groupname/yourname

二、单GPU执行:

四卡GPU:alphafold-g4c  your.fasta 

双卡GPU:alphafold-g2c  your.fasta  

 --------------------------------------------------------------------

例如: alphafold-g4c  1tce.fasta

daemo:

1、1TCE daemo:运行命令: alphafold-g4c  daemo_1tce

    daemo pdb文件 在example/1tce.pdb  图片关键词1tce.pdb(点击下载  ,fasta文件 https://www.rcsb.org/fasta/entry/1TCE/display  )

2、运行自带的daemo:   alphafold-g4c  daemo

one GPU maybe better!!   lustre3  maybe better!!!!!!!!!!!

三、更多 GPU 使用(不建议使用!!!大序列>1200以上未必能快,详细见后面表格): 

双卡:alpha_more_gpu-g4c 2 1tce.fasta

三卡: alpha_more_gpu-g4c 3 1tce.fasta

四卡: alpha_more_gpu-g4c 4 1tce.fasta

双卡服务器双卡: alpha_more_gpu-g2c 2 1tce.fasta

四、生成的文件:

第一次运行,比如alphafold-g4c  daemo_1tce

1、会拷贝生成alphafold_yourname_time的文件夹,如alphafold_chen_064041

2、生成job.srp+时间的文件,多个结构预测建议修改后直接提交(sbatch job.srp+时间)这样可能会快很多很多第一次生成文件后删掉提交任务就可以直接改用自己修改后的提交脚本

[chenfj@login12 test2]$ cat job.srp074306

#!/bin/bash

#SBATCH -J alp074306

#SBATCH -p gpu_4l

#SBATCH -N 1 

#SBATCH -o alp074306_%j.out

#SBATCH -e alp074306_%j.err

#SBATCH --no-requeue

#SBATCH -A chen_g1

#SBATCH --qos=cheng4c

#SBATCH --gres=gpu:1

#SBATCH --overcommit

#SBATCH --mincpus=7

hosts=`scontrol show hostname $SLURM_JOB_NODELIST` ;echo $hosts

echo CUDA_VISIBLE_DEVICES=$CUDA_VISIBLE_DEVICES

data=/lustre3/alphafold/alphafold-main/scripts

#data=/lustre3/alphafold/alphafold-main/scripts 

#data=/lustre2/alphafold-main/scripts 

#data=/gpfs1/files_share/alphafold/alphafold-main/scripts 

source /appsnew/source/Miniconda3-py38_4.10.3-alphafold.sh

cd /lustre3/chen/alphafold/test/test2/alphafold_chen_074305

time bash run_alphafold.sh -d  $data   -o /lustre3/chen/alphafold/test/test2/alphafold_chen_074305/dummy_1tce.fasta/ -m model_1 -f /lustre3/chen/alphafold/test/test2/alphafold_chen_074305/example/1tce.fasta -t 2021-07-30 -g -a $CUDA_VISIBLE_DEVICES 

.........

##############

注释一:其中data为所下载的各种文件,在哪个文件系统运行就会对应哪个文件系统,比如这次运行在lustre3上就是/lustre3/alphafold/alphafold-main/scripts

注释二:run_alphafold.sh可以更改的:

见链接:https://github.com/kalininalab/alphafold_non_docker

注释三:使用GPU比CPU快1倍,1tce的案例单卡GPU运行时间为20分钟左右(2-4卡也是20分钟),CPU运行时间是37分钟左右

注释四:输出在err,里面有总速度和每步速度

注释五:多个结构预测的时候,可以在 job.srp074306的........处加入所需要的结构提交比如,这样第二次以后的计算会快很多很多

time bash run_alphafold.sh -d  $data   -o /lustre3/chen/alphafold/test/test2/alphafold_chen_074305/dummy_1shc.fasta/ -m model_1 -f /lustre3/chen/alphafold/test/test2/alphafold_chen_074305/example/1shc.fasta -t 2021-07-30 -g -a $CUDA_VISIBLE_DEVICES

.........

注意改红色的字体,第二次计算的时候会快很多:

改后的文件为job.srp074306:

#!/bin/bash

#SBATCH -J alp074306

#SBATCH -p gpu_4l

#SBATCH -N 1 

#SBATCH -o alp074306_%j.out

#SBATCH -e alp074306_%j.err

#SBATCH --no-requeue

#SBATCH -A chen_g1

#SBATCH --qos=cheng4c

#SBATCH --gres=gpu:1

#SBATCH --overcommit

#SBATCH --mincpus=7

hosts=`scontrol show hostname $SLURM_JOB_NODELIST` ;echo $hosts

echo CUDA_VISIBLE_DEVICES=$CUDA_VISIBLE_DEVICES

data=/lustre3/alphafold/alphafold-main/scripts

#data=/lustre3/alphafold/alphafold-main/scripts 

#data=/lustre2/alphafold-main/scripts 

#data=/gpfs1/files_share/alphafold/alphafold-main/scripts 

source /appsnew/source/Miniconda3-py38_4.10.3-alphafold.sh

cd /lustre3/chen/alphafold/test/test2/alphafold_chen_074305

time bash run_alphafold.sh -d  $data   -o /lustre3/chen/alphafold/test/test2/alphafold_chen_074305/dummy_1tce.fasta/ -m model_1 -f /lustre3/chen/alphafold/test/test2/alphafold_chen_074305/example/1tce.fasta -t 2021-07-30 -g -a $CUDA_VISIBLE_DEVICES

time bash run_alphafold.sh -d  $data   -o /lustre3/chen/alphafold/test/test2/alphafold_chen_074305/dummy_1shc.fasta/ -m model_1 -f /lustre3/chen/alphafold/test/test2/alphafold_chen_074305/example/1shc.fasta -t 2021-07-30 -g -a $CUDA_VISIBLE_DEVICES

########################

然后使用sbatch提交 sbatch job.srp074306

注释六:

Usage: run_alphafold.sh

Required Parameters:

-d     Path to directory of supporting data

-o   Path to a directory that will store the results.

-m  Names of models to use (a comma separated list)

-f   Path to a FASTA file containing one sequence

-tMaximum template release date to consider (ISO-8601 format - i.e. YYYY-MM-DD). Important if folding historical test sets

Optional Parameters:

-b    Run multiple JAX model evaluations to obtain a timing that excludes the compilation time, which should be more indicative of the time required for inferencing many

    proteins (default: 'False')

-g      Enable NVIDIA runtime to run with GPUs (default: 'True')

-a  Comma separated list of devices to pass to 'CUDA_VISIBLE_DEVICES' (default: 'all')

-p       Choose preset model configuration - no ensembling (full_dbs) or 8 model ensemblings (casp14) (default: 'full_dbs')


3、/lustre3/chen/alphafold/test/test2/alphafold_chen_074305/example下有pdb结构文件1tce.pdb

4、结果文件夹在/lustre3/chen/alphafold/test/test2/alphafold_chen_074305/dummy_1tce.fasta/下

/
  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

参考:https://github.com/deepmind/alphafold

5、可以使用pymol比较1tce.pdb和 ranked_{0,1,2,3,4}.pdb去align

下载链接:http://221.216.6.54:808/sys_bio_lib/software/pymol/

6、在 /lustre3/groupname/yourname/alphafold_yourname_time/alphafold/data/tools/_ 下

比如 /lustre3/chen/alphafold/test/test2/alphafold_chen_074305/alphafold/data/tools/

hhblits.py

hhsearch.py

hmmbuild.py

hmmsearch.py

jackhmmer.py

kalign.py

utils.py

可以修改这几个文件里面的参数。比如jackhmmer.py:

  def __init__(self,

               *,

               binary_path: str,

               database_path: str,

               n_cpu: int = 8,

               n_iter: int = 1,

               e_value: float = 0.0001,

               z_value: Optional[int] = None,

               get_tblout: bool = False,

               filter_f1: float = 0.0005,

               filter_f2: float = 0.00005,

               filter_f3: float = 0.0000005,

               incdom_e: Optional[float] = None,

               dom_e: Optional[float] = None,

               num_streamed_chunks: Optional[int] = None,

               streaming_callback: Optional[Callable[[int], None]] = None):


7、更多GPU,不建议使用!

两个卡   alpha_more_gpu-g4c 2 1tce.fasta

其他:

 or: alpha_more_gpu-g4c 3 1tce.fasta

 or: alpha_more_gpu-g4c 4 1tce.fasta

 or: alpha_more_gpu-g2c 2 1tce.fasta

8、daemon_1tce和结果展示:

在lustre3上,用1个GPU卡跑是20分钟,用默认CPU跑是37分钟

在lustre3你的文件夹下运行:

alphafold-g4c  daemo_1tce

结果见上面描述:

图片关键词

浅棕色是1TCE的晶体结构,青色是预测的结构。在lustre3上,用1个GPU卡跑是20分钟,用默认CPU跑是37分钟

9,不能超过一个蛋白链:

如:

>2JO9_1|Chain A|Itchy E3 ubiquitin protein ligase|Mus musculus (10090)
GAMGPLPPGWEKRTDSNGRVYFVNHNTRITQWEDPRS
>2JO9_2|Chain B|Latent membrane protein 2|null
EEPPPPYED

More than one input sequence found in /lustre3/chen/alphafold/test/test2/alphafold_chen_005/2JOV.fasta


五、多个测试结果,从100个氨基酸到2470个氨基酸的结构:

图片关键词

绿色是2JO9的晶体结构,青色是预测的结构 pse文件图片关键词2jo9.zip

图片关键词

绿色是3FDT的晶体结构,青色是预测的结构 pse文件图片关键词3fdt.zip

图片关键词

绿色是3DGL的晶体结构,青色是预测的结构 pse文件图片关键词3dgl.zip



图片关键词

图片关键词

绿色是3B2U的晶体结构,青色是预测的结构 pse文件图片关键词3b2u.zip

图片关键词

绿色是3B2U的晶体结构,青色是预测的结构 pse文件图片关键词3b2u.zip




图片关键词

绿色是3AY6的晶体结构,青色是预测的结构 pse文件图片关键词3ay6.zip


plk1 PTB 3DB6:

图片关键词


绿色是3DB6的晶体结构,青色是预测的结构 pse文件图片关键词3db6.zip

图片关键词

绿色是1OFG的晶体结构,青色是预测的结构 pse文件图片关键词1ofg.zip


图片关键词

绿色是1MUU的晶体结构,青色是预测的结构 pse文件图片关键词1muu.zip

图片关键词

绿色是1E7M的晶体结构,青色是预测的结构 pse文件图片关键词1e7m.zip



图片关键词

绿色是2V5P的晶体结构,青色是预测的结构  pse结构 图片关键词2v5p.zip


图片关键词

绿色是1CF3的晶体结构,青色是预测的结构  pse结构图片关键词1cf3.zip



图片关键词

绿色是6HN1的晶体结构,青色是预测的结构  pse结构 图片关键词6hn1.zip

图片关键词

绿色是4A5S的晶体结构,青色是预测的结构  pse结构 图片关键词4a5s.zip



图片关键词

图片关键词

绿色是4ANU的晶体结构,青色是预测的结构,划圈的是补充的结构。  pse结构图片关键词4anu.zip


图片关键词


图片关键词


绿色是6EQC的晶体结构,青色是预测的结构  pse结构图片关键词6eqc.zip

图片关键词


绿色是7LZH的晶体结构,青色是预测的结构pse文件下载 图片关键词71zh.zip

图片关键词

绿色是5L6H的晶体结构,青色是预测的结构,几个连接出比较好,pse文件下载图片关键词5l6h.zip


图片关键词

绿色是2F18的晶体结构,青色是预测的结构pse文件下载图片关键词2f18.zip


图片关键词

图片关键词

绿色是1G9A的晶体结构,青色是预测的结构,箭头所指示的是不能叠合的原因,α螺旋改变方向。pse文件下载图片关键词1g9a.zip

图片关键词

绿色是1T3T的晶体结构,青色是预测的结构pse文件下载图片关键词1t3t.zip

 

图片关键词

图片关键词

绿色是5KIS的晶体结构,青色是预测的结构pse文件下载 图片关键词5kis.zip

图片关键词

绿色是6MU1的晶体结构,青色是预测的结构pse文件下载图片关键词6mu1.zip


PDB 2JO9
3FDT3DGL
1TCE 3B2U3POV3AY6
3DB61OFG
1MUU1E7M
2V5P1CF3
aa number336082108225
229270
298382
437
486493584
CPUs(4/7)669248
20637(Min)
8376402451193222
130
245258
1GPU(Min)188694/47119521
5761
244216118108
58
37/175121
2GPU(Min)225199190204861243
216981066029118
3GPU(Min)206
1981952045
4925621699795933110
4GPU(Min)2082181952157552432168585583298
大致评价5分4.8554.74.6
4.7
54.84.94.854.04.9
原因完全β折叠CPU比单GPU快!补齐了两端β折叠为主骨架

β折叠比较多

β折叠比较多

天知道为毛跑这么久

序列短不一定时间短

特别小

比较完美

β折叠比较多α螺旋相对多
可以看见1000氨基酸以内 1卡GPU的计算和多卡还是没有本质区别,序列长短并不是明显决定计算时间的因素,更多的是结构的复杂性和库里的文件多少。α螺旋结构多的比较准确,几乎是β折叠的会差些。GPU加速方面,序列越长相对加速越明显比如6EQC,基本上都有一倍以上的提升,但是速度变化范围比较大,见下划线和后面表格三。红蓝相间为GPU提速比较明显的,4倍以上。

接上表

PDB 6HN14A5S
4ANU
6EQC7LZH5L6H3D4Y2F181G9A4XWK1T3T5KIS5URK6MU1
aa number610741
833953960102910461046
129112951304149217392740
CPUs(4/7)276
740963
379




失败

失败
1GPU(Min)83/167329
233/21052165132
185
180200tensor proto  larger than 2GB89351
not find 233 match states in seq606
2GPU(Min)80325209
61155139113191191105349737
3GPU(Min)66
3262074915710014811617877344353
4GPU(Min)67323232601531218675171148321393

大致评价

5分

4.94.95
4.93.754.9
4.94.34.94.7
4.5
原因α螺旋多β折叠较多,但好
补齐了loop等结构不,补齐了loop分子大loop多几个连接出比较好结构同2F18α螺旋占一半多很大部分不能叠合内存超了!大部分α螺旋
有部分折叠变 螺旋
补了不少结构,
可以看见1000氨基酸以内 1卡GPU的计算和多卡还是没有本质区别,序列长短并不是明显决定计算时间的因素,更多的是结构的复杂性和库里的文件多少。α螺旋结构多的比较准确,几乎是β折叠的会差些。GPU加速方面,序列越长相对加速越明显比如6EQC,基本上都有一倍以上的提升,但是速度变化范围比较大,见下划线和后面表格。红蓝相间为GPU提速比较明显的。

PDB 结构 1TCE的结果波动也是很大表格三

图片关键词


首页
资源&收费
集群
成果
问答