6mA-Pred: 基于深度学习识别DNA N6甲基腺嘌呤位点.
0. TL; DR
6mA-Pred 将长短期记忆网络 (LSTM) 和注意力机制 (Attention) 相结合,用于从 DNA 序列中提取特征并进行预测。
作者在水稻、小鼠和人类三个不同物种的数据集上对 6mA-Pred 进行了全面的评估。实验结果表明,与现有的多种先进方法(如 iDNA6mA-Rice, SNNRice6mA, iDNA6mA-PseKNC, SICD6mA)相比,6mA-Pred 均表现出优异或具有竞争力的性能。
1. 背景介绍
DNA 修饰位点在多种生物学过程中扮演着至关重要的角色。甲基化一直是表观遗传学的热门话题,其中 6mA 甲基化不仅影响基因表达,还调控着动植物的发育。许多疾病,包括癌症,都与 6mA 甲基化有关。随着 6mA 甲基化相关研究的进展,大量数据被收集起来。然而,目前仍然缺乏有效的 6mA 位点识别方法。
近年来,已有一系列计算方法被开发出来,并取得了良好的效果。
- 水稻 (rice):针对水稻基因组,已有 i6mA-Pred, MM-6mAPred, iDNA-6mA-rice, SDM6A, SNNRice6mA 等多种方法被提出。
- 小鼠 (Mus musculus) 和 人类 (human):针对哺乳动物,也逐渐出现了 iDNA6mA-PseKNC, csDMA, SICD6mA, 6mA-Finder 等工具。
这些方法大多基于传统的机器学习算法(如 SVM 和 RF)或深度学习算法(如 CNN 和 GRU),并使用了多种特征提取方法(如 NCP, one-hot)。
在回顾了以往的研究工作后,作者发现 LSTM+Attention 的组合在识别修饰位点方面非常有效。因此,作者提出了 6mA-Pred,一个基于 LSTM 和注意力机制的深度学习模型,旨在为多个物种提供一个准确、高效的 6mA 位点预测工具。
2. 6mA-Pred方法
6mA-Pred 的核心思想是将 DNA 序列视为一种语言,并通过深度学习模型来理解其“语法”和“语义”,从而预测修饰位点。其整体框架如图所示。

2.1 数据集
作者收集并整理了三个不同物种的公开数据集。
- 水稻 (Rice):来源于 i6mA-Pred 研究,包含154,000个阳性样本和154,000个阴性样本。
- 小鼠 (Mus musculus):来源于 iDNA-PseKNC 研究,包含1,934个阳性样本和1,934个阴性样本。
- 人类 (Human):来源于 SICD6mA 研究,其中训练集包含491,885对正负样本,独立的测试集包含122,971对正负样本。
所有数据集中的序列长度均为41 bp,并使用 CD-HIT (80%) 进行了冗余序列的移除。
2.2 特征编码与分类算法
2.2.1 K-mer 分词与嵌入层
与传统的 one-hot 编码相比,作者采用了 K-mer 分词的方法,以更好地捕捉碱基之间的关系。将长度为41 bp的 DNA 序列通过一个大小为 $k$ 的滑动窗口,分割成一系列重叠的 k-mer “单词”。经过实验比较,作者发现当 $k=3$ 时效果最佳。
然后,使用一个嵌入层将这些 3-mer “单词”(总共 $4^3=64$ 种)映射为连续的、可学习的词向量。作者发现,直接使用随机初始化的嵌入层(Init),其效果与使用预训练模型进行微调 (fine-tune) 几乎相同,甚至在某些情况下更优。
2.2.2 Bi-LSTM + Attention 模型
模型的网络结构相对简单,但非常有效。
经过嵌入层处理后的序列特征被送入一个双向 LSTM 中。LSTM 通过其门控机制(输入门 $i_t$、遗忘门 $f_t$、输出门 $o_t$)和细胞状态 $c_t$,能够有效地处理序列信息并捕捉长程依赖。
\[\begin{align*} i_t &= \sigma(W_{ii}x_t + b_{ii} + W_{hi}h_{t-1} + b_{hi}) \\ f_t &= \sigma(W_{if}x_t + b_{if} + W_{hf}h_{t-1} + b_{hf}) \\ g_t &= \tanh(W_{ig}x_t + b_{ig} + W_{hg}h_{t-1} + b_{hg}) \\ o_t &= \sigma(W_{io}x_t + b_{io} + W_{ho}h_{t-1} + b_{ho}) \\ c_t &= f_t \cdot c_{t-1} + i_t \cdot g_t \\ h_t &= o_t \cdot \tanh(c_t) \end{align*}\]双向 LSTM 则通过从前向和后向两个方向处理序列,来获取更全面的上下文信息。
Bi-LSTM 的输出是一个隐藏状态序列 $(h_1, h_2, …, h_L)$。传统的做法是取最后一个隐藏状态 $h_L$ 或对所有隐藏状态求平均。
为了更好地利用序列中的所有信息,作者在 LSTM 之后加入了一个注意力层。该注意力机制通过计算 LSTM 的最终输出(代表全局信息)与每个时间步的输出(代表局部信息)之间的点积来生成注意力分数 (attention score)。这些分数经过 Softmax 层归一化后,得到一组权重。最后,将这些权重应用于 LSTM 的输出序列,进行加权求和,得到最终的上下文向量。这个向量融合了整个序列的信息,并对关键部分给予了更多的关注。
最后,将这个上下文向量送入一个全连接层,输出最终的分类概率。
3. 实验分析
作者在三个物种的数据集上,对 6mA-Pred 的性能进行了全面的评估,并与现有的多种先进方法进行了比较。
3.1 不同 K-mer 值的性能比较
作者首先在三个物种的数据集上,测试了不同 k-mer 值(k从1到6)对模型性能的影响。
实验结果一致地显示,当 $k=3$ 时,模型在所有五个评估指标(Sn, Sp, Acc, MCC, AUC)上均取得了最佳性能。因此,在后续所有实验中,作者都采用了 3-mer 进行分词。

3.2 在不同数据集上与现有方法的性能比较
3.2.1 水稻 (Rice) 数据集
作者将 6mA-Pred 与两种优秀的水稻 6mA 预测模型(iDNA6mA-Rice 和 SNNRice6mA)进行了比较。
首先,作者在不同比例的训练数据上进行了测试。结果显示,在所有比例下(20%, 40%, 60%, 80%),6mA-Pred 的性能都优于 iDNA6mA-Rice。

在完整的训练集上进行5折交叉验证,6mA-Pred 在所有五个指标上均超越了 SNNRice6mA, SNNRice6mA-large 和 iDNA6mA-rice。其 MCC 达到了0.88,AUC 达到了0.981。

3.2.2 小鼠 (Mus musculus) 数据集
作者将 6mA-Pred 与 iDNA6mA-PseKNC 在小鼠数据集上进行了比较。
由于 iDNA6mA-PseKNC 使用了留一法交叉验证(jackknife test),而这对于深度学习模型来说耗时过长,作者为 6mA-Pred 报告了5折交叉验证(cv)和独立测试(ind)两种结果。
结果显示,6mA-Pred 的性能非常出色,其独立测试的 MCC 达到了0.861,与 iDNA6mA-PseKNC 的0.93相比虽然略低,但考虑到评估方法的差异,这仍然是一个极具竞争力的结果。

3.2.3 人类 (Human) 数据集
作者将 6mA-Pred 与目前最优的人类 6mA 预测模型 SICD6mA 进行了比较。两者都使用了相同的训练集和测试集。
结果显示,6mA-Pred 的性能与 SICD6mA 非常接近,其 MCC 和 AUC 分别达到了0.87和0.98,证明了 6mA-Pred 在人类基因的 6mA 位点识别上同样非常有效。

3.3 与传统机器学习方法的比较
为了进一步验证深度学习模型的优势,作者将 6mA-Pred 与三种经典的机器学习算法(SVM, RF, XGB)在三种物种的独立测试集上进行了比较,并测试了两种不同的特征提取方法(KMER 和 NCP)。
- 图 A-C (KMER 特征): 在使用 KMER 特征时,6mA-Pred 在所有三个物种上都显著优于 SVM, RF, XGB。
- 图 D-F (NCP 特征): 在使用 NCP 特征时,6mA-Pred 的优势同样明显。

这些结果充分证明,6mA-Pred 通过其 LSTM+Attention 架构,在多个物种的 6mA 位点预测任务上,均取得了优于或与现有最先进方法相当的性能,是一种高效且可靠的预测工具。