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

参考资料

官方文档

### 如何在服务器上安装配置 AlphaFold3 #### 准备工作 为了成功部署 AlphaFold3,在服务器环境中需先确认满足最低硬件需求并完成必要的软件环境搭建。由于Colab平台存在内存和运行时间的局限性,对于较大规模的数据处理,尤其是超过1000氨基酸长度的蛋白质结构预测,建议利用本地服务器资源[^1]。 #### 软件依赖项设置 确保操作系统是最新的Linux发行版之一(如Ubuntu)。接着,通过包管理器更新现有程序至最新版本,并安装Python 3.x以及pip工具。这些基础组件是执行后续操作的前提条件。 #### 获取AlphaFold3源码 随着AlphaFold3正式开源的消息公布之后,开发者可以从官方GitHub仓库克隆项目代码到本地机器上[^2]。具体命令如下: ```bash git clone https://github.com/deepmind/alphafold.git cd alphafold ``` #### 创建虚拟环境与安装库文件 推荐创建独立的Python虚拟环境来隔离不同项目的依赖关系。激活新建立好的venv后,按照README文档中的指示使用`requirements.txt`安装所需的第三方模块。 ```bash python3 -m venv env source env/bin/activate pip install --upgrade pip pip install -r requirements.txt ``` #### 数据集下载与预处理 根据实际应用场景准备相应的输入数据集,并参照官方指南对原始FASTA序列或其他形式的数据做适当转换以便于模型读取解析。这一步骤可能涉及多条指令链调用脚本辅助完成自动化流程。 #### 配置参数调整优化 深入研究默认配置选项之外可自定义的部分,比如GPU加速支持开关、线程数设定等细节之处。合理规划计算资源配置有助于提高整体性能表现。 #### 启动服务端应用实例 最后一步就是启动AlphaFold3的服务进程了。通常情况下会采用nohup或screen等方式让其后台持续稳定运行而不受终端连接状态影响。 ```bash nohup python run_alphafold.py --fasta_paths=your_input_file.fasta & ```
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值