SimpleFold: 让蛋白质结构预测极致便捷
写在前面的
自Alphafold诞生起,蛋白质结构预测进入了AI时代。随着AI架构的迭代,特别是Alphafold3的更新中创新地引入扩散模型和Pairformer算法简化序列间相关的计算逻辑,将多序列比对数量缩减至4个。这种轻量设计让模型对硬件的要求显著降低,在历史版本中需要中高端GPU集群的服务器在Alphafold3的革新在下单位时间能超额完成多个蛋白的预测任务,并且可预测结构的对象多样性也得到显著提升。Alphafold3的轻量化探索为领域树立了标杆,蛋白质结构预测的目标逐渐从追求准确性演变至追求便捷性,然而在确保足够准确度的情况下蛋白质结构预测的便捷性还能如何提高又成为了新的问题。
SimpleFold——结构预测便捷性的“平民化”落地
SimpleFold是Apple公司为布局生物医药赛道而独创的蛋白质结构预测软件,与Alphafold3的理念不同,SimpleFold在平衡精确度与效率的前提下将“极致轻量化”作为其核心目标。因此SimpleFold创新地引入Flow Matching(流匹配技术)彻底摒弃了Alphafold系列模型依赖的多序列比对、三角注意力机制等时空复杂度高的组件,Flow Matching技术将蛋白质折叠建模为 “氨基酸序列→全原子 3D 结构” 的生成任务,通过学习从噪声分布到真实结构分布的连续映射实现预测。也就是这种算法打破了Alphafold3的思想,将蛋白质结构的骨架生成,残基搭建从原本的基于多序列比对方式完全转变为基于模型的推理,在这个过程中,Simplefold采取了双损失函数:流匹配损失(FM)和LDDT损失分别确保映射路径正确和衡量预测与真实结构的原子对距离误差,聚焦15Å内近邻原子,优化侧链细节,从而将预测的结构控制在符合结构生物学准则的世界中。这种以流匹配生成为核心,用 “双损失+通用Transformer”替代传统领域特定设计,真正从算法层面做到了大道至简,为蛋白质结构预测带来了颠覆式效率提升。仅仅需1亿参数就能在普通消费级的MacBook上流畅进行结构预测。与Alphafold相比,其预测速度提升20倍,单次预测成本降低90%。打破了结构预测必须依赖中高端GPU计算集群的共识。目前SimpleFold文章还在Rxiv上以preprint形式呈现https://arxiv.org/pdf/2509.18480,从论文中的演示结果可知,对于预测64个氨基酸长度的任务,Simplefold最快能在2秒内完成。
SimpleFold本地化部署(GPU版本)
首先介绍如何在GPU处理器上安装SimpleFold。与Alphafold3的安装相比,SimpleFold可谓是相当简单,无需docker等容器,支持github源码安装或conda安装。
###如果只使用python进行蛋白质序列预测git clone https://github.com/apple/ml-simplefold.gitcd ml-simplefoldconda create -p ~/gpu-software/miniconda3/envs/simplefold python=3.10conda activate ~/gpu-software/miniconda3/envs/simplefoldpython -m pip install -U pip build; pip install -e .###想使用Apple设备进行结构预测建议再安装MLX# 安装 MLX 0.28.0(需适配版本)pip install mlx==0.28.0 # optional
完成部署后输入simplefold -h检查是否成功安装
如何使用SimpleFold预测蛋白结构
simplefold可直接处理fasta格式的蛋白质序列,与Alphafold3有一套严格的蛋白质JSON输入格式相比,simplefold的确将便捷性做到了极致。为了示例如何使用该软件,我随机写了一个31个氨基酸长度的蛋白质序列。可以参考如下代码预测结构。如果想对比Alphafold3如何预测结构,可看我以前的推送实战!利用本地Alphafold3批量预测蛋白结构及其与生物大分子相互作用以及进阶(一):利用Alphafold3构建蛋白质结构宇宙——从PDB到私人数据库的范式跃迁
###准备数据mkdir ~/test_dataecho -e ">prot\nACDEFGHIKLMNPQRSTVWYACDEFGHIKLM" > ~/test_data/prots.fasta###运行simplefold预测simplefold \--simplefold_model simplefold_360M \--num_steps 500 --tau 0.01 \--nsample_per_protein 1 \--plddt \--fasta_path ~/test_data/prots.fasta \--output_dir ~/test_data/ \--backend torch \--output_format pdb
初次进行结构预测时,SimpleFold会自动扫描计算机硬盘中是否有模型权重文件,如果没有则会自动开启下载,下载好后第二次进行预测时软件会自动调用,无需二次下载。因此第一次运行结构预测命令时会因为下载权重文件而占据一定时间(大约5~10分钟左右)。完成预测后,路径下会出现一个名称为prots_sampled_0.pdb的pdb文件,使用蛋白质结构可视化工具pymol即可查看预测结构。在相同的设备上我测试比较了Alphafold3和SimpleFold预测同一个蛋白结构的速度,SimpleFold花费2.7秒,而Alphafold3花费1分17秒(我的氨基酸长度为31,仅仅做示例用),速度快了约28倍。
SimpleFold执行蛋白质结构预测的参数含义
以上文的命令为示例,下面详细解释涉及到的参数含义
-
1. --simplefold_model simplefold_360M 指定用于推理的预训练模型。
可选值:simplefold_100M/360M/700M/1.1B/1.6B/3B(数字代表模型参数规模)。
作用:不同参数规模的模型在精度和速度上有 trade-off,360M 是中等规模模型,平衡了预测效果和计算成本。模型权重会自动从官方地址(如 https://ml-site.cdn-apple.com/models/simplefold/simplefold_360M.ckpt)下载并存储在 --ckpt_dir 指定的目录(默认 artifacts)。 -
2. --num_steps 500 指定推理过程中的采样步数。
作用:流匹配(flow-matching)模型通过逐步优化从噪声分布生成蛋白质结构,步数越多,结构优化越充分,通常精度更高,但耗时更长。默认值为 500,与 configs/experiment/test.yaml 中 num_timesteps: 500 一致,是官方推荐的平衡值。 -
3. --tau 0.01 扩散系数的缩放因子(tau)。
作用:控制流匹配过程中噪声的衰减速率,影响结构生成的稳定性和收敛性。较小的 tau 可能使采样更精细,但需配合足够的 num_steps 避免收敛不足。
在 configs/experiment/test.yaml 中默认值为 0.01,适合多数场景。 -
4. --nsample_per_protein 1 每个蛋白质生成的构象(conformer)数量。
作用:蛋白质可能存在多种稳定构象,生成多个样本可提供更多候选结构。此处设置为 1,即每个输入序列生成 1 个结构。若需多构象预测,可增大该值(如 --nsample_per_protein 5),但会增加计算量和输出文件数量。 -
5. --plddt 启用 pLDDT 分数预测(无需赋值,是布尔标志)。
作用:pLDDT(预测局部距离差异测试)是评估结构可靠性的指标(范围 0-100),分数越高表示该位置的预测越可信。启用后,模型会额外输出 pLDDT 数据(存储在输出文件中),需加载额外的 pLDDT 预测模块(代码见 inference.py 和 wrapper.py)。 -
6. --fasta_path ~/test_data/prots.fasta 输入 FASTA 文件或目录的路径。
作用:指定包含蛋白质氨基酸序列的输入文件(FASTA 格式),支持单个文件或目录(批量处理多个文件)。示例中 prots.fasta 应包含 1 个或多个蛋白质序列(格式:>序列ID\n氨基酸序列)。 -
7. --output_dir ~/test_data/ 输出结果的保存目录。
作用:生成的蛋白质结构文件(如 PDB/MMCIF)、日志等会存储在此目录。若目录不存在,会自动创建。输出文件命名通常包含输入序列 ID、样本编号(如 prots_sample_0.pdb)。 -
8. --backend torch 指定推理使用的后端框架。
可选值:torch(PyTorch)或 mlx(Apple 的 MLX 框架)。
作用:torch 支持 CPU/GPU 运行,兼容性强;mlx 仅支持 Apple Silicon(M1/M2/M3 等),优化了本地硬件加速。此处使用 torch,适合非 Apple 设备或通用 GPU 环境。 -
9. --output_format pdb 指定输出结构文件的格式。
可选值:pdb 或 mmcif(大分子晶体学信息文件)。
作用:pdb 是更通用的蛋白质结构格式,适合大多数可视化工具(如 PyMOL、ChimeraX);mmcif 是更全面的标准格式,包含更多元数据。此处输出为 PDB 格式,便于快速查看。
如何在CPU上安装SimpleFold并进行结构预测
大道至简,极致便捷是SimpleFold的核心理念,如果要说SimpleFold除了比Alphafold3预测得快之外,能在CPU上运行SimpleFold预测结构才是其最大的亮点。由于SimpleFold的github官网没有介绍如何在CPU上部署SimpleFold,我在多次试错下成功将该软件在CPU上部署并预测结构成功。CPU和GPU系统的部分底层依赖不同,因此不能完全参考github上的安装方法(经过测试,github上的安装方法适合GPU处理器,不太适合CPU),下面我将详细说明如何在CPU处理器安装SimpleFold

