返回列表

10th place solution (How we ensemble)

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

开始: 2025-02-27 结束: 2025-09-24 基因组学与生物信息 数据算法赛
第 10 名解决方案(我们如何进行集成)

第 10 名解决方案(我们如何进行集成)

副标题:基于 Protenix、DRFold2 和 trRosetta2 的集成解决方案

作者: doheon114 (及团队成员:YeongJinLee4, CodeHacker)

发布时间: 2025-09-27

竞赛: Stanford RNA 3D Folding (Kaggle)

排名: 第 10 名

大家好,

我想分享我们团队在 Kaggle 斯坦福 RNA 3D 折叠竞赛中的解决方案。我们的方法侧重于将三种最先进的深度学习模型——Protenix、DRFold2 和 trRosetta2——结合成一个强大的集成 pipeline,用于 RNA 三级结构预测。

模型结构与工作流程

Protenix 实现

  • 扩散采样参数: N_sample=10, N_step=150, N_cycle=8
  • 检查点: model_v0.2.0.pt <- Protenix GitHub 上可用的最新预训练模型权重。
  • 置信度评分系统: 严格按照 Protenix 提供的置信度分数排序使用。
  • 超参数优化: 在我的实验中,超参数优化并没有带来巨大差异。
  • 微调问题: 我无法解决 Protenix 微调过程中的过拟合问题,因此我使用预训练权重进行直接预测。
  • 输出: 每个样本前 5 个 PDB 文件

DRFold2 实现

  • FASTA 生成: 将每个测试序列转换为 FASTA 文件格式
  • 过滤: 仅处理 < 300 nt 的序列(超过 300nt 会导致超时失败)
  • 每个样本的模型排名: 读取 sel_0 分数文件 -> 按能量得分选择前 5 个模型 -> 使用 Arena 进行 PDB 优化!!
  • 输出: 前 5 个优化后的 PDB 文件(限制在 300nt 以下)

trRosetta2 实现(它在 GitHub 中隐藏,未在 trRosetta2 文章中正式发布)

  • 预测方式: 基于 MSA 的预测以获得更高精度
  • 模型参数: nrows=500, refine_steps=0
  • 过滤: 大约 ≤500–600 nt,据我所知,虽不精确。
  • 输出: 前 5 个优化后的 PDB 文件(限制在 500-600nt 以下)

集成整合

坐标提取: 解析 PDB 文件以获取 C1' 原子坐标

合并策略:

  • Protenix: 坐标 1–5(用作背景坐标)
  • DRFold2: 坐标 3,4(尽可能覆盖背景坐标)
  • trRosetta2: 坐标 5(尽可能覆盖背景坐标)

因此,最终的 submission.csv 如下:

序列长度 1 2 3 4 5
0~300nt protenix protenix DRFold2 DRFold2 trRosetta2
300~600nt protenix protenix protenix protenix trRosetta2
600nt~ protenix protenix protenix protenix protenix

结论

三种模型的集成非常有效。然而,当我添加第四个模型(Boltz)时,性能实际上下降了。由于我无法微调 Protenix,我相信其他人可能成功了,我期待看到他们的解决方案。

最后但同样重要的是,非常感谢我的队友和竞赛主办方!!

同比赛其他方案