当前位置: 首页 > article >正文

AlphaFold3中文安装教程

目录

  • 1. 推荐配置
  • 2. 安装说明
    • 1)配置机器(云或本地)
    • 2)安装 Docker
    • 3)为 A100 安装 NVIDIA 驱动程序
    • 4)获取代码库和基因数据库★
    • 5)获取模型参数☆
    • 6)构建 AlphaFold3 的 Docker 镜像★
  • 参考资料

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

参考资料

官方文档


http://www.kler.cn/a/390953.html

相关文章:

  • 数据结构-集合
  • 记录学习react的一些内容
  • 【学习】【HTML】HTML、XML、XHTML
  • 客户案例 | 如何利用Ansys工具提供互联系统(以及系统的系统),从而使“软件定义汽车”成为可能
  • Flink CDC(SQL Client)连接 MySQL 数据库教程
  • uniapp的基本使用(easycom规范和条件编译)和uview组件的安装和使用
  • Unity类银河战士恶魔城学习总结(P117 Ice And Fire Item Effec 制作一把冰火属性的剑)
  • 练习题 - Django 4.x WWW 网址使用示例和配置方法
  • Git推送报错Authentication failed
  • 深入探讨钉钉与金蝶云星空的数据集成技术
  • 在linux上搭建一个nodejs服务_全流程
  • 如何将交叉编译配置在环境变量中
  • arcgis for js实现popupTemplate弹窗field名称和值转义
  • 【MySQL 保姆级教学】事务的自动提交和手动提交(重点)--上(13)
  • 【开源免费】基于SpringBoot+Vue.JS宠物咖啡馆平台(JAVA毕业设计)
  • uniapp的基本使用(easycom规范和条件编译)和uview组件的安装和使用
  • 天地图入门|标注|移动飞行|缩放,商用地图替换
  • 自动化新时代:机器取代工作,我们该如何重塑自我?
  • 企业级工位管理:Spring Boot解决方案
  • 自媒体素材10个4K分辨率Premiere胶片漏光划痕特效视频转场过渡模板
  • 【Python3】【力扣题】414. 第三大的数
  • 代码随想录算法训练营第二十天|39. 组合总和、40.组合总和II、131.分割回文串
  • [MySQL]隐式类型转换
  • 为何数据库推荐将IPv4地址存储为32位整数而非字符串?
  • Spring学习笔记(四)
  • Java基于SpringBoot+Vue框架的宠物寄养系统(V2.0),附源码,文档