批量动力学模拟
注意全都需要在类linux平台上进行
安装Desmond模块:
https://github.com/Wang-Lin-boop/Schrodinger-Script
安装AutoMD模块:
Wang-Lin-boop/CADD-Scripts: Scripts for virtual screening, cross docking and protein relax using Schrödinegr and Rosetta (github.com)
安装Viparr和Msys
# 下载并上传至集群个人home的software中
wget https://github.com/DEShawResearch/viparr/releases/download/4.7.35/viparr-4.7.35-cp38-cp38-manylinux2014_x86_64.whl
wget https://github.com/DEShawResearch/msys/releases/download/1.7.337/msys-1.7.337-cp38-cp38-manylinux2014_x86_64.whl
git clone git://github.com/DEShawResearch/viparr-ffpublic.git
git clone https://github.com/Wang-Lin-boop/AutoMD# 进入desmond工作目录,启动虚拟环境以帮助安装Viparr和Msys
cd /fsa/home/ljx_zhangzw/software
./run schrodinger_virtualenv.py schrodinger.ve
source schrodinger.ve/bin/activate
pip install --upgrade pip
pip install msys-1.7.337-cp38-cp38-manylinux2014_x86_64.whl
pip install viparr-4.7.35-cp38-cp38-manylinux2014_x86_64.whl
echo "export viparr=${PWD}/schrodinger.ve/bin" >> ~/.bashrc# 将viparr-ffpublic.git解压并添加到环境变量:echo "export VIPARR_FFPATH=${PWD}/viparr-ffpublic/ff" >> ~/.bashrc# 最后,将AutoMD.git解压并进行安装,同时指定可自动添加补充力场:
cd AutoMD
echo "alias AutoMD=${PWD}/AutoMD" >> ~/.bashrc
chmod +x AutoMD
source ~/.bashrc
cp -r ff/* ${VIPARR_FFPATH}/
示例
#注意修改相应计算节点和软件路径信息
#BSUB -L /bin/bash
#BSUB -q 83a100ib
#BSUB -m m001module load cuda/12.0.0
export Desmond=/fsa/home/ljx_zhangzw/
export viparr=/fsa/home/ljx_zhangzw/schrodinger.ve/bin
export VIPARR_FFPATH=/fsa/home/ljx_zhangzw/viparr-ffpublic/ff
alias AutoMD=/fsa/home/ljx_zhangzw/AutoMD/AutoMDecho $PATH
echo $LD_LIBRARY_PATH
nvidia-smi
env|grep CUDAAutoMD -i "*.mae" -S OUC -P "chain.name A" -L "res.ptype UNK" -F "OPLS_2005" -T 298 -s 10 -H m001 -G m001
Alphafold3
代码协议
源代码协议:CC NC-SA 4.0协议:
- 仅用于非商业用途
- 不允许使用af3的输出训练机器学习模型或者相关技术,来衍生大分子结构预测的模型,包括蒸馏或其他方法
- 分发输出或者发布相关研究结果时,必须引用文献:
Abramson, J et al. Accurate structure prediction of biomolecular interactions with AlphaFold 3. Nature (2024).
获取模型参数
填写表单以获取权重文件,将在2-3个工作日内回复.
注意:必须要是学术邮箱。可能超过1周才回复。
安装af3
硬件需求:
- 需要在linux上运行,不支持其他操作系统.
- 完整安装需要1TB以上的磁盘空间,以保存基因数据库
- 需要算力超过8.0的NVIDIA GPU,显存越大,可以预测越大的蛋白结构
- 最多5120长度的序列可以在单个NVIDIA A100 80GB或H100 80GB上运行.已经验证了在A100和H100上的数值精确性
- 基因搜索消耗大量内存,推荐内存至少64GB
docker安装
见官方文档:alphafold3/docs/installation.md at main · google-deepmind/alphafold3 (github.com)
ubuntu22.04LTS和conda安装
# 更新系统,配置系统环境
sudo apt update --quiet
sudo apt install --yes --quiet software-properties-common
sudo apt install --yes --quiet git wget build-essential gcc g++ zlib1g zlib1g-dev curl zstd # fish ,可选安装# 安装miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh # 下载miniconda
chmod +x ./Miniconda3-latest-Linux-x86_64.sh # 给miniconda安装脚本赋予可执行权限
./Miniconda3-latest-Linux-x86_64.sh # 运行miniconda安装脚本
# 在交互模式下,回车;
# 按q翻页;输入yes同意协议;
# 输入你想要放置miniconda的路径,直接回车将默认为~/miniconda3;
# 输入yes激活conda环境变量,完成miniconda的安装
bash # 重新打开bash,可以看到(base)标识,说明conda的base环境已激活
# conda init fish # 可选,激活fish的conda环境
# fish# 创建conda环境
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple # pip换加速源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge # conda换加速源
conda config --set custom_channels.auto https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/
git config --global url."https://github.moeyy.xyz/https://github.com".insteadOf https://github.com # github换加速源,如果加速无效,换一个[加速网点](https://fcp7.com/github-mirror-daily-updates.html);如果要提交PR给github,建议将~/.gitconfig中对应两行注释掉
conda config --set show_channel_urls yes# 克隆代码,安装其他依赖
git clone https://github.com/google-deepmind/alphafold3.git ~/git_develop/af3 #克隆路径自行选择,不指定路径则在运行命令的目录创建alphafold3文件夹
cd ~/git_develop/af3
conda create -n af3 python=3.11 # af3在python3.11上通过测试
conda activate af3 # 激活af3环境
conda install -c bioconda hmmer # 安装hmmer
pip install -r dev-requirements.txt
pip install . --no-deps # --verbose 可选,如果安装出错,使用verbose选项查看具体错误
build_data # 构建cif数据库
python run_alphafold_test.py # 由于暂时没有模型参数,仅序列搜索测试成功# jax库GPU检测测试
python
import jax
jax.devices()
# 返回结果中包含cuda表明jax正确检测到了GPU设置
from jax.lib import xla_bridge
xla_bridge.get_backend().platform
# 返回结果中包含gpu表明jaxlib正确检测到了GPU设置
# CTRL+D退出# 基因(序列)数据库下载,极其耗时,推荐使用SSD存储,加快下载和序列搜索的速度
# 压缩包大小252GB,解压后为630GB
python fetch_databases.py --download_destination=存放数据库的路径
sudo chmod 755 --recursive 存放数据库的路径 # 给MSA工具提供权限
环境变量设置
> 终端环境变量配置: 使用任意文本编辑器,打开`~/.bashrc`,添加下面内容并保存
export XLA_FLAGS="--xla_gpu_enable_triton_gemm=false"
export XLA_PYTHON_CLIENT_PREALLOCATE=true
export XLA_CLIENT_MEM_FRACTION=0.95
> 如果使用fish终端,则打开`~/.config/fish/config.fish`,添加下面内容并保存set XLA_FLAGS "--xla_gpu_enable_triton_gemm=false"
set XLA_PYTHON_CLIENT_PREALLOCATE true
set XLA_CLIENT_MEM_FRACTION 0.95
运行预测
## 运行预测
# run_alphafold需要提供1个json文件,例如`alphafold_input.json`:{"name": "2PV7","sequences": [{"protein": {"id": ["A", "B"],"sequence": "GMRESYANENQFGFKTINSDIHKIVIVGGYGKLGGLFARYLRASGYPISILDREDWAVAESILANADVVIVSVPINLTLETIERLKPYLTENMLLADLTSVKREPLAKMLEVHTGAVLGLHPMFGADIASMAKQVVVRCDGRFPERYEWLLEQIQIWGAKIYQTNATEHDHNMTYIQALRHFSTFANGLHLSKQPINLANLLALSSPIYRLELAMIGRLFAQDAELYADIIMDKSENLAVIETLKQTYDEALTFFENNDRQGFIDAFHKVRDWFGDYSEQFLKESRQLLQQANDLKQG"}}],"modelSeeds": [1],"dialect": "alphafold3","version": 1
}# 然后运行:python run_alphafold.py \--json_path=输入文件路径/fold_input.json \--model_dir=模型参数路径 \--output_dir=结果输出路径# 参数模型和输出路径自行调整
# 使用`python run_alphafold.py --help`查看其他选项