使用conda非docker非root安装alphafold2.3.2
(alphafold2.3.2 2023.11.14)
- 从github克隆项目
git clone https://github.com/deepmind/alphafold.git
cd ./alphafold
- 建立环境并安装包
建立环境python==3.10(对alphafold2.3.2来说,使用python3.8会报错)
conda create -n alphafold python=3.10
进入alphafold项目目录
cd alphafold
pip install *
注:我用的numpy为1.22版本,scipy =1.11,pandas=2.1
conda 安装 cuda和cudnn,pip安装jax与jaxlib
nvidia-smi #查看允许的最高cuda版本
conda install cuda=12.0
conda install cudnn=8.9
pip install -U "jax[cuda12_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
- 下载一些应该在docker构建时下载的文件
wget -P alphafold/common/ https://git.scicore.unibas.ch/schwede/openstructure/-/raw/7102c63615b64735c4941278d92b554ec94415f8/modules/mol/alg/src/stereo_chemical_props.txt --no-check-certificate
建立run_alphafold.sh(以下两种方法二选一)
(1)(需要自己改一下路径和参数)从 https://github.com/kalininalab/alphafold_non_docker 下个run_alphafold.sh(以下使用sh文件都是使用这个sh文件)
/
(2)(每次运行时需要指定的参数有亿点点多)根据docker/Dockerfile构建run_alphafold.sh
cd ..
echo $'#!/bin/bash\n\
ldconfig\n\
python alphafold/run_alphafold.py "$@"' > run_alphafold.sh \
&& chmod +x run_alphafold.sh
运行测试文件
python run_alphafold_test.py
缺啥下啥
conda install -c conda-forge pdbfixer
#安装openmm并测试功能
conda install -c conda-forge openmm
conda install -c conda-forge gcc=12.1.0
python -m openmm.testInstallation
conda install mock
运行测试文件
- 安装依赖的软件hhsuite和kalign
kalign从github上下载,编译(kalign应该也可以用conda装,但我没装上)
conda install -y -c bioconda hmmer hhsuite==3.3.0 kalign2
- 随便使用什么方法下载数据库,10个数据库放在一个文件夹里
如果能用aria2c的话可以用alphafold自己提供的脚本
bash scripts/download_all_data.sh
- 测试
bash run_alphafold.sh -d $dataset_path -o $outputpath -f test.fa -m multimer -t 2020-05-14 -c full_dbs
报错提示缺啥下啥……
报错记录
(1)ModuleNotFoundError: No module named ‘tensorflow.compat’ 等一系列tensorflow和keras问题——————》 tensorfllow和keras一系列包版本不匹配!!!必须是同一版本 ,统一选择2.12版本
(2)Unable to initialize backend ‘cuda’: Found cuDNN version 8800, but JAX was built against version 8904, which is newer. The copy of cuDNN that is installed must be at least as new as the version against which JAX was built. /cuDNN / cuSlove
是jax与cuda版本不匹配
pip install -U "jax[cuda12_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
(3)RuntimeError: HHblits failed
一定能解决的方法:-c full_dbs ——》 -c reduced_dbs
可能能解决的方法(未测试):增大可用的内存 重新下载 HH Suite 数据库