1.我对赛题的理解
1.1赛题背景
RNA在细胞生命活动中扮演着至关重要的角色,从基因表达调控到催化生化反应,都离不开 RNA 的参与。RNA 的功能很大程度上取决于其三维 (3D) 结构。
理解 RNA 的结构与功能之间的关系,是生物学和生物技术领域的核心挑战之一。
RNA 折叠 是指 RNA 序列自发形成特定三维结构的过程。而 RNA 逆折叠是基于给定的RNA 三维骨架结构设计出能够折叠成这种结构的 RNA 序列。
1.2赛题任务
本赛题是一个RNA 逆折叠问题:
基于给定的 RNA三维骨架结构,生成一个或多个RNA序列,使得这些序列能够折叠并尽可能接近给定的目标三维骨架结构。
1.3赛题数据集
官方提供了2个zip文件,其中RNA_design_public.zip 是RNA的训练样本数据,dummy_submit.zip是提交的样例数据
训练集文件结构:
RNAdesignv1
|- train
|- coords
|- seqs
coords是RNA骨架结构数据
coords文件夹中存放的是RNA折叠后的空间信息,采用npy文件保存
例如:
我们可使用numpy对文件进行读取
import numpy as np
file_path= “./RNAdesignv1/train/coords/1A9N_1_Q.npy”
data = np.load(file_path)
print(data.shape)
#(24, 7, 3)
说明每个RNA骨架数据是(24,7,3)的numpy数组。其中24是RNA的序列长度,7是 RNA 骨架原子,3是每个原子的坐标为三维坐标(x, y, z)。如果原始数据中某个原子不存在,则该位置会以 NaN 填充。
seqs是对应的RNA序列(由ACGU四种碱基组成)
例如:
1A9N_1_Q (RNA名称)
CCUGGUAUUGCAGUACCUCCAGGU (RNA序列)
比赛目的: 通过(L,7,3)的数据推测 (L,4)可能的RNA序列,类似端到端的效果。(L为RNA序列长度)
1.4 评价指标
评估标准是序列的恢复率 (recovery rate),即算法生成的 RNA 序列,在多大程度上与真实能够折叠成目标结构的 RNA 序列相似。恢复率越高,表明算法性能越好。
恢复率的计算方法:生成的RNA序列与真实序列对应位置相同的碱基个数 / RNA 序列长度
可参考官网给出的恢复率计算的函数。
2.解题思路
2.1进阶上分方案
(1)改进特征提取:
计算每个节点的局部几何特征,如二面角、原子间距离的RBF编码、方向向量等。将这些特征拼接作为节点特征,替代简单的坐标展平。 0.25-0.3
(2)优化图结构:
使用三维坐标计算节点间的欧氏距离,构建k近邻图(空间上的邻近,而非序列顺序)。
可能结合序列邻近和空间邻近,或者动态调整边的连接方式。
(3)增强模型架构:
使用更强大的图神经网络层,如GATv2、Transformer或MPNN。 0.3-0.4
增加更多的层数,并引入残差连接以防止梯度消失。容易过拟合
添加注意力机制,让模型能够关注更重要的邻居节点。
(4)正则化和优化:
使用Dropout层防止过拟合.。设置0.1-0.2
添加Layer Normalization或Batch Normalization。
使用学习率调度器,如ReduceLROnPlateau,以动态调整学习率。
调整优化器,比如使用AdamW,并设置权重衰减。
(5)数据增强:
对训练数据进行增强,如随机旋转坐标,增加模型的鲁棒性。
对数据加入高斯噪音,模拟仪器测量误差
3.我的疑问
Task2 进阶方案
**问题:task2进阶代码在魔搭notebook运行出现这个错误。要清除模型文件的缓存。

解决方法:清理试一下,填两行代码
from transformers.utils.hub import move_cache
move_cache()
亲测解决问题。**
1041

被折叠的 条评论
为什么被折叠?



