前言:
AlphaFold2在CASP14蛋白质结构预测关键评估大赛中夺得第一名的好成绩,其预测的大部分结构达到了空前的准确度,与实验方法(X-ray、冷冻电镜、核磁共振)不相上下,其成绩也远超其它的选手。
目前,AlphaFold2的源代码已经在GitHub上公开,而且现在科学家正在利用AlphaFold2对已有的蛋白数据库进行高通量的预测,建立了一些模式生物物种所有蛋白的AlphaFold2预测结构数据库(https://alphafold.ebi.ac.uk/,如图1)。
可以看到,虽然利用AlphaFold2预测了这么重要模式生物的数据库,但是并未覆盖所有的蛋白序列数据库,而且目前其它提供AlphaFold2预测服务的网站貌似国内的用户使用不了,所以只有搭建本地的AlphaFold2服务,你才能用AlphaFold2随心所欲的预测自己研究蛋白的结构。接下来教你们如何安装AlphaFold2。(本文建议有Linux基础的人食用,非战斗人员除非你非常非常走运,否则过程中肯定会无法解决其中的报错问题。)
一、介绍配置要求
该团队在Google云服务器上做测试时用的配置:
CPU:12核
内存:85 GB
boot disk:100 GB(这个应该用来安装系统和环境)
硬盘:3 TB
显卡:A100 一块
看了这个配置,你是不是直接放弃了,硬盘3T,但是如果你用reduced_dbs(这个是简化的数据库),那么至少也得有600 GB的硬盘空间。
我自己的配置:
CPU:Intel Xeon Gold 5215
内存:251 GB
系统:CentOS 7.6
硬盘:87 TB
显卡:NVIDIA GeForce RTX 2080Ti 四块
这个配置是足够满足要求的,OK,下一步下载程序相关的文件。
个人要求:
会Linux基础知识,熟悉Linux环境下软件包的安装,熟悉脚本程序运行
二、下载程序需要的数据库、程序和模型
首先你得准备个比较大的硬盘空间,至少得有三个TB左右,然后把github上面这个包给下载到一个目录(如果GitHub打不开,速度慢,可以去gitee上面找到AlphaFold2项目),然后进入scripts这个文件夹里面,运行命令download_all_data.sh <下载目录>,然后程序会自动进行下载。(运行前请确保电脑可以正常上网,下载会用到两个工具aria2和rsync),这个过程大概会下载438GB的文件,得等待很长时间,如果断网的话,你还得把其它的都删掉,重新下载。我不介意直接运行这个主程序,可以利用多台机器分个下载。当然你也可以用在windows上提前用迅雷这种工具下载好,然后在拷贝到服务器上面去解压。利用迅雷下载的话你可以把scripts文件当做文本文件打开,里面会有下载的链接,除了pdb_mmcif 这个文件之外,其它的都是可以使用迅雷下载,为什么这个文件不行?因为pdb网站并没有提供压缩的mmcif数据库文件,每个都是小文件,必须得用同步的方式把pdb服务器上面的数据库同步到本地才行,这一步建议直接在安装目录上去操作单独脚本下载,不然到时候拷贝和压缩以及解压要花大力气,这个文件夹里面有18万个cif文件,你仔细琢磨琢磨。
下载完成后,你得解压,不同后缀的压缩文件解压命令不一样,可以自行去百度一下Linux下各种压缩文件的解压缩命令,解压后关注每个文件夹文件大小和文件名是否与上面这张图中列出来的一致。另外,注意!bfd文件夹和small_bfd这两个文件夹是互斥的,大文件夹里面只留一个,bfd是完整的数据库而small_bfd是简化的数据库,如果你的磁盘不够,你就下后者。271.6 GB的bfd文件你就别下了。
三、安装docker和NVIDIA Container Toolkit
在经历了漫长的下载过程之后,终于可以开始了安装环境了,当然你可以在windows上用迅雷下载数据库的同时来进行这一步。
1、安装docker
docker是什么?为什么使用docker?请自行百度。
怎么下载安装docker?
参考:https://www.docker.com/,以及网络上其它的一些教程。
2、安装NVIDIA Container Toolkit
参考:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html
这个里面有详细的教程,不过有点难度,不同的机器不一样,请自行解决。
3、测试是否成功
root权限运行:docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
如果你看到如下图的一个表格,证明你成功了。
备注:我在安装这个的时候很痛苦,这边要求cuda的版本在11.0,但是机器上cuda的版本是10.1,所以我升级了cuda的版本,但是显卡驱动的版本和cuda的版本不一样,会报错,说内核和软件的版本不一样,然后我又去升级显卡的驱动,升级驱动过程中还遇到包依赖的问题,但是最后通过我不断的百度,还是解决了这些。这一步是整个安装过程中最头疼的问题,不同的Linux会报不同的错,所以我也不确定你们在安装过程中会出现什么问题,所以遇到这些问题你们还是自己去百度一下报错信息看看怎么解决,有的报错百度不到,所以还是建议有Linux经验的人来安装这部分。
四、运行AlphaFold2
做完了以上几个步骤,接下来就是激动人心的环节了,运行AlphaFold2!
1、配置输入输出文件夹路径
首先你得配置一下输入和输出目录,打开docker文件夹下的run_docker.py脚本,然后把其中的DOWNLOAD_DIR参数改成fasta文件夹的输入目录,把output_dir后面改为输出结果的路径(最好是绝对路径)。
2、build一下docker镜像文件
docker build -f docker/Dockerfile -t alphafold .
3、安装python虚拟环境
如果你使用python3,并且机器里面有pip3,你可以直接:
pip3 install -r docker/requirements.txt
备注:不过我还是建议你使用python的虚拟环境,如果你之后用你的python干其它的事的话,你会发现有的包版本太高还是太低,如果你换了这些包的版本,或者不小心升级了一些包,那么你的AlphaFold2就运行不了了。
4、运行AlphaFold2
python3 docker/run_docker.py --fasta_paths=输入序列文件完整路径 --max_template_date=2020-05-14 --preset=[reduced_dbs、full_dbs、casp14]
参数讲解:
fasta_paths:预测蛋白质fasta文件的文件名
max_template_date:如果你预测蛋白在pdb里面,而你不想用这个pdb做模板,你就用这个日期来限制使用该pdb做模板,这个日期应该早于这个蛋白结构的release date
preset:时间和预测质量的均衡考虑:reduced_dbs最快,但是质量最差,full_dbs中等,casp14质量最好但时间是full_dbs的八倍左右。
5、运行结果
运行结束后,在你的output_dir中会生成一系列文件,其它的不说,其中ranked_0到4就是AlphaFold2预测出来的分数最高的五个模型,0是最好的,可信度依次往下。然后你就可以打开pymol查看的你蛋白的文件了。
(2021-8-11)
(版权所有,禁止一切转载!)