DeepDiff: Deep-learning for predicting Differential gene expression from histone modifications. Arshdeep Sekhon, Ritambhara Singh, and Yanjun Qi. Bioinformatics. 2019.
1.背景
基因调控是控制基因表达的过程。人体包含大量的不同的细胞类型。虽然细胞包含相同的DNA信息,但是功能不同。细胞利用一系列机制来调控基因差异表达。表观遗传研究基因的表达如何通过一系列染色质上的化学反应发生改变同时DNA序列不发生改变。组蛋白修饰(HM)是一种重要的在染色质上的化学反应对调控基因转录起到重要作用。DNA链由类似于“珠子”状结构的核小体缠绕,核小体由组蛋白构成,这些组蛋白易于被各种修饰(如甲基化,乙酰化,磷酸化等),从而修饰DNA结构的空间方向。这种修饰影响转录因子蛋白(与DNA)结合的行为,从而产生不同形式的基因调控。组蛋白修饰在影响基因调控中的重要作用在诸如将异常组蛋白修饰谱与癌症发生联系起来的研究中得到了证明。与DNA突变相反,这种表观遗传变化可能是可逆的。
2.模型
问题:在给定两种不同的细胞类型(假定为A,B两类)中基因的组蛋白修饰谱,预测基因表达水平的log-fold change, 将基因的log-fold change值作为差异表达任务回归的标签。
2.1 数据
(1)输入数据
对每个基因的转录起始位点(TSS)附近的20,000个碱基的DNA区域(+/-10000 bp)划分为200个,每个长度为100 bp的bins,然后考虑了五个核心的组蛋白修饰标志,它们存在于多种细胞类型中。Table 4给出了这五个组蛋白修饰标志以及在基因组中相关功能区域。
下图表示每个基因包括两个\(5\times 200\)的矩阵,每个矩阵对应于两种细胞类型中的一种,每一行表示组蛋白修饰,每一列表示bin。
(2)输出数据
基因表达水平的log-fold change。
(3) 实际数据:
从REMC数据库中下载了10中不同细胞类型的基因表达和五个核心组蛋白修饰信号的HM数据。下图是多个细胞类型的ID和信息。
主任务:使用在两种细胞类型下的原始计数的log fold change作为回归标签;
辅助任务:在每种细胞类型下原始计数的log.
以上的多个不同细胞类型两两搭配,得到以下10个细胞类型对用于数据分析。
每一对细胞,包含18460个基因的样本集,然后将集合分为3个部分:训练集(10000 genes),验证集(2360 genes)和测试集(6100 genes).
2.2 符号
\(\pmb{X}^A \in R^{M\times T}\)和\(\pmb{X}^B \in R^{M\times T}\)表示在细胞A和B中的HM信号,其中\(M\)表示HM信号数,\(T\)表示bins的个数。对每个基因,输入信号包括以下形式:\(\pmb{X}^A\)(来自A细胞的组蛋白信号),\(\pmb{X}^B\) (来自B细胞的组蛋白信号) \(\pmb{X}^A-\pmb{X}^B\)(两种条件下组蛋白信号的差异矩阵)。
训练集包含\(N_{samp}\)个形式为\((\pmb{X}_{(n)},y_{(n)})\)的基因样本,其中\(n\in\{1,\cdots,N_{samp}\}\).给定两种细胞类型A和B,一个基因\(g\)在A和B中HM谱为\(\pmb{X}^A\)和 \(\pmb{X}^B\) ,每个基因有\(M=5\)个HM标志,每个HM信号跨\(T=200\)个bins。
2.3 模型
2.3.1 主任务
考虑到原始特征的空间结构和模组性质,我们使用了两个水平的基本嵌入模块:Level I和Level II 嵌入单元和两水平的attention模块。
(1) Level I Embedding (\(f_1\)):
Level I Embedding模块是由一个bin-level的LSTM(用来学习每个HM的嵌入)加上一个bin level的注意力机制两部分构成。Level I Embedding \(f_1\)包含多个双向的LSTMs, 每个输入HM对应一个。\(LSTM_j\)对应于第\(j\)个HM,也就是矩阵\(\pmb{X}\)的第\(j\)行向量,\(\pmb{X}_j=[x_{j1},\cdots,x_{jt},\cdots,x_{jT}]\). 前向LSTM模型依赖于从1到T方向上的\(x_j\), 即\(\overrightarrow{h}_{jt}=\overrightarrow{LSTM}_j(x_{jt})\), 其中\(\overrightarrow{h}_{jt}\)的隐藏状态大小为\(D\)。反向LSTM依赖于从T到1的\(x_j\),即\([x_{jT},\cdots,x_{jt},\cdots,x_{j1}]\), 因此\(\overleftarrow{h}_{jt}=\overleftarrow{LSTM}_j(x_{jt})\). 双向LSTM的输出为前向和后向LSTM在每个t未知的隐藏状态的合并:\(h_{jt}=[\overrightarrow{h}_{jt},\overrightarrow{h}_{jt}]\), 其中\(h_{jt}\)的大小为\(2\times D\).
(2) Bin level Attention:
深度学习中的attention是用来突出对给定预测重要的特征。在训练的过程中采用一个soft attention mechanism用来自动发现哪些重要的bin的位置。注意力增强的LSTM对bin嵌入学习了一个加权的表示,因此更重要的bin位置得到更高的权重。具体来说,使用一个背景权值因子,用\(Wb_j\)来表示对每个\(HM_j\)来说的维度为\(2\times D\)。对应于第j个HM的第t个bin的注意力权重\(\alpha_{jt}\)为:
\(Wb_j\)是通过训练学习的。这些注意力权重用来加权所有bins的嵌入向量来得到总的嵌入:\(h_j=\sum_{t=1}^T(\alpha_{jt}\times h_{jt})\).
(3) Level II Embedding (\(f_2\)):
为了表示多个HM之间组合的依赖性,使用另一个LSTM作为二次嵌入模块。这个LSTM将Level I Embedding的输出\(h_j,j\in \{1,\cdots,M\}\)作为输入。具体来说,就是将Level I Embedding 模块得到的第\(j\)个HM嵌入\(h_j\)作为双向LSTM中的第\(j\)个时间步,对第\(j\)个时间步得到一个嵌入向量:\(s_j=LSTM(h_j)\).
(4) HM level Attention:
为了将来自M个HM的输出结合起来,使用一个二阶attention mechanism来学习注意力权重\(\beta_j\),表示第j个HM的重要性。我们学习一个HM水平的背景向量\(W_h\)来计算注意力得分:
\(\beta_j\)直观上来说表示HM\(x_j\)对整个矩阵\(\pmb{X}\)的总的表示的相对贡献。为了得到HM的总的嵌入,采用以下式子:\(\pmb{v}=\sum_{j=1}^M(\beta_j)\times s_j\). bin-level 以及HM-level的注意力权重使得我们可以解释在哪个HM上的哪个bins对预测更加重要。
(5) 损失函数以及求解
从Level II Embedding学到的表达向量\(\pmb{v}\)被传入一个多层感知机(MLP)模块来学习一个回归函数。这个预测模块\(f_{mlp}(\cdot)\)是一个具有多个交替线性和非线性层的全连接多层感知机网络。整个网络输出可以表示为:
\(f(\pmb{X})=f_{mlp}(f_2(f_1(\pmb{X})))\).
在训练函数\(f(\cdot)\)的过程中学习的参数记为\(\Theta\)。在整个训练集上大小为\(N_{samp}\)的损失函数\(l_{Diff}\)为:
反向传播采用随机梯度下降(SGD)的方法来训练参数。更新公式:
本文采用ADAM来训练模型,计算适应性学习率\(\eta\)代替固定的\(\eta\)。
2.3.2 辅助任务
多任务学习是由Caruana提出用于在多个相关任务中找到共同的特征表示。
(1) Cell-Specific Auxiliary-(Auxiliary-Task-A+Auxiliary-Task-B)
假定在A,B两种细胞类型中的每一个中进行特定细胞类型的基因表达预测作为DeepDiff主任务的辅助任务。在Auxiliary-Task-A和Auxiliary-Task-B中基因表达计数的对数作为目标值。我们在所有的计数中加1来处理表达为0的情况。通过相同的 步骤输出\(v_A\),然后通过MLP层\(f_3^A(v_A)\), \(f_3^A\)将A细胞中的基因的\(\pmb{X}^A\)映射到目标值。通过联合训练特定细胞类型的表达和差异基因表达,可以提升DeepDiff主任务的表现。我们采用训练集中基因表达的目标值和预测值之间的MSE损失和来训练这两个辅助任务,将这两个辅助任务整体损失记为:\(l_{CellAux}\).
(2) Siamese Auxiliary-with Contrastive Siamese loss
Siamese结构由共享参数的两个相同的网络构成,接受不同的输入通过对输出采用一个近似标准结合在一起。这个近似标准(用于网络输出的损失),加上共享的权重使得“相似的”输入映射到输出表示空间中相邻的点,“不相似的”输入映射到较远的点。我们认为两个差异表达的基因的组蛋白修饰谱\(\pmb{X}^A\),\(\pmb{X}^B\)是“不同的”,对于非差异表达的则是“相似的”。
用\(S=1\)表示“不相似”;\(S=0\)表示“相似”。如果基因的log change<=-2(下调);>=2(上调),标签为\(S=1\). 否则\(S=0\).
对这个辅助任务,用Level I Embedding 模块作为Siamese的两个网络。对Siamese contrastive loss, 我们使用细胞A和细胞B的Level I embedding :\(f_1^A,f_1^B\).
分析:如果某个基因是没有差异的,则\(S=0\), 要使\(l_{Siamese}\)最小,则\(R\)要最小;
如果某个基因是有差异的,则\(S=1\), 要使\(l_{Siamese}\)最小,则\(R\)要与\(m\)尽可能的接近,论文中设置\(m=2\).
(3) Possible variations of DeepDiff
结合不同的输入形式:\(\pmb{X}^A\), \(\pmb{X}^B\), \(\pmb{X}^A-\pmb{X}^B\), \([\pmb{X}^A,\pmb{X}^B]\)
以及不同的辅助任务:Auxiliary-Task-A,Auxiliary-Task-B,Siamese Auxiliary
得到DeepDiff多种变形。本文考虑了以下七种:
3.实验设置和结果
本文将DeepDiff方法与single layer SVR, two layer SVR, reliefF feature selection + random forest, attentiveChrome方法进行了比较。
(1) 评价标准:Pearson Correlation Coefficient (PCC)
(2) Interpreting differential regulation using attention
分析了细胞对E116和E123在Level II Embedding的注意力权重。E116表示正常的血细胞,E123表示白血病细胞。我们的目的是验证学到的注意力权重能够对这两种选择的细胞类型(正常的和疾病的)的差异基因调控提供解释。
对测试集中的注意力权重进行分析,首先从测试集中得到一组下调的基因(log fold change <-8),以及一组上调的基因(log fold change >8)。下图画出了所有选择的上调和下调基因对应的5个HM的评价注意力权重。
DeepDiff学到了对差异表达基因起到重要作用的HMs。
4.结论
本文提出DeepDiff方法利用组蛋白修饰(HM)来进行差异基因表达预测。
(1)利用LSTM来处理HM信号的空间结构和长期依赖关系;
(2)two-level attention机制能够在bin水平和HM水平上找出异常特征;
(3)多任务结构能够处理少数在两种细胞中差异表达的基因预测;