Alphafold2/multimer本地安装+报错处理

Alphafold2本地部署常见的有两种方式:一、构建Docker镜像;二、Conda部署。 尝试了一下第一种方法碰到了无法运行(不报错,但不执行计算)的问题,加上对Docker不熟悉,所以放弃,转而选择第二种。

安装硬件设备:
CPU: 64核
磁盘: 4T
系统: Ubuntu18.04
RAM: 64G
显卡:NVIDIA GV102
CUDA版本: 11.7
显卡驱动版本:515.43.04

1、安装conda

2、配置运行环境


安装依赖
conda create --name af2 python==3.8
conda activate af2
conda install -y -c conda-forge cudatoolkit-dev  #此步缺失则会导致无法调用gpu
conda install -y -c conda-forge openmm==7.5.1 cudnn==8.2.1.32 cudatoolkit==11.0.3 pdbfixer==1.7
conda install -y -c bioconda hmmer==3.3.2 hhsuite==3.3.0 kalign2==2.04
pip install absl-py==0.13.0 biopython==1.79 chex==0.0.7 dm-haiku==0.0.4 dm-tree==0.1.6 immutabledict==2.0.0 jax==0.2.14 ml-collections==0.1.0 numpy==1.19.5 scipy==1.7.0 tensorflow==2.5.0 pandas==1.3.4 tensorflow-cpu==2.5.0
pip install --upgrade jax==0.2.14 jaxlib==0.1.69+cuda111 -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

下载alphafold v2.1.2

我所参考的文档推荐使用v2.2(https://github.com/kalininalab/alphafold_non_docker),但尝试过发现下面一部添加openmm patch出错,但更换为2.1.2则无此报错。

wget https://github.com/deepmind/alphafold/archive/refs/tags/v2.1.2.tar.gz && tar -xzf v2.1.2.tar.gz && export alphafold_path="$(pwd)/alphafold-2.1.2"
wget -q -P $alphafold_path/alphafold/common/ https://git.scicore.unibas.ch/schwede/openstructure/-/raw/7102c63615b64735c4941278d92b554ec94415f8/modules/mol/alg/src/stereo_chemical_props.txt
添加openmm patch
cd your_path/anaconda3/envs/alphafold/lib/python3.8/site-packages/ && patch -p0 < $alphafold_path/docker/openmm.patch
下载数据集
mkdir afdb
bash $alphafold_path/scripts/download_all_data.sh ./afdb #祝你的下载过程顺利

3.运行

这里有个在线的运行脚本(拷贝到本地):
https://github.com/kalininalab/alphafold_non_docker/blob/main/run_alphafold.sh

#移动脚本到alphafold根目录下
mv ./run_alphafold.sh $alphafold_path/run_alphafold.sh
cd $alphafold_path

预测单体蛋白

mkdir test/
bash run_alphafold.sh -d ../afdb -o ./test -f ./test/query.fasta -t 2022-01-01

预测复合物

bash run_alphafold.sh -d ../afdb -o ./test -f ./test/query.fasta -t 2022-01-01 -m multimer

以下是预测复合物结构fasta文件准备格式:

>sequence_1
<SEQUENCE>
>sequence_2
<SEQUENCE>

报错及解决方式

最后谈一谈安装和使用过程遇到的报错和解决措施:

#报错1:
stderr:
parse failed (sequence file ../afdb/pdb_seqres/pdb_seqres.txt):
Line 1362470: illegal character 0

#解决措施:
用文本编辑器打开pdb_seqres.txt,找到报错所在的那一行,删除之,如果后续还有类似的报错,同样应对之。


#报错2:
RuntimeError: INTERNAL: Could not find the corresponding function

#解决措施:
①脚本运行时选择参数"-g false",只在cpu上运行,但这样速度非常慢。
②确保上述命令“conda install -y -c conda-forge cudatoolkit-dev”执行无误。如果安装失败或存在包冲突,建议删掉这个虚拟环境再重新创一个,重创的环境第一个就安装cudatoolkit-dev。其余步骤不变。

建议预测序列不要过长,否则容易死机。最近尝试的1269+477的复合物结构预测,结果跑出一个结果后就卡死在那里了。
参考文章:https://github.com/kalininalab/alphafold_non_docker

在这里插入图片描述

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
03-23 1167
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

药研猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值