用途:使用 OpenFold3(AlQuraishi 实验室开源的 AlphaFold3 PyTorch 复现,开放权重)预测蛋白质、DNA、RNA 及配体复合物的三维结构。
环境要求:Python 3.10+(推荐 3.11),CUDA 12.1+(推荐 12.4+),GPU 显存最低 24GB、推荐 80GB(H100),内存最低 32GB、推荐 64GB,权重约 3GB 磁盘。
安装:pip install 'openfold3[cuequivariance]==0.4.1'。默认注意力核为 DeepSpeed DS4Sci_EvoformerAttention;若不可用,可在 model_config.py 的 eval 内存设置中改为 use_deepspeed_evo_attention: False、use_cueq_triangle_kernels: True 使用 cuEquivariance 三角核(无需源码编译)。
权重:Apache-2.0,约 2.3GB,来自 HF OpenFold/OpenFold3,仓库受限(自动批准),需先在模型页接受访问表单并认证(huggingface-cli login 或 HF_TOKEN)。下载命令:export OPENFOLD_CACHE=~/.openfold3 后执行 huggingface-cli download OpenFold/OpenFold3 checkpoints/of3-p2-155k.pt --local-dir "$OPENFOLD_CACHE"。首次运行若网络与凭证可用也会自动下载。
运行:export OPENFOLD_CACHE=/path/to/cache,然后 run_openfold predict --query_json=queries.json --output-dir out/ --use-msa-server false --use-templates false。程序会自动发现 $OPENFOLD_CACHE 下的检查点;仅在非标准布局或多检查点时用 --inference-ckpt-path 指定。需要 MSA 与模板(更慢、更准)时去掉两个 false 标志,此时需能访问 api.colabfold.com 与 data.rcsb.org。
查询格式:不读 FASTA,使用经 InferenceQuerySet(pydantic,禁止额外键)校验的 JSON,顶层为 {"queries": {"名称": {...}}},链可指定 molecule_type(protein/dna/rna 需 sequence;ligand 需 smiles 或 ccd_codes)、chain_ids 列表(同源寡聚可重复序列),并支持 use_msas 与自定义 a3m 路径;seeds 为种子列表。
关键参数:--num-diffusion-samples 默认 5;--num-model-seeds 默认 1;--use-msa-server 默认 true;--use-templates 默认 true。
输出:out/ 下含 summary.txt、model_config.json、experiment_config.json、inference_query_set.json,以及按查询/种子分目录的 .cif 模型、完整与聚合置信度 JSON、timing.json。聚合文件含 avg_plddt、ptm、iptm、gpde、has_clash、sample_ranking_score 等。良好结果参考:summary 成功数匹配输入、avg_plddt>70(单序列)或>80(含 MSA)、ptm>0.6、复合物 iptm>0.5、has_clash 为 0。
限制与排查:DeepSpeed 缺失可改用 cuEq 路径(需 pip install nvidia-cutlass);rdkit 需 X11 库(apt-get install libxrender1 libxext6 libsm6);可能需 pip install boto3 awscrt;JSON 形状错误或多余键会触发 ValidationError;--runner-yaml 仅接受 InferenceExperimentConfig,核与内存设置须改 model_config.py;RCSB 不可达时用 --use-templates false;显存不足可减少扩散样本数或使用 low_mem 预设。其余细节暂未提供。