保姆级AlphaFold3部署教程:从零到一跑通蛋白质结构预测全流程
保姆级AlphaFold3部署教程从零到一跑通蛋白质结构预测全流程【免费下载链接】alphafold3AlphaFold 3 inference pipeline.项目地址: https://gitcode.com/gh_mirrors/alp/alphafold3AlphaFold3 是 DeepMind 开源的第三代蛋白质结构预测系统能对蛋白质、核酸、配体等复合物进行高精度结构预测。这篇教程不照搬官方文档而是从新手最关心的几个问题出发带你把硬件选型、容器化环境、遗传数据库、模型参数和首次预测运行一次走通每一步都有可照抄的命令和验证方法。动手之前先回答四个灵魂拷问很多同学一上来就急着敲命令结果要么卡在 GPU 版本不匹配要么被数据库下载量劝退。开始前先想清楚下面四个问题能帮你少走一半弯路。我的电脑真的能跑 AlphaFold3 吗AlphaFold3 的硬件门槛比想象中高先对照清单自查资源最低要求说明操作系统Linux官方仅支持 Linux其他系统需要虚拟机方案GPUNVIDIA计算能力不低于 8.0如 A100、H100显存越大能预测的结构越大显存建议 80GB已验证单张 A100/H100 80GB 可容纳约 5120 个 token 的输入内存64GB 起步遗传搜索阶段对长序列目标尤其吃内存磁盘建议 1TB SSD大头被遗传数据库占掉这里特别提醒一句要求是计算能力 8.0而非显存 8GB选卡时别搞混。官方在 A100 和 H100 上完成了数值精度验证预算允许的话直接照这个标准配。为什么推荐容器方案而不是本地直装技术上当然可以不用容器官方也给出了本地安装说明但那样你需要亲手搞定 CUDA、cuDNN 和 JAX 的版本搭配稍微错一点就是一连串玄学报错。用 Docker 或 Singularity 的好处是镜像里已经固化了全部 Python 依赖和 CUDA 运行库宿主机只需要满足一个硬条件——装好 CUDA 12.6 的驱动环境。这也是本文主推容器方案的核心理由。九大遗传数据库必须全量下载吗AlphaFold3 做 MSA 搜索时依赖的数据库包括 BFD small、MGnify、PDB mmCIF、PDB seqres、UniProt、UniRef90、NT、RFam、RNACentral 共九类。官方脚本会一次性全部拉齐下载量约 252GB解压后约 630GB。这个量级基本躲不掉所以磁盘、带宽和时间要提前规划下载前务必确认空间够用。模型参数从哪里来、要花钱吗模型参数不随源码发布需要填写官方申请表获取审批通常需要 2 到 3 个工作日。免费但必须接受使用条款且只能使用直接来自 Google DeepMind 的版本。这一环建议最先启动别等环境全搭好了才想起来排队。第一步打地基装好 Docker、驱动与 GPU 支持环境准备是翻车率最高的环节。我把整个过程拆成四小步每一步都自带验证手段出错可以立刻定位。1.1 安装 Docker CE 并启用 rootless 模式以 Ubuntu 22.04 LTS 为例先把 Docker 官方软件源接入 aptsudo 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 ar /etc/apt/keyrings/docker.asc 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能打印出欢迎信息就说明 Docker 本体没问题。接下来启用 rootless 模式让普通用户也能直接管理容器官方示例就是基于 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_HOSTunix:///run/user/1001/docker.sock docker context use rootless1.2 安装 NVIDIA 驱动推荐用系统自带的驱动管理工具省去手动挑选版本的痛苦sudo apt-get -y install alsa-utils ubuntu-drivers-common sudo ubuntu-drivers install sudo nvidia-smi --gpu-reset nvidia-smi避坑提醒如果nvidia-smi报出 NVIDIA-SMI has failed because it couldnt communicate with the NVIDIA driver多半是内核升级后驱动没跟上执行sudo reboot now重启一次基本能解决。务必等nvidia-smi输出正常再继续不要带着病往下走。1.3 打通容器访问 GPU 的通道Docker 默认看不到 GPU需要安装 NVIDIA Container Toolkit 做桥梁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 --runtimedocker --config$HOME/.config/docker/daemon.json systemctl --user restart docker sudo nvidia-ctk config --set nvidia-container-cli.no-cgroups --in-place1.4 验证容器里能看到 GPU 才算成功环境配没配好一条命令见分晓docker run --rm --gpus all nvidia/cuda:12.6.0-base-ubuntu22.04 nvidia-smi如果输出里能看到类似NVIDIA A100-SXM4-80GB和CUDA Version: 12.6的信息说明宿主机驱动、rootless Docker、GPU 桥接三层全部打通可以放心进入下一步。第二步备足物资代码、数据库与模型参数三件套算法代码、遗传数据、模型参数三样东西到齐 AlphaFold3 才能开工。2.1 拉取 AlphaFold3 源码git clone https://gitcode.com/gh_mirrors/alp/alphafold3 cd alphafold32.2 下载九大遗传数据库最耗时的一步动脚本之前先确认两件事系统已安装wget和zstd缺少时执行sudo apt install wget zstd。下载目录绝对不能放在仓库目录里面否则后面构建 Docker 镜像时会把几百 GB 数据一起复制进去慢到怀疑人生。确认无误后启动下载./fetch_databases.sh [DB_DIR]不传DB_DIR时默认下载到$HOME/public_databases。整个过程大约 45 分钟起步强烈建议放进screen或tmux会话里挂着跑避免终端一断、进度清零。下载完成后的目录大致长这样mmcif_files/ # 约 20 万个 PDB mmCIF 文件 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权限坑数据库目录和文件必须对运行用户开放读写权限否则 MSA 工具会报出完全看不懂的乱码错误。稳妥起见执行sudo chmod 755 --recursive DB_DIR。2.3 申请并放置模型参数填表申请、等待审批后把拿到的参数下载到独立目录下文统称MODEL_PARAMETERS_DIR同样不要放在仓库内部。使用前记得把条款读一遍特别是使用范围相关的约定。第三步跑通第一次预测物资齐了接下来就是见证奇迹的时刻。3.1 构建运行镜像docker build -t alphafold3 -f docker/Dockerfile .构建过程会把全部 Python 依赖和编译好的加速算子打包进镜像耗时较长属于正常现象耐心等即可。3.2 准备输入文件在$HOME/af_input目录下新建fold_input.json下面是一个可直接运行的蛋白二聚体示例{ name: 2PV7, sequences: [ { protein: { id: [A, B], sequence: GMRESYANENQFGFKTINSDIHKIVIVGGYGKLGGLFARYLRASGYPISILDREDWAVAESILANADVVIVSVPINLTLETIERLKPYLTENMLLADLTSVKREPLAKMLEVHTGAVLGLHPMFGADIASMAKQVVVRCDGRFPERYEWLLEQIQIWGAKIYQTNATEHDHNMTYIQALRHFSTFANGLHLSKQPINLANLLALSSPIYRLELAMIGRLFAQDAELYADIIMDKSENLAVIETLKQTYDEALTFFENNDRQGFIDAFHKVRDWFGDYSEQFLKESRQLLQQANDLKQG } } ], modelSeeds: [1], dialect: alphafold3, version: 1 }3.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 DB_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四个--volume分别对应输入 JSON 目录、输出目录、模型参数目录、数据库目录冒号左边是宿主机路径、右边是容器内路径务必与前面各步骤保持一致。输出目录建议提前创建并给足权限避免挂载时报 permission denied。进阶技巧如果想用一台便宜的无 GPU 机器做耗时但纯 CPU 的遗传搜索再用 GPU 机器跑推理可以分别控制两个开关——--run_data_pipeline默认开启负责遗传与模板搜索和--run_inference默认开启需要 GPU。全部参数可用python run_alphafold.py --help查看。3.4 不用 Docker 的话Singularity 同样支持部分超算集群禁用了 Docker这时可以改用 Singularity。思路是先借助 Docker 构建镜像再转换成 Singularity 的 .sif 格式# 安装 Singularity下载对应发行版安装包后执行 sudo dpkg --install singularity-ce_4.2.1-jammy_amd64.deb sudo apt-get install -f # 起一个本地 registry 做中转 docker run -d -p 5000:5000 --restartalways --name registry registry:2 docker tag alphafold3 localhost:5000/alphafold3 docker push localhost:5000/alphafold3 # 构建 .sif 镜像 SINGULARITY_NOHTTPS1 singularity build alphafold3.sif docker://localhost:5000/alphafold3:latest运行方式从docker run换成singularity exec挂载参数从--volume换成--bindsingularity exec \ --nv \ --bind $HOME/af_input:/root/af_input \ --bind $HOME/af_output:/root/af_output \ --bind MODEL_PARAMETERS_DIR:/root/models \ --bind DB_DIR:/root/public_databases \ alphafold3.sif \ python run_alphafold.py \ --json_path/root/af_input/fold_input.json \ --model_dir/root/models \ --db_dir/root/public_databases \ --output_dir/root/af_output这里特别提醒--nv参数负责把 GPU 透传给容器漏掉它会导致找不到 CUDA这是 Singularity 方案最经典的翻车点。第四步性能调优把等待时间压下来首次跑通之后绝大多数人的痛点变成搜索太慢。按优先级做这三件事立竿见影。4.1 把数据库搬上 SSD遗传搜索是高频随机读取机械盘和 SSD 的差距是数量级的。仓库里给了现成脚本src/scripts/gcp_mount_ssd.sh负责挂载并格式化 SSDsrc/scripts/copy_to_ssd.sh负责把数据库尽量拷贝到 SSD 上直接用即可。4.2 多磁盘分级存放如果 SSD 装不下全部数据库可以把常用子集放 SSD、其余放机械盘通过多次指定--db_dir实现快盘优先、慢盘兜底docker run -it \ --volume $HOME/af_input:/root/af_input \ --volume $HOME/af_output:/root/af_output \ --volume MODEL_PARAMETERS_DIR:/root/models \ --volume SSD_DB_DIR:/root/public_databases \ --volume DB_DIR:/root/public_databases_fallback \ --gpus all \ alphafold3 \ python run_alphafold.py \ --json_path/root/af_input/fold_input.json \ --model_dir/root/models \ --db_dir/root/public_databases \ --db_dir/root/public_databases_fallback \ --output_dir/root/af_output4.3 盯住内存与显存搜索阶段用htop观察内存长序列目标下 64GB 可能只是及格线推理阶段用nvidia-smi观察显存占用。如果显存经常在峰值附近波动要么缩短输入序列要么换更大显存的卡。常见故障排查手册把最容易踩的坑集中列成一张对照表遇到问题先来这里找答案现象可能原因处理办法nvidia-smi报通信失败内核升级后驱动未重载重启系统后重试容器里看不到 GPUContainer Toolkit 未装或 Docker 未重启复查环境准备步骤并重启 docker 服务MSA 工具报错但信息完全看不懂数据库目录无读写权限chmod 755 -R DB_DIR报mount source path ... permission denied挂载目录权限不足提前创建目录并给足权限磁盘被写满630GB 解压空间预留不足预留充足空间数据库目录放到独立磁盘推理报 CUDA 版本错误宿主机 CUDA 与驱动不匹配宿主机统一到 CUDA 12.6 环境写在最后走到这里你已经完成了 AlphaFold3 部署的完整闭环硬件自查、容器化环境、遗传数据库、模型参数、首次预测运行。接下来的进阶路线建议是先用官方示例完整跑通检查输出的预测结构与置信度指标是否合理把数据库迁到 SSD 并做好分级存放这是性价比最高的一次优化仔细阅读仓库docs目录下的输入输出说明和已知问题列表特别是涉及蛋白质、RNA、配体混合输入时的格式细节。最后再啰嗦一句AlphaFold3 的输出本质是预测不同区域的置信度差异可能很大用于论文结论前务必参考置信度指标并严格遵守模型参数的使用条款。祝你的第一个蛋白质结构早日出炉【免费下载链接】alphafold3AlphaFold 3 inference pipeline.项目地址: https://gitcode.com/gh_mirrors/alp/alphafold3创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
