AlphaFold2与蛋白质三维结构-使用方法

接着上期的AlphaFold2出现《AlphaFold2与蛋白质三维结构-背景介绍》之前,针对蛋白质结构预测领域的一些成就。其实在AlphaFold2出现之前,已经有不少相对成功的算法和应用出现了,但是真正使AlphaFold2一战封神的,还是其对代码的开源,这使得更多的普通用户可以在本地实现蛋白质结构的预测。

因此,本期为大家介绍一下AlphaFold2如何使用。


1. 准备工作

1.1 AlphaFold2 下载

首先通过AlphaFold2的github页面下载其的代码。当然,由于大家都知道的原因,我国绝大多数用户应该是直接下载不到的。大家可以通过本站下载页面,进行下载。

1.2 镜像准备

下载完成后,用户可以选择手动安装,也可以选择采用制作Docker镜像的方式完成。手动安装需要面对很多Python库的依赖关系,因此难度相对较高。用户可以按照其内部说明的,其中有DockerFile,因此可以直接配置完整的镜像资源。

[root@Cc3Apc alphafold-main]# ll
total 70
drwxr-xr-x 6 root root  4096 Aug  4 16:20 alphafold
-rw-r--r-- 1 root root   973 Jul 30 17:47 CONTRIBUTING.md
drwxr-xr-x 2 root root  4096 Aug 26 18:55 docker
drwxr-xr-x 2 root root  4096 Jul 30 17:47 imgs
-rw-r--r-- 1 root root 11358 Jul 30 17:47 LICENSE
drwxr-xr-x 2 root root  4096 Aug  4 16:19 notebooks
-rw-r--r-- 1 root root 20129 Jul 30 17:47 README.md
-rw-r--r-- 1 root root   193 Jul 30 17:47 requirements.txt
-rw-r--r-- 1 root root 12081 Jul 30 17:47 run_alphafold.py
-rw-r--r-- 1 root root  2432 Jul 30 17:47 run_alphafold_test.py
drwxr-xr-x 2 root root  4096 Aug 26 18:56 scripts
-rw-r--r-- 1 root root  1829 Jul 30 17:47 setup.py
[root@Cc3Apc alphafold-main]# cd docker/
[root@Cc3Apc docker]# ll
total 13
-rw-r--r-- 1 root root 3029 Jul 30 17:47 Dockerfile
-rw-r--r-- 1 root root 1859 Jul 30 17:47 openmm.patch
-rw-r--r-- 1 root root   80 Jul 30 17:47 requirements.txt
-rw-r--r-- 1 root root 7236 Jul 30 17:47 run_docker.py
[root@Cc3Apc docker]# docker build ./
...

用户也可以通过极道的DockerHub源进行获取Docker image,如下:

[root@Cc3Apc docker] dokcer pull www.xtaohub.com:8280/mpitools/alphafold:latest

1.3 GPU 配置

AlphaFold2 可以通过GPU进行硬件加速,因此 对 GPU使用CUDA 11.0 库。因此需要在宿主机上存在对应的库.可以参考英伟达官方的安装手册。安装时需要注意相应硬件。

1.4 数据库下载

AlphaFold2 运行时需要下载相关数据库。可以通过AlphaFold2 提供的整体下载方案进行下载。完整版的参考库,大概有2.2T左右(感慨一下:人工智能领域果然是数据[量]领航啊…)。当然发布者也贴心的为翘首企盼、一睹风采的广大用户提供了删节版数据库,如果存储资源有限,请联系极道的销售人员…

其数据库主要包括以下内容:

数据库名称说明
UniRef90uniprot数据库
MGnify针对微生物、宏基因组的蛋白序列库
BFD全称为Big Fantastic DataBase 是DeepMind团队自己构建的数据库
Uniclust30一个蛋白家族数据库
PDB70蛋白结构数据库
PDB (structures in the mmCIF format)蛋白结构数据库

编者按:这部分我觉得是AlphaFold2最有技术含量的部分,比上述数据库涵盖更多序列的数据库也是存在的,但是数据质量一般不高(例如:NCBI)


2. 运行AlphaFold2

2.1 默认运行方式

AlphaFold2可以通过本地运行和基于Docker的调度运行两种方式,

python3 docker/run_docker.py --fasta_paths=T1050.fasta --max_template_date=2020-05-14

2.2 采用 WDL 提交 AlphaFold2

用户可以直接通过WDL 进行任务提交,尤其对于系统中有多个节点配置GPU的用户而言,无需了解底层配置,即可使用GPU 进行AlphaFold2 计算。其WDL脚本如下

task run_alphafold2 {
    File fasta
    String alphafold2_out
    command{
        python3 run_alphafold.py --fasta_paths ${fasta} --output_dir ${alphafold2_out}   
    }
    output{
        File alphafold2_result = ${alphafold2_out}
    }
    runtime{
        gpu:"2"
        gpumem:"1G"
        cpu:"2"
        memory:"5G"
        docker:"alphafold:latest"
    }
}
...

任务提交相关内容可以参考Achelous 平台使用指南中的内容。

发表评论

匿名网友

拖动滑块以完成验证