用途:ESMFold2 用于全原子扩散共折叠,可对蛋白、DNA、RNA、配体及修饰残基组成的复合物进行结构预测,输出 pLDDT、pTM、ipTM、PAE 等指标与 mmCIF 结构。ESMFold2 为 48 对层并支持 MSA;ESMFold2-Fast 为 24 层、仅单序列,约快 1.7 倍。
主要能力:通过 ESMFold2InputBuilder().fold() 提交 StructurePredictionInput,可组合 ProteinInput、DNAInput、RNAInput、LigandInput 与 Modification;同源二聚体可用 id 列表。fold() 返回每个扩散样本的 Prediction,可按 ipTM(复合物)或平均 pLDDT(单体)排序,并用 complex.to_mmcif() 导出。MSA 模式经 esm.utils.msa.msa.MSA 的 from_a3m 按链传入,ESMFold2-Fast 不支持 MSA。
使用方式:需 CUDA 12.x GPU(H100/A100 级)与 Python 3.12,按资料给出的 uv 命令安装依赖,并从 GitHub 安装 Biohub 版 transformers 与 esm。加载后必须调用 model.set_kernel_backend("fused") 与 set_chunk_size(None) 以获得吞吐提升;默认后端为参考 PyTorch,约慢 12 倍。论文 FoldBench 配置为 num_loops=10、num_sampling_steps=68、25 种子×5 扩散样本。
限制:训练数据截止 2021 年 9 月 PDB。fused 后端仅推理,L 超过约 1400 可能非法访存,需回退参考后端;不要使用 cuequivariance 后端。Experimental 变体用于设计搜索,不可配 fused 后端。cusolver SVD 可能被 NaN 污染,资料给出 CPU 重定向的 monkeypatch。ESMC 掩码 token 为 <mask>(id 32),HF 分词器不适用下划线约定。其余细节暂未提供。