AlphaFold3中文安装教程

1. 推荐配置

配置项推荐规格
操作系统Linux
硬盘空间> 1TB(存放数据库)
内存> 64 GB(长输入会在基因搜索阶段消耗大量内存)
NVIDIA显卡计算能力*>=8.0
NVIDIA显卡内存取决于输入,如 80 GB 的 A100/H100 可处理多达5120个tokens(氨基酸等)的输入。

*计算能力(Compute Capability)是 NVIDIA 显卡的一个技术指标,描述了 GPU 支持的功能和性能特性。通过 官网 可以查询显卡计算能力。

2. 安装说明

安装说明适用于安装了 NVIDIA A100 80 GB GPU 和 Ubuntu 22.04 LTS 的机器。其它配置的用户也可参考。

1)配置机器(云或本地)

以下命令演示了如何在谷歌云GCP上配置一台新机器。

gcloud compute instances create alphafold3 \
    --machine-type a2-ultragpu-1g \    #选择A2 Ultra规格*;对于小预测,也可用a2-highgpu-1g
    --zone us-central1-a \             #选择有配额的区域即可
    --image-family ubuntu-2204-lts \   #指定操作系统为 Ubuntu 22.04 LTS
    --image-project ubuntu-os-cloud \
    --maintenance-policy TERMINATE \
    --boot-disk-size 1000 \
    --boot-disk-type pd-balanced

*A2 Ultra规格:12 CPUs,170 GB内存,1 TB硬盘,NVIDIA A100 80 GB GPU。

2)安装 Docker

以下命令演示了在Ubuntu 22.04机器上以非root权限的方式安装docker。

# Add Docker's official GPG key
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to apt sources
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker run hello-world

# Enabling Rootless Docker
sudo apt-get install -y uidmap systemd-container
sudo machinectl shell $(whoami)@ /bin/bash -c 'dockerd-rootless-setuptool.sh install && sudo loginctl enable-linger $(whoami) && DOCKER_HOST=unix:///run/user/1001/docker.sock docker context use rootless'

3)为 A100 安装 NVIDIA 驱动程序

以下命令演示了安装 NVIDIA 驱动。

sudo apt-get -y install alsa-utils ubuntu-drivers-common
sudo ubuntu-drivers install

sudo nvidia-smi --gpu-reset

nvidia-smi  # Check that the drivers are installed.

①如果出现 “Pending kernel upgrade” 对话框,请接受。
②如果看到以下警告,需要使用 sudo reboot now 重启实例以重置 GPU:
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

以下命令演示了安装 NVIDIA 对 Docker 的支持。

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
nvidia-ctk runtime configure --runtime=docker --config=$HOME/.config/docker/daemon.json
systemctl --user restart docker
sudo nvidia-ctk config --set nvidia-container-cli.no-cgroups --in-place

#检查容器是否支持GPU
#docker run --rm --gpus all nvidia/cuda:12.6.0-base-ubuntu22.04 nvidia-smi

4)获取代码库和基因数据库★

首先,下载 AlphaFold3 代码库。

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

AlphaFold3 的运行依赖以下多个基因(序列)蛋白质和 RNA 数据库。

数据库大小描述
BFD small~272 GBBFD 是通过对 25 亿个蛋白质序列聚类而创建的
MGnify微生物来源的核酸序列
PDB (mmCIF)PDB 收集了蛋白结构的实验数据
PDB seqres见上
UniProtuniprot存储蛋白的序列、功能等多种注释信息
UniRef90UniRef 提供来自 UniProtKB 的序列聚类
NTNCBI核苷酸序列库
RFamRfam:RNA 家族的集合
RNACentralRNAcentral:ncRNA序列数据库

然后,调用fetch_databases.py下载上述数据库。该脚本从GCS上镜像下载的数据库,所有版本均与 AlphaFold3论文中使用的版本相同。

cd alphafold3
python3 fetch_databases.py --download_destination=<DATABASES_DIR>

①下载目录 <DATABASES_DIR> 不应该是 AlphaFold3 代码库目录下的子目录。否则 Docker 构建速度会很慢,因为大型数据库会在镜像创建过程中被复制。
②完整数据库的下载总大小 ~252 GB,解压缩后的总大小为 ~630 GB。请确保有足够的硬盘空间、带宽和时间进行下载。建议使用固态硬盘,以获得更好的基因搜索性能和更快的运行速度。建议在screentmux会话中运行,因为下载和解压数据需要一些时间。
③如果下载目录和数据集没有完整的读写权限,可能会导致 MSA 工具出错,出现晦涩的(外部)错误信息。请确保应用了所需的权限,如使用 sudo chmod 755 --recursive <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)获取模型参数☆

AlphaFold3模型参数需要填写 表单 申请,由 DeepMind 自行决定是否授权。通常在 2-3 个工作日内回复请求。

6)构建 AlphaFold3 的 Docker 镜像★

以下命令演示了如何构建Docker镜像。

docker build -t alphafold3 -f docker/Dockerfile .

镜像构建完成后,运行AlphaFold3

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

参考资料

官方文档

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值