返回列表

1st Place Solution

669. Stanford RNA 3D Folding | stanford-rna-3d-folding

开始: 2025-02-27 结束: 2025-09-24 基因组学与生物信息 数据算法赛
1st Place Solution - 第一名解决方案

第一名解决方案

混合 TBM + DRfold2 方法

作者: g john rao
发布日期: 2025 年 9 月 29 日
竞赛排名: 第 1 名

感谢 Kaggle 和竞赛主办方举办这场令人难以置信的比赛,并给予我参与的机会。你们对这一挑战的热情 truly 具有感染力,成为我在整个比赛过程中的驱动力之一。

由于这是我在 Kaggle 上的第一枚金牌和第一次获胜,我想借此机会感谢 @jhoward 提供的 fast.ai 课程,感谢 @radek1 的书籍,它启发了我的机器学习之旅。感谢 Khan Academy 帮助我重新思考数学,感谢 @huggingface 提供的精彩深度学习课程。

竞赛策略

我的方法从一开始就很明确。在没有 GPU 的情况下,从头训练模型或微调是不可行的。我的早期研究——借鉴 CASP 结果、文献和会议演讲,包括主办方 @rhijudas 的一次演讲——表明基于模板的建模 (TBM) 方法始终占据主导地位。基于此,我从第一天起就致力于 TBM,并在接下来的 90 天里完善我的方法。

接下来,我专注于评估指标,因为理解它决定了探索路径。TM-score 有两个关键特性:它按结构长度归一化(因此 50nt 和 200nt 的 RNA 在同一 0-1 尺度上进行比较),并且对局部误差具有鲁棒性——少量错位的核苷酸不会不成比例地降低分数。这一见解使我能够优先确保整体折叠正确,而不是追求原子级的精度。

数据策略与模型选择

主办方提供的数据集非常全面。我系统地处理了提供的 PDB_RNA 目录中的所有 CIF 文件,进行了全面的核苷酸映射(包括 93 种变体,含修饰碱基)和感知无序的坐标提取。这个过程确保了对可用结构数据的完全覆盖,捕捉到了标准解析器可能会遗漏的修饰核苷酸。

在探索了几乎所有可用的开源模型后,我选择 DRfold2 作为最佳选择,因为它具有广泛的优化潜力。我没有微调模型本身,而是专注于增强其优化和选择模块。这一策略提高了预测质量,同时确保管道可以在 Kaggle GPU 上高效执行。

基于模板的建模 (TBM)

TBM 遵循五个步骤:

1. 搜索 - 寻找相似结构

目标是通过序列比对识别与目标序列相似的数据库结构。

2. 对齐 - 序列映射

此步骤使用针对 RNA 优化的全局序列比对和 gap 惩罚,创建查询和模板之间的翻译指南。

3. 转移 - 坐标继承

直接复制所有匹配位置的 3D 坐标。这利用了 RNA 比序列更保守 3D 结构的进化趋势。

4. Gap 填充 - 几何骨架重建

对于插入和缺失,我依赖几何原理来维持 RNA 的特征骨架:

  • 维持 C1'-C1' 距离(连续核苷酸之间约为 5.9Å
  • 对于压缩 gaps:使用垂直于骨架方向的正弦扰动,以 realistic 曲率扩展骨架
  • 对于正常 gaps:使用 flank 坐标之间的线性插值
  • 终端扩展遵循已建立的骨架方向

5. 自适应优化 - 基于置信度的优化

优化强度适应模板置信度分数:

  • 高置信度模板(>0.8 相似度):最小约束,保留模板几何结构
  • 中等置信度模板:中等序列距离约束(5.5-6.5Å
  • 低置信度模板:额外的空间位阻冲突预防和轻碱基配对约束。
  • 约束强度缩放为:0.8 × (1 - min(confidence, 0.8))

DRfold2 增强

选择模块

  • 双精度计算: 一致的 float64 操作减少数值误差,使模型排名更可靠
  • 向量化距离计算: 通过 torch.cdist 进行 GPU 加速的成对距离计算
  • 优化能量函数: 预计算的三次样条系数无需重复样条拟合即可实现快速结构评分

这些改进的动机来自作者自己的观察,即 DRfold2 有时未能选择其最佳模型。例如,他们报告了第 5 名模型显著优于排名第 1 的模型的情况(第 8 页,第 305–317 行),强调了需要更 robust 的后处理和排名协议(第 9 页,第 319–321 行)。

我的修改直接针对这一弱点,使评分和排名更加准确和一致。

优化模块

  • PyTorch LBFGS: 带有自动微分的原生优化器比 SciPy 实现提供更准确的梯度和更好的收敛性。
  • GPU 加速: 能量计算和梯度计算尽可能在 GPU 上执行。
  • 外部知识集成: 通过 Boltz-1 集成增强能力(感谢 @youhanlee)- (第 2 个 notebook 提交)

作者本人强调了 DRfold2 优化框架的灵活性,并通过将 AlphaFold3 构象作为附加势能项集成来证明这一点(第 9 页,第 327–329 行)。这种混合方法产生的结果显著优于单独使用任何一种方法,实现了更高的 TM-scores 和更低的 RMSDs(第 9 页,第 331–334 行)。他们得出结论,这种集成代表了未来改进的有希望的方向(第 10 页,第 370–372 行)。

我自己的优化实验遵循了这种可扩展性的精神,专注于 GPU 加速和 Boltz-1 的集成。

混合策略

最终管道使用战略组合:

  • 基于模板的建模: 用于较短的序列以及当时间预算耗尽时。
  • DRfold2: 用于深度学习表现优异的其余序列。
  • 优雅降级: DRfold2 失败会自动回退到模板方法。

特别感谢 @hengck23 持续分享有价值的研究论文、开源模型和见解,这些成为了社区宝贵的资源。

同比赛其他方案