1. AlphaFold 简介与运行环境概述

各位同学,我们先来聊聊 AlphaFold 到底是什么。简单说,它是一个用深度学习来预测蛋白质三维结构的系统。以前做结构生物学,得靠 X 射线晶体学、冷冻电镜这些实验手段,一个结构走下来常常要几个月甚至几年。AlphaFold 把这个时间压缩到了几个小时——嗯,对计算资源的要求也确实不低。

我刚开始接触 AlphaFold 的时候,是在 2021 年夏天。那时候刚看到 DeepMind 发表的 Nature 文章,说实话,第一反应是“有那么神吗?”后来我自己搭环境跑了一轮,看到输出的 PDB 文件跟实验结构叠在一起,RMSD 只有一两个埃,确实被震撼到了。从那天起,我就开始把 AlphaFold 集成到日常的蛋白设计流程里了。

1.1 发展历程:从 CASP13 到 AlphaFold2.3

AlphaFold 不是一步登天的。它的迭代过程很清晰:

  • AlphaFold 1 (CASP13, 2018):首次把深度学习用在蛋白质结构预测上。用的是接触图预测+结构组装,效果已经领先传统方法,但跟实验结构还有差距。
  • AlphaFold2 (CASP14, 2020):架构推倒重来,用 Evoformer + Structure Module 端到端生成坐标。CASP14 上中位 GDT 达到 92.4,基本跟实验结构打平了。我们组当时是第一批在内部拿到源码的团队之一。
  • AlphaFold2.3 (2022 后):开源社区的持续优化,包括多聚体支持、MSA 搜索优化、推理加速。现在我日常用的就是 2.3 版本,搭配 UniClust30 + ColabFold 的定制化数据库,稳定性好了不少。
版本 发布时间 核心改进 我对它的评价
AlphaFold 1 2018.12 深度学习接触图 开了个好头,但实战还不够
AlphaFold2 2020.11 Evoformer+端到端 真正颠覆了结构预测
AlphaFold2.3 2022.07 多聚体、推理加速 日常干活最稳定的版本

一点小经验:我刚上手时直接跑 AlphaFold2 的 full 数据库,结果硬盘直接爆了。后来改用 ColabFold 的 reduced 数据库,预测质量基本没降,但磁盘占用从 2TB 降到 20GB。新手建议从 reduced 数据库开始。

1.2 应用场景:AlphaFold 能帮我们做什么

坦白讲,AlphaFold 不是万能的。但在下面这几个方向,它已经成了标准工具——

  • 结构生物学:为实验数据提供初始模型,加速分子置换、冷冻电镜的模型搭建。我们去年有个项目,拿到冷冻电镜 3.5Å 的密度图后,直接用 AlphaFold 预测的结构去拟合,省了三个月的模型搭建时间。
  • 药物研发:预测靶点蛋白的三维结构,辅助虚拟筛选和分子对接。你想想看,很多药物靶点根本没有实验结构,以前只能做同源建模,一个蛋白折腾两三周。AlphaFold 半小时给出候选结构,虽然不能直接用于对接,但做先导化合物优化足够了。
  • 酶工程/蛋白质设计:快速评估突变对结构的影响。我在做酶的定向进化时,会先用 AlphaFold 跑十几个突变体的结构,筛掉明显会破坏折叠的突变,再去实验室做湿实验。这样能省下大量筛选时间。
  • 合成生物学:预测全新设计的蛋白是否可折叠。我们组最近在做 de novo 设计,AlphaFold 的 pLDDT 分数已经成了判断设计好坏的首选指标。

遇到过一次教训:用 AlphaFold 预测膜蛋白的外区结构很准,但跨膜区的构象变化预测经常跟实验对不上。后来我发现是 MSA 里序列多样性不够导致的。膜蛋白 MSA 深度不够的情况下,输出结果要格外谨慎。

1.3 运行环境:硬件与软件栈概览

AlphaFold 对机器是有要求的。说白了,它不是一个“装个包就能跑”的轻量级工具。

硬件最低要求(能跑得动)

  • GPU:NVIDIA GPU 至少 8GB 显存。我个人的经验是,RTX 3080 (10GB) 能跑单条 500 氨基酸以下的序列,但多聚体就会爆显存。
  • CPU:8 核以上,用于 MSA 搜索(HHblits/Jackhmmer 很吃单核性能)。
  • 内存:32GB 起步,推荐 64GB。
  • 存储:全量数据库约 2.2TB;小规模数据库约 60GB。

软件环境

  • 操作系统:Linux 首选(Ubuntu 20.04/22.04 最稳)。Windows 通过 WSL2 也能跑,但坑不少。
  • CUDA 与 cuDNN:CUDA 11.x(对应 TF 2.8-2.11);cuDNN 8.x。
  • Python:3.7-3.10(TF 兼容性限制)。
  • 框架:TensorFlow 2.8-2.11(2.12+ 有已知兼容性问题)。
  • 核心工具:HHsuite、Jackhmmer、HMMER、Kalign、OpenMM(用于 relaxation)。
  • 容器化:Docker 或 Singularity(我建议用 Docker,环境隔离最彻底)。

AlphaFold 官方提供了 Docker 镜像,我个人建议你直接拉镜像,别自己手动装依赖。原因很简单——依赖版本锁死非常严格,我亲眼见过同事手动编译 OpenMM 卡了三天才跑通。

典型安装流程(Docker 方式)

# 拉取官方镜像
docker pull catgumag/alphafold:2.3.2-cuda11.4

# 下载数据库(建议先下载 reduced 版本)
# scripts/download_all_data.sh 会在当前目录创建 databases 文件夹

# 运行预测
docker run --gpus all -v /path/to/data:/data \
    catgumag/alphafold:2.3.2-cuda11.4 \
    python /app/alphafold/run_alphafold.py \
    --fasta_paths=/data/input/test.fasta \
    --output_dir=/data/output \
    --model_preset=monomer \
    --db_preset=reduced_dbs \
    --use_gpu_relax=True

节省时间的小技巧:每次跑前先检查数据库是否完整。我踩过的坑——数据库下载了一半就中断,运行了 10 分钟才报错。可以先跑 python scripts/check_db_completeness.py 确认。

1.4 本章知识体系速览

AlphaFold 第1章知识体系 AlphaFold 第1章:核心知识体系 AlphaFold 入门 发展历程 应用场景 运行环境 AlphaFold1 AlphaFold2 AlphaFold2.3 结构生物学 药物研发 酶工程 硬件选型 软件栈 Docker安装 本章核心概念 AlphaFold 从 CASP13 到 2.3 的演进路径 四大应用场景 + 硬件 & 软件环境配置要点

上面这张图把第一章的知识骨架串起来了。说白了,你要掌握三个核心模块:

  1. 发展历程:知道 AlphaFold 怎么走到今天,每个版本卡了什么瓶颈,为什么现在的 2.3 版本最稳定。
  2. 应用场景:搞清楚自己要在什么场景下用它——做结构解析、药物筛选还是蛋白设计,对配置和参数的要求完全不同。
  3. 运行环境:这部分是后面调试的基础。硬件不够、数据库缺失、依赖版本冲突,是初学者最容易翻车的三个地方。