首先,感谢组织者和 Kaggle 举办此次竞赛,并感谢所有参与者为生物学中的重大问题之一做出的贡献。
背景
我是一名生物信息学家,自 CASP11 以来一直参与 CASP[1]。因此,我在一定程度上熟悉处理 PDB[2] 数据并识别有用数据(我主要研究蛋白质,因此对 RNA 和 DNA 的了解较为有限)。
方法概述
我的方法主要是模板建模 (Template-Based Modeling, TBM),涉及从已知 3D 结构数据集中识别相似数据,并将原子坐标转移到预测目标。在 AlphaFold2[3] 出现之前(或残基 - 残基接触预测 [4];注意 AF2 也结合了类似 TBM 的过程),TBM 是蛋白质结构预测中最有效的方法。
提交细节
基于表示的序列搜索与对齐 (RBSSA)
在现代深度学习模型中,不仅最终层的输出,中间层的输出也可用于各种任务。在本文档中,我使用术语“表示”(representation,虽然 embedding 更常见)来指代此类中间输出。最近,在蛋白质研究中,使用表示已成为远程同源搜索 [5,6,7] 的流行技术,这是 TBM 中的重要步骤。
我评估了几种 RNA 和 DNA 的基础模型,但有些由于许可限制而不适用。RNAErnie[8,9] 和 RibonanzaNet[10] 是潜在的候选者。在初步实验中,RNAErnie 表现稍好,但由于其输出较大,需要更多的磁盘空间,我选择了 RibonanzaNet。由于 RibonanzaNet2[11] 最近才发布,我没有足够的时间来实现和评估它。
为目标和模板序列生成 RibonanzaNet 解码器层之前的单个表示,然后使用简单的动态规划方法对其进行对齐(图 1)。高分表明可能存在进化关系,使该对成为 TBM 候选者。将目标序列与所有聚类代表(3,991 个序列)对齐,对于 300-nt 的目标序列大约需要 160 秒(包括目标序列的 RibonanzaNet 推理)。
图 1. 基于表示的序列搜索与对齐示意图。在 Smith–Waterman 对齐中,比较目标和模板数据库序列中的碱基:匹配获得正分,错配获得负分,得分最高的路径是最佳对齐。对于使用矩阵状表示的对齐,匹配/错配分数被替换为相似性函数,如余弦相似度或皮尔逊相关系数。
对于 RBSSA,我使用了自己的工具 [12],该工具最初设计用于构建多序列对齐 [13]。(竞赛结束后,我更新了它以改善远程同源搜索的用户体验 [14]。)
模板数据集准备
我于 2025-05-21 下载了包含 RNA 的 PDB 条目。使用 MMseqs2[15] 按 95% 序列一致性对结构进行聚类,并进行了一些额外的杂项过滤。这产生了 4,779 个聚类。根据建模核苷酸的数量选择聚类代表。为这些聚类代表生成 RibonanzaNet 表示以构建 RBSSA 数据库。
标准 TBM
因为我的基于表示的搜索工具不提供统计置信度,它可能会产生许多假阳性。因此,除了 RBSSA 之外,我还应用了标准的 TBM 方法:使用 blastn[16] 搜索模板序列,并使用 Smith–Waterman 算法 [17] 对齐命中结果。
基于深度学习的结构预测
由于可能并不总是存在合适的模板,或者模板可能缺少区域,我还利用了 Chai-1[18] 和 Boltz-1[19]——受 AlphaFold3 启发的工具和当前最先进的基于深度学习的结构预测器。
如果有额外时间可用:
- 突变一些核苷酸并将其输入预测器以生成更多样化的结构。
- 使用 all_sequences 列中的 DNA 或 RNA 序列预测结构。
- 将多聚体 RNA 预测为连接的单体。
组装结构
由于 TBM 通常会留下缺失区域,这些缺口使用 DL 方法预测的模型或其他模板的结构对齐进行修补。结构对齐使用 BioPython 的 SVDSuperimposer[20] 执行。由于笔记本的优先级和时间限制,未应用进一步的细化,如分子动力学。
结果与讨论
结果见表 1。
| 私榜 (Private) | 公榜 (Sep.) | 公榜 (May) | |
|---|---|---|---|
| full | 0.56125 | 0.59655 | 0.605 |
| full (dot) | 0.56966 | 0.66171 | 0.672 |
| -RBSSA | 0.50551 | 0.44539 | 0.46 |
| -RBSSA -TBM | 0.374 | 0.32237 | 0.37 |
表 1. 结果摘要。
'Public (Sep.)' 指的是我当前提交页面上的 Public Score 列中的分数,而 'Public (May)' 指的是第一个截止日期时在公共 leaderboard 上可见的分数。注意 'Public (May)' 笔记本使用的是开发版本,因此整体流程不一致。'full (dot)' 表示 RBSSA 使用点积作为评分函数,而 'full' 使用余弦相似度。'-RBSSA' 表示 without RBSSA,'-TBM' 表示 without standard TBM。
该表突出了 TBM 和 RBSSA 的有效性。
然而,第一名解决方案 https://www.kaggle.com/competitions/stanford-rna-3d-folding/writeups/1st-place-solution 的讨论表明,标准序列对齐可以实现非常高的分数。我将进一步评估使用不同序列对齐算法的 TBM 变体。
致谢
我要感谢竞赛组织者和 Kaggle 团队举办这次激动人心的挑战。我也感谢 Kaggle 社区分享有用的笔记本和讨论,感谢我所使用的开源工具和公共数据库的开发者和维护者。最后,我感谢 ChatGPT 和 DeepL 协助改进我的英文文本。
参考文献
[1] https://predictioncenter.org/
[2] https://www.rcsb.org/
[3] https://github.com/google-deepmind/alphafold
[4] https://en.wikipedia.org/wiki/Protein_contact_map
[5] Kaminski, Kamil, et al. "pLM-BLAST: distant homology detection based on direct comparison of sequence representations from protein language models." Bioinformatics 39.10 (2023): btad579.
[6] Pantolini, Lorenzo, et al. "Embedding-based alignment: combining protein language models with dynamic programming alignment to detect structural similarities in the twilight-zone." Bioinformatics 40.1 (2024): btad786.
[7] Liu, Wei, et al. "PLMSearch: Protein language model powers accurate and fast sequence search for remote homology." Nature communications 15.1 (2024): 2775.
[8] https://github.com/CatIIIIIIII/RNAErnie
[9] https://huggingface.co/multimolecule/rnaernie
[10] https://github.com/Shujun-He/RibonanzaNet
[11] https://www.kaggle.com/models/shujun717/ribonanzanet2
[12] https://github.com/yamule/matrix_align/tree/523262de8fc5da274478d3d31e46a089991056a2
[13] https://en.wikipedia.org/wiki/Multiple_sequence_alignment
[14] https://github.com/yamule/matrix_align/commit/ad04b715ec293b8dffa16bb74506d49bd3294e05
[15] https://github.com/soedinglab/MMseqs2/
[16] https://blast.ncbi.nlm.nih.gov/doc/blast-help/downloadblastdata.html
[17] https://en.wikipedia.org/wiki/Smith%E2%80%93Waterman_algorithm
[18] https://github.com/chaidiscovery/chai-lab
[19] https://github.com/jwohlwend/boltz
[20] https://biopython.org/docs/1.85/api/Bio.SVDSuperimposer.html
URL 访问日期:2025-10-02。