基因疾病关联的图卷积神经网络

该研究提出了一种基于图卷积神经网络(PGCN)的疾病基因关联预测方法,解决了传统方法受限于人工特征、网络拓扑或预定义规则的问题。PGCN通过异构网络学习基因和疾病的嵌入表示,实现端到端的关联预测。实验结果显示,PGCN在疾病基因排序和新关联预测上表现出优越性能,证明了其在生物信息学中的潜力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基因疾病关联的图卷积神经网络

本文要介绍的是沙特阿卜杜拉国家科技大学高兴副教授课题组发表的一篇关于图卷积神经网络的基因疾病关联预测的论文。对候选基因排序对于遗传疾病基于基因的诊断是至关重要的。然而,由于有限、噪声的基因、疾病及其其关联的信息,这是一个极具挑战性的任务。而许多疾病基因排序计算方法,其性能很大程度上受到人工的提取特征、网络拓扑或预定义的数据融合规则的限制。作者提出一种新的基于图卷积网络的疾病基因排序方法PGCN。通过由基因、疾病以及各自的特征构成的异构网络的系统嵌入,嵌入学习模型和关联预测模型以端到端的方式组合在一起。实验结果表明,PGCN显著优于其他现有的预测方法。 研究背景 现有的疾病基因排序方法可以分为几类:基于文本挖掘方法、基于相似性方法、基于网络方法、基于矩阵填充方法等。尽管现有努力取得了进展,但仍然存在瓶颈。首先,基于相似性方法无法处理新的疾病相关基因未知。其次,基于网络的方法合理,其受网络拓扑结构的影响,不容易集成关于疾病和基因的多源信息。第三,矩阵补齐方法假设基因和疾病之间存在加权线性关系。此外,大多数现有的方法严重依赖于手工提取特征。另一方面,深度学习和图模型在生物信息学中的应用。 为此,作者提出一种新的疾病基因排序方法,由分子交互网络、疾病相似性网络、已知疾病-基因关联网络以及与基因和疾病相关的附加信息构成的异构网络。此方法首先通过图卷积神经网络得到基因和疾病相关的嵌入,同时考虑网络拓扑和疾病、基因的附加信息。嵌入形式送入边解码(边预测)模型。尽管此方法用两个步骤描述,但此模型以端到端的方式对模型进行训练。 模型与方法 方法框架 方法框架如图1所示。 (A)模型的输入包含两个组件:异构网络和节点的附加信息。其中异构网络采用HumanNet作为基因网络,疾病相似性网络作为疾病网络,OMIM的关联网络作为疾病-基因网络。对于疾病的附加信息,我们使用疾病本体相似度和OMIM计算的TF-IDF。为了获得基因的额外信息,我们使用了从其他物种的关联矩阵和基因表达微阵列数据。 (B)用于学习图卷积神经网络的节点嵌入的一层更新示例。对于每个节点模型从它的邻居节点之前层嵌入聚合信息,然后应用激活来获得该节点的当前层嵌入。对于不同的节点,计算图可以不同,但相同的操作在不同的计算图中共享参数。 (C)链路预测模型,我们从学习到的节点嵌入用双线性边解码器对于边预测建模。 (D)根据真实值和模型预测值计算交叉熵作为损失函数,以端到端方式训练节点嵌入模型和边解码模型。 图1. 方法框架 数学公式 在每一层,对于每一个节点,信息聚集和转换形式,如公式1所示。                                  (1)                                                (2) 采用ReLU 以为例: 以为例: 从GCN嵌入学习重构网络边,使用双线性解码器作为边解码器,如公式3所示。                                       (3) :疾病节点学习的嵌入表示。 :疾病节点学习的嵌入表示。 :可训练矩阵。 采用sigmoid。 使用交叉熵损失作为损失函数评估模型,如公式4所示。                       (4)                                               (5) 实验结果 PGCN的预测性能 首先,作者使用以下标准(AUROC、AUPRC、Recall@K)评估提出的方法和对比方法。其次,评估了不同方法对新基因、新疾病的关联预测性能。作者提出的方法优于现有的疾病基因排序方法。 图2. 预测性能比较 嵌入的生物意义 作者为了可视化disease和gene的embedding的意义,采用t-SNE进行降维,将32维的embedding vector降为两维,根据聚类的颜色表示不同关联得分的相似性,说明embedding向量是基因或者疾病的低维表示,并且学习了两者的关联信息。其可视化嵌入的结果如图3所示。 图3. 利用t-SNE在二维空间中可视化嵌入的聚类 总结 作者在这个工作中提出了一种新的、统一的疾病基因排序的框架。该方法使用图卷积神经网络结合异构网络拓扑结构、疾病和基因的邻居信息以及疾病、基因相关信息自动学习疾病和基因的嵌入表示,嵌入模型和关联预测模型以端到端的方式训练。实验证明该方法在恢复缺失关联以及发现新基因或新疾病关联的性能优越。其框架是通用的,可以应用到计算生物学的其他重要问题,比如药物-疾病关联等。 作者信息

背景

文章使用图卷积神经网络做疾病基因的优先级排序(Proper prioritization), 并取得不错的效果,我也发现有越来越多的人来使用图卷积来表达关联关系,例如上个月发表在cells的一篇文章同样也是用的图卷积做lncRNA和Disease之间的关联,并做了很多分析。

作者的motivation:候选基因集的优先级对于基因相关疾病十分重要,传统方法基于hand-craft特征,基于规则或者基于统计,无法对数据进行更好的表达

论文地址https://www.biorxiv.org/content/biorxiv/early/2019/01/28/532226.full.pdf ,preprint中

源码地址https://github.com/lykaust15/Disease_gene_prioritization_GCN,使用的框架是tensorflow+python3.6

目前该方向已有算法:

  • GeneHound(2018)
  • IMC(2014)
  • GCAS(2018)
  • Catapult(2013)

上述的主流算法可以分为一下几类:

  • filter methods: 候选list根据属性关联性划分为小的集合
  • text mining:根据文本中的疾病信息和基因做关联,计算关联得分,但只能socre已有基因
  • similarity profiling&data fusion:相似基因关联相似疾病(推荐系统的user-item),从不同数据集中得到归一化ranking, 最后top-N排序
  • network-based methods:用图网络之类表示edge-node关联
  • matrix completion techniques:关联矩阵,(推荐系统的高维user-item matrix) ,矩阵评分填充

计算流程

将disease和gene的特征作embedding, 并看作图网络的节点,边的值代表关联的权重,和相关性正相关,需要计算的是不同疾病对于不同基因的相关性,也就是上图中的candidate interaction 从已知的图结构中推测未知边的权重得分.

  • 输入:disease的关联图, gene<->gene关联图, gene<->disease关联图,disease和gene的embedding特征
  • 子网络:gene network + disease similarity network + disease-gene network(最后有12331 genes, 3215 diseases, 3988 disease-gene的关联信息)-> 关联关系比较少
  • 输出:未知edge的权重(二分类训练)

图信息

gene network

  • HumanNet:包含mRNA 共表达,蛋白质交互, 和基因组比较信息
  • 四个物种的21对基因组信息
  • 12331 genes 和733836 edges

disease network

  • OMIM数据集文本挖掘:提取医学解剖和疾病部分主题标题
  • 3215 diseases 和 645945 edges
  • node embedding:Disease Ontology similarity+ OMIM,频次作为关联, TF-IDF作为特征

disease-gene network

  • 从OMIM提取,没有embedding信息
  • 12331 genes, 3215 diseases, 3988 disease-gene关联边

GCN

  • 采用最简单的图卷积网络,更新临接矩阵
  • 逐层卷积,采用18年的权重归一化方法,2层的GCN层

第k层的卷积形式, c为归一化权重,N表示相邻节点:

新的edge 的关联获取方式:

第一个z是disease经过GCN的embedding,第二个z是gene的,W是临接矩阵,激活函数是sigmoid(个人理解相关联的disease和gene会获得很相似的embedding表达,不就是推荐系统的么。)

训练的时候采用logloss,相关边为1, 无关边 随机负采样为-1, 论文写的只训练disease和gene的边?:

Mark:有用的分析方法:T-SNE

作者为了可视化disease和gene的embedding的意义,采用T-SNE进行降维,将32维的embedding vector 降到两维,根据聚类的的颜色来表示不同关联得分的相似性,说明embedding向量就是基因或者疾病的低维表示, 并且学习了两者的关联信息。

编辑于 2019-09-22

### 图卷积神经网络 (GCN) 的实际应用实现 #### 1. GCN 的基本原理 图卷积神经网络(Graph Convolutional Networks, GCN)是一种专门设计用于处理图结构数据的深度学习模型。它通过对节点及其邻居的信息进行聚合操作,从而提取局部特征并传播到整个图中[^1]。这种机制使得 GCN 能够有效捕捉复杂关系中的模式。 核心思想在于定义一种适用于图结构的卷积运算方式。具体来说,GCN 利用了谱域上的图信号平滑化理论,在每一层计算过程中更新节点表示向量 \( h_i^{(l)} \),其公式如下: \[ h_i^{(l+1)} = \sigma \left( \sum_{j \in N(i)} \frac{1}{c_{ij}} W^{(l)} h_j^{(l)} \right), \] 其中 \( c_{ij} \) 是归一化系数,\( W^{(l)} \) 表示第 \( l \)-th 层权重矩阵,而 \( \sigma(\cdot) \) 是激活函数[^2]。 --- #### 2. 使用 Python 和 PyTorch 实现 GCN 以下是基于 PyTorch 的简单 GCN 模型实现代码片段: ```python import torch import torch.nn as nn import torch.nn.functional as F from torch_geometric.nn import GCNConv # 需要安装 pytorch geometric 库 class GCNModel(nn.Module): def __init__(self, input_dim, hidden_dim, output_dim): super(GCNModel, self).__init__() self.conv1 = GCNConv(input_dim, hidden_dim) # 第一层 GCN 卷积 self.conv2 = GCNConv(hidden_dim, output_dim) # 第二层 GCN 卷积 def forward(self, data): x, edge_index = data.x, data.edge_index # 第一次卷积 + ReLU 激活 x = self.conv1(x, edge_index) x = F.relu(x) # 第二次卷积 x = self.conv2(x, edge_index) return F.log_softmax(x, dim=1) # 示例:加载数据集和训练模型 if __name__ == "__main__": from torch_geometric.datasets import Planetoid # 加载常用图数据集 Cora dataset = Planetoid(root='/tmp/Cora', name='Cora') model = GCNModel(dataset.num_node_features, 16, dataset.num_classes) optimizer = torch.optim.Adam(model.parameters(), lr=0.01) criterion = nn.NLLLoss() device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') model.to(device) data = dataset[0].to(device) model.train() for epoch in range(200): # 训练 200 轮 optimizer.zero_grad() out = model(data) loss = criterion(out[data.train_mask], data.y[data.train_mask]) loss.backward() optimizer.step() print(f"Epoch {epoch}, Loss: {loss.item():.4f}") ``` 上述代码展示了如何构建一个两层的 GCN 并应用于经典的 `Cora` 数据集上。该数据集是一个常见的学术引用网络,适合验证半监督分类任务的效果[^3]。 --- #### 3. GCN 的实际应用场景 - **社交网络分析** 在社交媒体平台中,用户之间的互动可以建模成一张图,利用 GCN 可以挖掘潜在的关系链路或者预测用户的兴趣偏好[^5]。 - **推荐系统优化** 对于电商网站的商品购买记录或电影评分行为,可以通过 GCN 学习物品间的关联性,进而提升个性化推荐质量。 - **生物信息学研究** 生物分子间的作用路径通常呈现复杂的网状拓扑特性,因此采用 GCN 方法能够更好地理解基因调控网络的功能模块[^4]。 --- #### 4. 结果评估指标 为了衡量 GCN 性能的好坏,一般会关注以下几个方面: - 准确率(Accuracy) - 微平均精度(Micro-F1 Score) - 宏平均召回率(Macro Recall) 这些评价标准有助于全面了解算法在不同类别分布下的表现情况。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangchuang2017

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值