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

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 installsudo nvidia-smi --gpu-resetnvidia-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.mrgr.cn/news/71881.html

相关文章:

  • 「Mac玩转仓颉内测版23」基础篇3 - 深入理解整数类型
  • DevOps-Jenkins-新手入门级
  • NVR接入录像回放平台EasyCVR视频融合平台加油站监控应用场景与实际功能
  • HarmonyOs鸿蒙开发实战(20)=>一文学会基础使用组件导航Navigation
  • LLM Inference Unveiled
  • 开源宝藏:Smart-Admin 重复提交防护的 AOP 切面实现详解
  • Nous Chat:AI 领域的又一惊艳之作,未来潜力不可忽视
  • 【Python Tips】Python内置函数isinstance——检测数据类型:处理多种类型的输入参数(对比type)
  • C/C++ 模板与so
  • 十六、多版本并发控制
  • 【大数据测试HBase数据库 — 详细教程(含实例与监控调优)】
  • 速盾:CDN和OBS能共用流量包吗?
  • 解决MySQL中整型字段条件判断禁用不生效的问题
  • excel常用技能
  • 电商系统表的1-n如何设计?情景分析
  • 基于Multisim温度计温度测量检测测量系统电路(含仿真和报告)
  • 【AI日记】24.11.12 东京贫困女子读后感 | 未来学习工作时间分配
  • Python模块练习2(dict)
  • arcgis for js实现popupTemplate弹窗field名称和值转义
  • MySQl基础----Linux下数据库的密码和数据库的存储引擎(内附 实操图和手绘图 简单易懂)
  • PCL 点云分割 基于超体素的分割
  • 线上问题的排查之MySQL死锁如何排查
  • 25浙江省考-专项刷题(资料分析)-错题本
  • 力扣 LeetCode 142. 环形链表II(Day2:链表)
  • 字节青训-多米诺骨牌均衡状态、红包运气排行榜
  • SQL练习(2)