为了充分利用组学技术的进步并更全面地了解人类疾病,需要新的计算方法来综合分析多种类型的组学数据。多组学图卷积网络 (MOGONET,Multi-Omics Graph cOnvolutional NETworks)是一种用于生物医学分类的新型多组学整合方法。MOGONET 包含特定组学的学习和跨组学的关联学习,以实现有效的多组学数据分类。在使用 mRNA 表达数据、DNA 甲基化数据和 microRNA 表达数据的不同生物医学分类应用中,MOGONET 优于其他最先进的有监督多组学综合分析方法。此外,MOGONET 可以从与所研究的生物医学问题相关的不同组学数据类型中识别重要的生物标志物。
MOGONET属于有标签的联合测量多模态整合,其主要目的是分类。
来自:MOGONET integrates multi-omics data using graph convolutional networks allowing patient classification and biomarker identification,nature communications,2021
工程地址:https://github.com/txWang/MOGONET
目录
- 背景概述
- 相关工作
- 贡献
- MOGONET框架
- 框架概述
- 数据集
- 评价指标
- 预处理
- GCN学习组学特定信息
- VCDN用于多模态整合
- 生物标志物识别
背景概述
随着技术发展,从同一组样本中我们可以获得不同分子视角的全基因组数据,例如 mRNA 表达、DNA 甲基化和micro RNA (miRNA) 表达,从而为各种疾病的研究提供多组学数据。对于人类疾病,现有研究表明,与仅使用单一类型的组学数据相比,整合多种组学技术的数据可以提高患者临床结果预测的准确性。因此,需要新的整合分析方法来有效利用多组学数据中的相互作用和互补信息。
MOGONET是2021年的方法,截止21年,就已经提出了大量方法来解决各种问题的多组学数据整合。然而,大多数努力都集中在无监督的多组学数据整合上(这里的无监督是指无类型标签的)。随着个性化医疗的快速发展,带有详细注释、能够描述样本表型的数据集正变得越来越广泛。因此,研究有监督的多组学整合方法是有价值的,通常我们希望这些方法可以识别与疾病相关的生物标志物并对新样本进行预测。
相关工作
早期用于生物医学分类任务的有监督数据整合方法的尝试包括基于特征连接的策略(concatenation-based)和基于集成的策略(ensemble-based)。一方面,基于连接的方法通过直接连接输入数据特征来训练分类模型。另一方面,基于集成的方法集成了不同分类器的预测,每个分类器都单独针对一种组学数据进行训练。然而,这些方法未能考虑不同组学数据类型之间的相关性,并且集成结果容易偏向某些组学数据类型。
随着深度学习在各类任务中的不断进步,越来越多的多组学整合方法开始利用深度神经网络(NN)的高学习能力和灵活性。虽然当前基于深度学习的方法通常在输入空间或学习到的特征空间整合不同的组学数据,但不同类型的组学数据在高级标签空间也会呈现出独特的特征。因此,利用不同类别标签和不同组学数据类型之间的相关性来进一步提高性能至关重要。
贡献
为此,作者引入了 MOGONET,一个用于生物医学应用中分类任务的多组学数据分析框架。广泛的生物医学分类应用展示了 MOGONET 的功能,包括阿尔茨海默病患者分类、低级别胶质瘤 (LGG) 的肿瘤等级分类、肾癌类型分类和乳腺浸润性癌亚型分类。此外,作者还证明了 MOGONET 可以识别与所研究的生物医学问题相关的重要组学特征和biomarker。
MOGONET框架
框架概述
MOGONET是一个用于生物医学分类任务的有监督多组学整合框架(图 1)。在预处理和特征选择以消除噪声和冗余特征后,首先使用 GCN 对每种组学数据类型分别学习分类任务。具体而言,作者使用余弦相似度为每种组学数据构建加权样本相似度网络。以组学特征和相应的相似度网络为输入,针对每种组学数据类型训练 GCN 以生成类标签的初始预测。GCN 的一个主要优势是它们可以利用组学数据和样本间相关性的信息来进行更好的预测。然后,进一步利用每个组学特定 GCN 生成的初始预测来构建cross-omics discovery tensor,该tensor反映了跨组学标签的相关性。最后,将cross-omics discovery tensor重塑为向量并转发给 VCDN 进行最终的标签预测。VCDN 可以通过探索更高级别标签空间中不同组学数据类型之间的潜在相关性,有效地整合来自每个组学特定网络的初始预测。MOGONET 是一个端到端模型,组学特定的 GCN 和 VCDN 交替训练,直到收敛。为此,MOGONET 的最终预测基于 GCN 生成的有效组学特定预测和 VCDN 生成的跨组学标签相关性知识。
- 图1:MOGONET 结合了用于多组学特定学习的 GCN 和用于多组学整合的 VCDN。为了清晰简洁地说明,我们用示例来演示用于多组学整合的 VCDN 组件。首先对每种组学数据类型进行预处理,以消除噪音和冗余特征。每个组学特定的 GCN 都经过训练,GCN使用组学特征和从组学数据生成的相应样本相似性网络进行类预测。cross-omics discovery tensor是根据组学特定 GCN 的初始预测计算出的,并转发给 VCDN 进行最终预测。MOGONET 是一个端到端模型,所有网络都是联合训练的。
数据集
使用四个不同的数据集用于四种不同的生物医学分类任务:ROSMAP 用于阿尔茨海默病 (AD,Alzheimer’s Disease) 患者与正常对照 (NC,Normal Contro) 分类,LGG 用于低级别胶质瘤 (LGG,low-grade glioma) 的等级分类,KIPAN 用于肾癌类型分类,BRCA 用于乳腺浸润性癌 (BRCA) PAM50 亚型分类。
有三种类型的组学数据(即 mRNA 表达数据 (mRNA)、DNA 甲基化数据 (meth) 和 miRNA 表达数据 (miRNA))用于分类,以提供有关疾病的全面和互补信息。这是具有匹配的 mRNA 表达、DNA 甲基化和 miRNA 表达数据的样本。数据集的详细信息列于表 1 中。由于冗余特征可能会影响分类任务的性能,因此对每种组学数据类型分别进行预处理和特征预选择,并且用于训练的特征数量也在表 1 中列出。
评价指标
为了比较不同的多组学方法的有效性,随机选择了数据集中 30% 的样本作为测试集,其余 70% 的样本作为训练集。测试集是通过保留原始数据集中的类分布构建的。为了评估比较方法的性能,作者对二元分类任务使用了准确度 (ACC)、F1 分数 (F1) 和 (AUC),对多类分类任务使用了准确度 (ACC)、(F1_weighted) 和 (F1_macro)。作者在五个不同的随机生成的训练和测试分割上评估了所有方法,并报告了这五个实验中评估指标的平均值和标准差。
预处理
首先,对于 DNA 甲基化数据,仅保留与 Illumina Infinium HumanMethylation27BeadChip 中的探针(probes)相对应的探针,以使结果更具可解释性。然后,进一步过滤掉没有信号(零均值)或方差低的特征。具体而言,对不同类型的组学数据应用了不同的方差过滤阈值(mRNA 表达数据为 0.1,DNA 甲基化数据为 0.001),因为不同的组学数据类型有不同的范围。对于 miRNA 表达数据,仅过滤掉没有变化的特征(方差为零),这是因为由于 miRNA 可用的特征实在有限。四个数据集都使用相同的方差阈值组。每个数据集的预选特征数量如表1所示。最后,将每种类型的组学数据单独缩放到 [0, 1] 以训练 MOGONET。
GCN学习组学特定信息
针对每种组学数据类型训练一个 GCN 来执行分类任务。虽然现有的 GCN 模型主要侧重于半监督学习(Transductive Learning),通过将标签从标记数据传播到未标记数据,但这些方法在临床应用中的价值可能有限,因为学习到的 GCN 模型不能直接应用于预测在训练过程中不可用的新样本的数据。
因此,在这项工作中,作者探索了 GCN 在监督学习中的应用。目标是在网络训练期间通过graph捕获数据的内在结构。通过将每个样本视为样本相似性网络中的一个节点,MOGONET 中每个 GCN 的目标都是学习图 G = ( V , E ) G=(V,E) G=(V,E)上的特征函数,利用每个节点的特征以及图 G G G中表征的节点之间的关系来执行分类任务。
GCN的输入包含两部分:
- 特征矩阵 X ∈ R n × d X\in\R^{n\times d} X∈Rn×d,其中 n n n是节点数量, d d d是特征数量;
- 图结构的描述,用邻接矩阵 A ∈ R n × n A\in\R^{n\times n} A∈Rn×n表示。
GCN 可以通过堆叠多个卷积层来构建。具体来说,每层定义为:
其中,
H
(
l
)
\textbf{H}^{(l)}
H(l)是第
l
l
l层的输入,
W
(
l
)
\textbf{W}^{(l)}
W(l)是该层的权重。为了提高训练表现,邻接矩阵可以被修改为:
其中,
D
^
\widehat{\textbf{D}}
D
是
A
^
\widehat{\textbf{A}}
A
的对角线度矩阵,
I
\textbf{I}
I是单位矩阵。
在MOGONET中,原始邻接矩阵
A
\textbf{A}
A通过计算节点之间的余弦相似度获得,并保留余弦相似度大于阈值
ϵ
ϵ
ϵ的边。阈值
ϵ
ϵ
ϵ决定了参数
k
k
k,其代表保留的每个节点的平均边数,包括自连接:
其中,
I
I
I是指示函数,
n
n
n是节点数。如果
k
=
1
k=1
k=1,graph将没有节点间的连接。由于没有edge,GCN将退化为全连接网络。
尽管GCN主要用于无监督或者半监督,但在这里,GCN被置于有监督场景。对于训练集
X
t
r
∈
R
n
t
r
×
d
\textbf{X}_{tr}\in\R^{n_{tr}\times d}
Xtr∈Rntr×d,对应邻接矩阵
A
~
t
r
∈
R
n
t
r
×
n
t
r
\widetilde{\textbf{A}}_{tr}\in\R^{n_{tr}\times n_{tr}}
A
tr∈Rntr×ntr。输入GCN后有:
其中,
Y
^
t
r
∈
R
n
t
r
×
c
\widehat{\textbf{Y}}_{tr}\in\R^{n_{tr}\times c}
Y
tr∈Rntr×c表示每个训练样本的预测label概率。
对于新的test sample
x
t
e
∈
R
d
\textbf{x}_{te}\in\R^{d}
xte∈Rd,只需要扩展特征矩阵:
再根据相似度生成新的邻接矩阵:
具体来说,在生成相似度邻接矩阵时, A ~ t r t e \widetilde{\textbf{A}}_{trte} A trte 的最后一行和最后一列的条目是测试期间计算的唯一条目,以反映测试样本 x t e \textbf{x}_{te} xte 和训练样本 X t r \textbf{X}_{tr} Xtr 之间的亲和力。
然后再用GCN遍历图得到:
GCN利用测试样本的特征以及测试样本与训练样本之间的相关性来预测测试样本的标签(依然在Transductive learning下)。
然后,记组学
i
i
i训练数据
X
t
r
(
i
)
∈
R
n
t
r
×
d
i
\textbf{X}_{tr}^{(i)}\in\R^{n_{tr}\times d_{i}}
Xtr(i)∈Rntr×di上训练的GCN为
G
C
N
i
GCN_{i}
GCNi,训练数据的预测概率为:
其中,
Y
^
t
r
(
i
)
∈
R
n
t
r
×
c
\widehat{\textbf{Y}}_{tr}^{(i)}\in\R^{n_{tr}\times c}
Y
tr(i)∈Rntr×c,用
y
^
j
(
i
)
∈
R
c
\widehat{\textbf{y}}_{j}^{(i)}\in\R^{c}
y
j(i)∈Rc表示其第
j
j
j行。对于
G
C
N
i
GCN_{i}
GCNi的损失函数写为(基本的交叉熵):
VCDN用于多模态整合
在不造成负面影响的情况下正确对齐各种view始终是一项挑战。VCDN(Generative multi-view human action recognition,ICCV2019)旨在学习标签空间中更高级别的模态内和模态间相关性。在MOGONET中,作者利用VCDN整合不同的组学数据类型进行分类。此外,虽然VCDN的原始形式是为具有两个模态的设计,但这里进一步将其概括为适应任意模态数量,并使用三种类型的组学数据进行演示:mRNA表达,DNA甲基化和miRNA表达。
由于实验使用了 mRNA 表达数据、DNA 甲基化数据和 miRNA 表达数据,因此演示如何扩展 VCDN 以适应三个视图。对于
y
^
j
(
i
)
,
i
=
1
,
2
,
3
\widehat{\textbf{y}}_{j}^{(i)},i=1,2,3
y
j(i),i=1,2,3,构建张量
C
j
∈
R
c
×
c
×
c
\textbf{C}_{j}\in\R^{c\times c\times c}
Cj∈Rc×c×c,其中的每个条目被计算为:
其中,
y
^
j
,
a
(
i
)
\widehat{y}_{j,a}^{(i)}
y
j,a(i)表示
y
^
j
(
i
)
\widehat{\textbf{y}}_{j}^{(i)}
y
j(i)的第
a
a
a个条目。
然后,将得到的张量
C
j
\textbf{C}_j
Cj 重塑为
c
3
c^{3}
c3 维向量
c
j
\textbf{c}_{j}
cj,并转发给 VCDN(⋅) 进行最终预测。VCDN(⋅) 设计为全连接网络,输出维度为
c
c
c。VCDN(⋅) 的损失函数可以写成:
总的损失写为:
可以发现,MOGONET的设计十分朴素。
生物标志物识别
由于 MOGONET 的输入在预处理期间被缩放到 [0, 1],我们可以通过将信号设置为零来从特征中移除信号。因此,可以通过删除特征后的性能下降来衡量特征对分类任务的重要性。这种消融方法已被广泛用于特征重要性排序和特征选择。性能下降最大的特征被认为是最重要的特征。我们使用 F1 分数来衡量二元分类任务的性能下降,使用 F1_macro 来衡量多类分类任务的性能下降。