前言
在笔者之前的博文中已经介绍过了在线使用Alphafold的方法,参见:
【实用教程】使用AlphaFold2进行蛋白质结构在线预测
但colab毕竟是免费为大家提供服务器资源,所以可供使用的内存和运行时间都是有限的,一般预测1000氨基酸以上的蛋白质服务器内存就已经不足了。因此对于有本地服务器资源的同学,可以使用本地服务器来运行Alphafold,进行更长的蛋白质结构预测。
安装
这里的安装同样使用ColabFold,ColabFold相比于原版的AlphaFold占用空间更少,功能也基本跟原版一样,因此推荐使用。
安装来源:LocalColabFold
(后续教程也主要参考该网址)
下面以linux系统为例介绍安装过程:
确认gcc版本大于等于4.9,因为在4.9版以后gcc才带有GLIBCXX_3.4.20
$ gcc --version
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copyright © 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
激活conda:
$ conda activate
建议新建一个专门的文件夹,并cd到该目录下:
$ cd /home/username/alphafold
将安装脚本下载到该目录下:
$ wget https://raw.githubusercontent.com/YoshitakaMo/localcolabfold/main/install_colabbatch_linux.sh
运行安装:
$ bash install_colabbatch_linux.sh
在运行过程中让你选yes的你就选yes就好。这个LoaclColabFold还会再额外给你安装一个conda环境,这个conda是专门用来跑LocalColabFold的,在安装过程中有一次机会可以修改安装路径,建议一同修改到与LocalColabFold同一目录下而不是使用默认路径。
后续使用的时候如果出现报错Module Name Not Found: PDBfixer
的,直接使用conda安装 一个即可:
conda install -c conda-forge pdbfixer
使用步骤
将需要预测的蛋白质序列放到一个表格中,表格以csv(逗号分隔符)格式保存,可以通过excel另存为得到。
表分为两列,第一列为预测的蛋白质名字,第二列为序列,并带有表头。如果需要预测蛋白复合物则以英文冒号:
分隔两条序列即可。如:
id | sequence |
---|---|
protein1 | MAHHHHHGGSSLLIIA |
protein2 | MAHHHHHGGSSLLIIA:MAHHHHHGGSSLLIIA |
将该csv文件传到服务器上,建议放到跟LocalColabFold同一目录下。
首先cd到安装了LocalColabFold的文件夹中:
cd /home/username/alphafold
激活LocalColabFold安装的conda:
conda activate colabfold_batch/colabfold-conda
运行LocalColabFold:
colabfold_batch --amber --num-recycle 3 --num-model 3 inputfile.csv outputdir/
其中num-recycle
和num-model
分别指单个模型的循环数和预测的结构数,用的数量越高运行相对也会越慢。
inputfile.csv和outputdir则对应输入文件名和输出结果所存储的目录。
预测完成后直接下载输出文件夹中的文件即可。
预测长度限制主要受服务器配置,尤其是GPU内存大小限制,根据个人经验,预测1000个氨基酸长度的序列大概需要3.5G的GPU内存,2500个氨基酸长度的序列大概需要64G的GPU内存。当用户输入的序列长度超过服务器可承受范围时,LocalColabFold则会报错并退出运行。