当前位置: 首页 > news >正文

利用HGT聚类单细胞多组学数据并推理生物网络

单细胞多组学数据允许同时对多种组学数据进行定量分析,以捕捉复杂的分子机制和细胞异质性。然而现有的工具不能有效地推断不同细胞类型的活性生物网络以及这些网络对外部刺激的反应。

来自:Single-cell biological network inference using a heterogeneous graph transformer

目录

  • 前置内容:HGT简述
  • HGT用于生物网络建模

前置内容:HGT简述

HGT来自:Heterogeneous Graph Transformer,WWW2020。在处理web-scale的大图时,HGT引入mini-batch采样算法(HGSampling),降低了对显存的要求。

fig1

  • 给定一个web规模的异构图,例如,一个学术网络,HGT只把它的one-hop edge作为输入。使用meta relationship参数化权重矩阵,不同类型的节点和边可以维护其特定的表示空间。

普遍的GNN总是先提取信息,再聚合信息,例如GCN,GAT。目前的一些异质图GNN方法没有充分利用异质图的属性信息,都是为边类型和节点类型单独分配权重矩阵。不同类型的节点数目和不同类型的边数目差别很大,对于那些出现次数不多的关系类型,就很难为它们学习到准确的权重。

fig2

  • 一个异质图的采样子图上的消息传递,t,s1,s2t,s_{1},s_{2}t,s1,s2分别为目标节点和两个不同的源节点,HGT采用e1,e2e_{1},e_{2}e1,e2以及对应的元关系<τ(s1),ϕ(e1),τ(t)>,<τ(s2),ϕ(e2),τ(t)><\tau(s_{1}),\phi(e_{1}),\tau(t)>,<\tau(s_{2}),\phi(e_{2}),\tau(t)><τ(s1),ϕ(e1),τ(t)>,<τ(s2),ϕ(e2),τ(t)>作为输入,为节点学习一个更符合实际的表征H(L)H^{(L)}H(L),该表征可以用于下游任务。HGT包括三个组成部分:1.元关系感知的异构相互注意力,2.源节点传递的异构消息,3.特定于目标节点的异构消息聚合。

HGT用于生物网络建模

作者提出了利用单细胞多组学数据进行生物网络推理的算法架构DeepMAPS。它在一个异构图中对单细胞多组学数据建模,并使用一个 multi-head graph transformer(HGT)在局部和全局上下文中以一种鲁棒的方式学习细胞和基因之间的关系。
fig3

  • a.DeepMAPS 的总体框架。从输入的单细胞多组学数据进行细胞聚类和生物基因网络推断,主要包括五个步骤。b.图自编码器结合 HGT(异构图 transformer) 模型。利用整合后的细胞-基因矩阵构建了包含所有细胞(绿色)和基因(紫色)的异质图。HGT 模型在多个子图(以50个子图为例)上进行训练,尽可能多地覆盖整个图中的节点。每个子图被训练100轮;因此,整个训练过程迭代5000次。然后将训练好的模型应用到整个图中,学习和更新每个节点的嵌入。c.在一个 HGT 层中嵌入目标节点的更新过程。面板中的红色圆圈表示目标节点,黑色圆圈表示源节点。箭头表示目标节点和源节点之间的连接。彩色矩形表示不同节点的嵌入。在底部图的放大详细过程显示信息传递过程和注意力机制。一个 HGT层的最终输出是所有节点的节点嵌入更新。

在DeepMAPS框架中有五个主要步骤:

  • 通过去除低质量细胞和低表达基因对数据进行预处理,然后根据不同的处理时间采用不同的归一化方法。生成一个矩阵来表示每个基因在每个细胞中的活性。不同的scMulti-omics数据类型采用不同的数据整合方法。
  • 从整合后的矩阵构建异构图,以细胞和基因为node,以细胞中是否存在基因为edge。
  • 建立HGT模型,共同学习细胞和基因的低维embedding,并生成注意力分数,表示基因对细胞的重要性。
  • 基于HGT学习嵌入和注意力分数预测细胞聚类和功能基因模块。
  • 在每种细胞类型中推断出不同的生物网络,例如基因调节网络(GRN)和基因关联网络。

作为一个重要的训练结果,注意力分数代表基因对细胞的重要性。一个基因对一个细胞的注意力得分高,意味着该基因在定义细胞特性和表征细胞异质性方面相对重要。这种区分允许在每个细胞簇中构建可靠的基因关联网络,并作为DeepMAPS的最终输出。


http://www.lryc.cn/news/32700.html

相关文章:

  • 杂记——18.VSCode的下载及使用
  • 【独家】华为OD机试 - 最少停车数(C 语言解题)
  • 顶级动漫IP加持之下,3A策略游戏Mechaverse如何改变GameFi
  • 一款丧心病狂的API测试工具:Apifox!
  • 【前端学习】D2-2:CSS基础
  • Flink / Scala 实战 - 19.ProcessFunction 删除 key 的上一个定时器 TimeTimer
  • MSTP基础
  • 当ChatGPT遇见stable-diffusion,你不敢相信的创意艺术之旅!
  • 一文搞定!postman接口自动化测试【附项目实战详解】
  • ctfshow【菜狗杯】wp
  • 旋转数组的几种做法
  • 创建虚拟机、添加镜像以及配置虚拟机
  • Godot Engine 4.0横空出世,Vulkan大怪兽加持,画质提升简直亮瞎眼
  • CorelDRAWX4的VBA插件开发(四十五)建立类(2)汇总相似功能简化重复代码:一键建立设计外框加出血线和等分折页线
  • 我的十年编程路 2017年篇
  • hadoop有多个输入路径怎么处理
  • day6 ServletContext
  • Dockerfile部署SpringBoot项目
  • Java面向对象特征之三:多态
  • 基于ATX自动化测试解决方案
  • Qt学习5-Qt Creator文件操作(哔站视频学习记录)
  • LeetCode15三数之和 容易理解版本
  • Spring Boot 3.0系列【11】核心特性篇之国际化
  • 每日学术速递3.7
  • 灯具照明行业MES系统,助力企业实现数字化转型
  • 超实用!JavaScript修改CSS变量,达到动态修改样式的目的
  • 解决Vue3 默认槽的非函数值 - Non-function value encountered for default slot 的警告
  • 【Git】P2 分支(创建分支,合并分支,分支冲突,分支分类)
  • 2023年全国最新交安安全员精选真题及答案14
  • Air101|Air103|Air105|Air780E|ESP32C3|ESP32S3|Air32F103开发板:概述及PinOut