(资料图片)
目录介绍环境安装CMAKE安装hmmer安装HHsuite安装Kalign安装OpenMM安装PDBfixer安装Python依赖包安装AlphaFold安装AlphaFold报错处理后续介绍AlphaFlod2作为最近在生物领域非常的火的AI,给生物医药领域带来了划时代的影响,许多研究者都开始尝试使用AlphaFold2介入各自的工作。
但是由于AlphaFold2涉及到了很多模块和细节,在我安装过很多次之后(踩过很多坑之后),希望通过这篇文章让大家能够无痛的安装和使用AlphaFold2。
环境Linux(Ubuntu)cmake=3.23python=3.9/3.10
安装CMAKE安装CMAKE下载地址CMAKE的安装包有Source Distribution 和 Binary Distribution两个版本,前者需要用户自己编译安装,后者是已经编译好的可执行程序
# 查看Linux系统位数getconf LONG_BIT# 编译安装# 根据系统位数下载源码tar -xvf cmake-version.tarcd cmake-version./bootstrap makemake 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.gztar zxf hmmer.tar.gzcd hmmer-3.3.2./configure --prefix=/usr/bin/ # 可自定义安装路径,如果未安装到系统目录下,则需要在安装完成之后,把安装目录加入PATH环境变量中makemake check # optional: run automated testsmake 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.gitmkdir -p hh-suite/build && cd hh-suite/buildcmake -DCMAKE_INSTALL_PREFIX=/usr/local/bin ..make -j 4 && make install# 测试安装是否成功hhblits -h
注意:请通过编译的方式安装hhsuite否则在使用该模块时可能会出现奇怪的问题
Kalign安装Kalign安装包下载
tar -zxvf kalign-.tar.gzcd kalign-mkdir build cd buildcmake .. make make test make install
OpenMM安装# 编译安装git clone https://github.com/openmm/openmm.gitmkdir build && cd buildccmake ../openmmmake && sudo make installpip install --user numpy cythonmake 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-pypip install --user biopythonpip install --user git+https://github.com/deepmind/dm-haikupip install --user dm-treepip install --user immutabledictpip install --user jaxpip install --user "jax[cuda11_cudnn82]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.htmlpip install --user ml_collectionspip install --user numpypip install --user pandaspip install --user matplotlibpip install --user sonnetpip install --user scipypip install --user tensorflowpip install --user tqdm# 通过Alphafold提供的requirements文件安装pip install --user -r requirements.txt
AlphaFold安装AlphaFold# 克隆AlphaFold库git clone https://github.com/deepmind/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# 数据库安装## 下载全部数据库./scripts/download_all_data.sh ## 如果你的硬盘空间不足,也可以尝试只下载reduced database./scripts/download_all_data.sh reduced_dbs# 创建结果存储目录mkdir ./output# 使用reduced DB运行AlphaFold Demopython ./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 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.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 \ --uniclust30_database_path=$DOWNLOAD_DIR/uniclust30/uniclust30_2018_08/uniclust30_2018_08 \ --model_preset=monomer \ --pdb70_database_path=$DOWNLOAD_DIR/pdb70/pdb70# $DOWNLOAD_DIR=数据库安装路径, 可以是任意位置
报错处理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
No module named "simtk.openmm.app.internal"
请看另一篇博客有具体的解决方案:解决方法
GnuTLS recv error (-110): The TLS connection was non-properly terminated
Copyright @ 2015-2023 港澳晚报网版权所有 备案号: 京ICP备2023022245号-31 联系邮箱:435 226 40 @qq.com