RNA secondary structure prediction using an ensemble of two-dimensional deep neural networks and transfer learning
Year: 2019
Authors: Jaswinder Singh, Jack Hanson, Kuldip Paliwal & Yaoqi Zhou
Journal Name: Nature Communications
Dataset
初始训练的数据集为 bpRNA-1m ,包含 102,348 个带有二级结构的 RNA 序列,其中相似性超过 80% 的序列被移除,还剩下 14,565 个序列。之后作者又把最大序列长度限制到 500 ,还剩 13,419 个序列。这些序列被随机分为含有 10,814 个序列的训练集 (TR0) ,含有 1,300 个序列的验证集 (VL0) ,含有 1,305 个序列的测试集 (TS0) 。序列的平均长度大概为 130 。
迁移学习的数据集为 PDB 中的高分辨 RNAs 。与上述操作类似(测试集不仅去除相似性大于 80% 的序列,还去除 e-value 大于 10 的数据),这些序列被随机分为含有 120 个序列的训练集 (TR1) ,含有 30 个序列的验证集 (VL1) ,含有 67 个序列的测试集 (TS1) 。
Background
Method
模型的输入为
L
×
4
L×4
L×4 的 one-hot 向量,
L
L
L 为序列长度,
4
4
4 代表碱基种类数。缺失或无效序列用 -1 表示。在喂入模型之前,对输入数据进行标准化处理。之后,将
L
×
4
L×4
L×4 的 one-hot 向量平移扩展成
L
×
L
×
4
L×L×4
L×L×4 的 one-hot 矩阵,如下图所示。再将 one-hot 矩阵进行旋转后拼接成
L
×
L
×
8
L×L×8
L×L×8 的矩阵,如下图所示。
模型中所有的 norm 均为 layer normalization ,所有的激活函数均为 ELU。模型中的超参数为范围值是为了构建多个模型,从中选取效果最好的前五个模型用来进行迁移学习。
L
×
L
×
8
L×L×8
L×L×8 的输入矩阵首先通过一个初始卷积层,然后进入残差块 BlockA 。 BlockA 中 dropout 的比例为 25% ,卷积层深度为 32-72 , Block A 重复次数( NA )为 16-32。
每个 2D-LSTM 细胞的节点数为 128-256 ,将 4 个方向(两条对角线的正反两方向)的输出进行拼接。
之后, Block B 中 FC 层的节点数为 256-512 ,dropout 的比例为 50% ,重复 0-4 次,输出
L
×
L
×
D
F
C
L \times L \times D_{FC}
L×L×DFC ,
F
F
C
F_{FC}
FFC 为 FC 层的节点数。本人理解是进行
L
×
L
L \times L
L×L 次全连接,将结果进行拼接形成
L
×
L
×
D
F
C
L \times L \times D_{FC}
L×L×DFC 的输出,与通常意义上的全连接不同。
在经过 Output Layer ( FC + Sigmoid )后,输出尺寸为
L
×
L
×
1
L \times L \times 1
L×L×1 ,代表每个碱基与其他碱基相连的概率。使用
1
×
1
1 × 1
1×1 卷积核将深度由
D
F
C
D_{FC}
DFC 变为 1。
作者遍历阈值,来使最 MCC 评价指标最大化,最后确定阈值大小为 0.335 。
之后,取预训练在 VL0 表现最好的五个模型,进行下一步的迁移训练。在迁移学习中,保留预训练的参数重新在 TR1 上进行训练。