从0在自己机器上部署AlphaFold 3

学术   2024-11-14 16:30   上海  

本文介绍如何在自己本地机器上安装AlphaFold 3。

今年10月份,AlphaFold荣获诺贝尔化学奖,👉:诺贝尔化学奖授予:AI+蛋白质设计/预测方向

11月11日,Google DeepMind公司宣布,科学家们现在可以免费下载AlphaFold 3代码部署在自己机器上,并在非商业用途中使用这款AI工具,截止2024年11月13日,github已经斩获3.5k stars,


以下是正文。

  • AlphaFold 3只支持Linux操作系统。
  • 安装时,需要约1TB的磁盘空间来存储数据库(建议使用SSD存储)。
  • 需要一块拥有计算能力8.0或更高的NVIDIA GPU(具有更大显存的GPU可以预测更大的蛋白质结构)。

第1步,安装Docker

略......


第2步,为A100安装NVIDIA驱动程序

docker run --rm --gpus all nvidia/cuda:12.6.0-base-ubuntu22.04 nvidia-smi

显示类似结果说明前两步的操作正确无误,


第3步,下载AlphaFold 3源代码

git clone https://github.com/google-deepmind/alphafold3.git

第4步,下载依赖数据库

AlphaFold 3依赖大量蛋白和RNA数据库,包括“BFD small”、“MGnify”、“PDB”、“PDB seqres”、“UniProt”、“UniRef90”、“NT”、“RFam”和“RNACentral”数据库。

通过alphafold3/fetch_databases.py下载和设置这些数据库,

cd alphafold3  #alphafold3是上文步骤3的文件夹
python3 fetch_databases.py --download_destination=<DATABASES_DIR>

注意:

  • <DATABASES_DIR>不能是位于alphafold3下的一个文件夹,否则影响后续AlphaFold3 Docker image的build;
  • 依赖数据库解压后多达630 GB,需要足够的存储空间,为了防止下载过程断开,建议使用screen或者tmux;
  • 确保<DATABASES_DIR>有755权限,否则会报permissions的错误。

下载成功后,<DATABASES_DIR>文件夹下包含以下文件,

pdb_2022_09_28_mmcif_files.tar 
bfd-first_non_consensus_sequences.fasta
mgy_clusters_2022_05.fa
nt_rna_2023_02_23_clust_seq_id_90_cov_80_rep_seq.fasta
pdb_seqres_2022_09_28.fasta
rfam_14_9_clust_seq_id_90_cov_80_rep_seq.fasta
rnacentral_active_seq_id_90_cov_80_linclust.fasta
uniprot_all_2021_04.fa
uniref90_2022_05.fa

第5步,获取模型参数

AlphaFold 3的模型参数需要向Google DeepMind申请,获得权限后不能转手、不能商用、输出结果只能自己用等等,

如果要将结果发表,要遵守一大堆规则,


第6步,构建AlphaFold3 Docker容器

构建AlphaFold3 Docker容器,

docker build -t alphafold3 -f docker/Dockerfile .

现在可以使用AlphaFold 3了,

docker run -it \
    --volume $HOME/af_input:/root/af_input \
    --volume $HOME/af_output:/root/af_output \
    --volume <MODEL_PARAMETERS_DIR>:/root/models \
    --volume <DATABASES_DIR>:/root/public_databases \
    --gpus all \
    alphafold3 \
    python run_alphafold.py \
    --json_path=/root/af_input/fold_input.json \
    --model_dir=/root/models \
    --output_dir=/root/af_output

当然也可以使用Singularity替代Docker。

参考:https://github.com/google-deepmind/alphafold3


-END-
推荐阅读:

 赞、在看 就是最大的支持

pythonic生物人
分享AI、Python/R可视化、统计、科研!
 最新文章