SuperAPI AI 工具集

rfd4-proteina-commitment-curves

智能体与模型

查看项目

更新于 10-21 19:19

技能介绍

用途

RFD4-Proteína Commitment Curves 用于研究蛋白质设计模型在扩散生成过程中何时确定其最终输出。具体做法是:取一个已完成的设计,将其重新加噪到某个重启步,再次去噪,然后计算其指标与父代指标的相关性(ρ)。通过扫描不同的重启步,可以得到一条曲线,反映模型在哪个阶段“下定决心”。如果某个指标在第 25 步时 ρ 已达到 0.97,那么最后 75 步无法改变其排序,这意味着可以提前筛选。

主要能力

  • 部分扩散扫描:对重启步进行网格扫描,生成承诺曲线。
  • 父子相关性分析:计算子代与父代在指定指标上的相关性。
  • 指标分布统计:在购买扫描之前,先了解每个指标的稀有程度,判断通过率。
  • 保真度曲线:同时输出子代与父代的序列一致性和 CA RMSD 中位数曲线。
  • 配置生成:通过一个 spec 文件生成 phase1、sweep 和 analysis 所需的全部配置。

使用方式

所有命令从仓库根目录运行,参数采用 Hydra key=value 格式。主要步骤包括:

  1. 确定要跟踪的指标(最多三个,序列一致性和 CA RMSD 自动绘制)。
  2. 编写 spec 并生成配置:python open-models-skills/rfd4-proteina/rfd4-proteina-commitment-curves/scripts/make_configs.py --spec my_study.yaml
  3. 运行 Phase 1 获取父代:./scripts/launch_generate.sh inference_experiment=<name>_phase1 --no-foldseek,或对已有设计进行离线评分。
  4. 分析指标分布:python .../metric_distributions.py --metrics_csv ... --out_dir ...
  5. 将父代整理到扁平目录。
  6. 运行 Phase 2 扫描重启步:./scripts/launch_sweep.sh --sweep-config configs/sweeps/<name>.yaml --base-out-dir <out_root>/<name>_sweep --no-foldseek
  7. 绘制承诺曲线:python .../commitment_curve.py --sweep_csv ... --parent_csv ... --out_dir ... --nsteps 60 --metrics '...'

适用场景

  • 需要判断蛋白质设计模型在扩散过程中何时确定关键指标,以便提前筛选。
  • 需要评估部分扩散对设计保真度的影响。
  • 需要了解各指标的通过率,以决定是否值得进行完整扫描。
  • 适用于已有设计集或需要生成新设计的场景。

限制

  • 相关性衡量的是跨父代的保留程度,而非生物学成功。
  • 父代数量过少、指标随机性或条件不匹配可能导致解释无效。
  • ρ 在干净端不一定达到 1,可能受指标自身可重复性上限影响。
  • 需要检查子代的绝对值,部分重启步可能导致结构比全新运行更差。
  • 需要结合保真度曲线和通过率综合解读。

可用脚本

  • scripts/make_configs.py:生成匹配的 phase 和 sweep 配置。参数:--spec;可选 --repo_root、--dry_run。
  • scripts/metric_distributions.py:绘制指标与标准的关系。参数:--metrics_csv、--out_dir;可选 --pass_criteria。
  • scripts/commitment_curve.py:绘制相关性和保真度曲线。参数:--sweep_csv、--parent_csv、--out_dir、--metrics。