AlphaFold2无痛安装教程(超级详细)

介绍

AlphaFlod2作为最近在生物领域非常的火的AI,给生物医药领域带来了划时代的影响,许多研究者都开始尝试使用AlphaFold2介入各自的工作。

但是由于AlphaFold2涉及到了很多模块和细节,在我安装过很多次之后(踩过很多坑之后),希望通过这篇文章让大家能够无痛的安装和使用AlphaFold2。

环境

Linux(Ubuntu)
cmake=3.23
python=3.9/3.10

安装

CMAKE安装

CMAKE下载地址
CMAKE的安装包有Source Distribution 和 Binary Distribution两个版本,前者需要用户自己编译安装,后者是已经编译好的可执行程序

# 查看Linux系统位数
getconf LONG_BIT

# 编译安装
# 根据系统位数下载源码
tar -xvf cmake-version.tar
cd cmake-version
./bootstrap 
make
make install

# 测试安装是否成功
cmake -h

hmmer安装

# 通过软件仓库安装
sudo apt install hmmer                     # Linux (Ubuntu, Debian...)
sudo dnf install hmmer                     # Linux (Fedora)
sudo conda install -c biocore hmmer        # Anaconda

# 编译安装(未测试)
wget http://eddylab.org/software/hmmer/hmmer.tar.gz
tar zxf hmmer.tar.gz
cd hmmer-3.3.2
./configure --prefix=/usr/bin/ # 可自定义安装路径,如果未安装到系统目录下,则需要在安装完成之后,把安装目录加入PATH环境变量中
make
make check                 # optional: run automated tests
make install               # optional: install HMMER programs, man pages
(cd easel; make install)   # optional: install Easel tools

# 测试安装是否成功
jackhmmer -h

HHsuite安装

# 编译安装
git clone https://github.com/soedinglab/hh-suite.git
mkdir -p hh-suite/build && cd hh-suite/build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/ ..
make -j 4 && sudo make install

# 测试安装是否成功
hhblits -h

注意:请通过编译的方式安装hhsuite否则在使用该模块时可能会出现奇怪的问题

Kalign安装

Kalign安装包下载

tar -zxvf kalign-<version>.tar.gz
cd kalign-<version>
mkdir build 
cd build
cmake .. 
make 
make test 
make install

OpenMM安装

# 编译安装
## 需提前安装 swig, doxygen
sudo apt install swig
sudo apt install doxygen
## 安装openmm
git clone https://github.com/openmm/openmm.git
cd ./openmm
mkdir build && cd build
cmake ..
make && sudo make install
sudo pip install numpy cython
sudo make PythonInstall

# 使用conda安装(未测试)
conda install -c conda-forge openmm
# 如果使用conda的版本大于4.8.4,则conda可以根据你的cuda编译一个适合你cuda版本的OpenMM,且支持特定的cuda版本
conda install -c conda-forge openmm cudatoolkit=10.0

# 验证OpenMM是否安装成功
python -m openmm.testInstallation

PDBfixer安装

pip install git+http://github.com/openmm/pdbfixer.git

Python依赖包安装

# 手动安装
pip install --user absl-py
pip install --user biopython
pip install --user git+https://github.com/deepmind/dm-haiku
pip install --user dm-tree
pip install --user immutabledict
pip install --user jax
pip install --user "jax[cuda12_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
pip install --user ml_collections
pip install --user numpy
pip install --user pandas
pip install --user matplotlib
pip install --user sonnet
pip install --user scipy
pip install --user tensorflow
pip install --user tqdm

# 通过Alphafold提供的requirements文件安装(不推荐)
pip install --user -r requirements.txt

AlphaFold安装

AlphaFold

# 克隆AlphaFold库
git clone https://github.com/deepmind/alphafold
cd alphafold

# stereo_chemical_props.txt下载
wget -P alphafold/alphafold/common/ https://git.scicore.unibas.ch/schwede/openstructure/-/raw/7102c63615b64735c4941278d92b554ec94415f8/modules/mol/alg/src/stereo_chemical_props.txt

# 数据库安装
## 下载全部数据库
## 经过实测,最新版本的AlphaFold=2.3.2的下载数据脚本可以稳定下载数据
./scripts/download_all_data.sh <DOWNLOAD_DIR>

## 如果你的硬盘空间不足,也可以尝试只下载reduced database
./scripts/download_all_data.sh <DOWNLOAD_DIR> reduced_dbs

# 创建结果存储目录
mkdir ./output

# 使用reduced DB运行AlphaFold Demo(无法使用)
#python ./run_alphafold.py \
#  --fasta_paths=test_sequence.fasta \
#  --max_template_date=2020-05-14 \
#  --model_preset=monomer \
#  --db_preset=reduced_dbs \
#  --data_dir=$DOWNLOAD_DIR \     
#  --output_dir=./output

# 使用full DB运行AlphaFold 
# 注意到AlphaFold=2.3.2最新的版本对数据库进行了更新,导致一些参数发生了变化
# uniclust30的库取消,取而代之的是uniref30
python ./run_alphafold.py \
  --fasta_paths=test_sequence.fasta \
  --output_dir=./output \
  --data_dir=$DOWNLOAD_DIR
  --uniref90_database_path=$DOWNLOAD_DIR/uniref90/uniref90.fasta \
  --mgnify_database_path=$DOWNLOAD_DIR/mgnify/mgy_clusters_2022_05.fa \
  --template_mmcif_dir=$DOWNLOAD_DIR/pdb_mmcif/mmcif_files/ \
  --max_template_date=2020-05-14 \
  --obsolete_pdbs_path=$DOWNLOAD_DIR/pdb_mmcif/obsolete.dat \
  # 如果GPU显存不是很大不建议开启relax,会超显存
  --run_relax=false \
  --use_gpu_relax=false \
  --db_preset==full_dbs \
  --bfd_database_path=$DOWNLOAD_DIR/bfd/bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt \
  --uniref30_database_path=$DOWNLOAD_DIR/uniref30/UniRef30_2021_03 \
  --model_preset=monomer \
  --pdb70_database_path=$DOWNLOAD_DIR/pdb70/pdb70

# $DOWNLOAD_DIR=数据库安装路径, 可以是任意位置
# 请注意:每个版本的Alphafold的参数有可能不一样(因为Alphafold一直在保持更新),请根据run_alphafold.py中的参数说明和Alphafold的github文档进行各自调整!!!

报错处理

  1. cuda_error_out_of_memory
    如果GPU的型号在比较老,显存小于6G,使用最新版本的jax可能会出现out of memory错误,只需要回退jax和jaxlib的版本到0.3.15即可
pip install --user jax==0.3.15 jaxlib==0.3.15+cuda11.cudnn82 -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
  1. No module named ‘simtk.openmm.app.internal’
    请看另一篇博客有具体的解决方案:解决方法

  2. GnuTLS recv error (-110): The TLS connection was non-properly terminated

    • 查看是否开启代理,取消所有代理
    • Github服务器的问题,只需要不断尝试即可

一键安装

很高兴的是AlphafoldInstallation库完成了部分开发,已经支持一键安装依赖软件和Python包。并且该库支持AlphaFold最新版本v2.3.2. 如果这个库对你有帮助,希望大家可以给个star,谢谢!

后续

  • 后续有空也会出有关AlphaFold2的论文精读
  • 如有错误请留言或私信指出,如遇到问题也可以评论留言或者私信看到会及时回复(持续修订博客错误)
  • 16
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 41
    评论
AlphaFold2的安装可以通过两种方式进行。第一种是使用Docker进行安装,具体可以参考AlphaFold的GitHub页面,其中提供了详细安装指南和步骤\[1\]。另一种方式是非Docker安装,需要按照一系列指南进行安装。首先,确保你的环境是Linux(Ubuntu),并且安装了CMake(版本3.23)和Python(版本3.9或3.10)\[2\]。接下来,按照以下步骤进行安装安装CMake、安装hmmer、安装HHsuite、安装Kalign、安装OpenMM、安装PDBfixer、安装Python依赖包以及安装AlphaFold\[3\]。在安装过程中可能会遇到一些报错,可以参考相关文档进行处理。完成安装后,你就可以使用AlphaFold2了。希望这个安装教程能够帮助你顺利地安装和使用AlphaFold2。 #### 引用[.reference_title] - *1* [AlphaFold2源码解析(1)--安装使用](https://blog.csdn.net/weixin_42486623/article/details/128079363)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [AlphaFold2无痛安装教程(超级详细)](https://blog.csdn.net/qq_39415941/article/details/128919047)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 41
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值