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

news/2024/5/20 7:54:14 标签: 聚类, 算法, 机器学习

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

来自: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 , s 1 , s 2 t,s_{1},s_{2} t,s1,s2分别为目标节点和两个不同的源节点,HGT采用 e 1 , e 2 e_{1},e_{2} e1,e2以及对应的元关系 < τ ( s 1 ) , ϕ ( e 1 ) , τ ( t ) > , < τ ( s 2 ) , ϕ ( e 2 ) , τ ( 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.niftyadmin.cn/n/127457.html

相关文章

redis进阶:mysql,redis双写一致性,数据库更新后再删除缓存就够了吗?

0. 引言 最近线上的一个状态修改功能出现了问题&#xff0c;一开始是运营找了过来&#xff0c;运营告知某条数据的状态已经开启了的&#xff0c;但是实际使用起来还是没有生效&#xff0c;于是拿到这个问题后&#xff0c;首先就去数据库查了这条数据&#xff0c;发现确实如他所…

Kubernetes 101,第二部分,pod

在上一篇文章中,我们了解了Kubernetes 的基础知识以及对其主要架构的介绍。 介绍完毕后,就该探索如何在 Kubernetes 中运行应用程序了。 容器包装器 在 Kubernetes 中,我们无法直接创建单个容器。相反,为了更好,我们可以将容器包装成一个单元,其中包括: 规范:多个容器可…

没有钢琴也可实现弹奏自由?实时在Jetson上运行单阶段手指关键点模型

钢琴是人类创作音乐的经典乐器&#xff0c;程序是实现创意的工具之魂。今天我给大家分享用程序实现的桌上钢琴师项目。本项目基于飞桨实现一个虚拟钢琴&#xff0c;让大家可以在任意平面上弹奏钢琴&#xff0c;实现弹奏自由。 该项目的原理是利用手部关键点检测模型识别手的关键…

C++模板及实例化与具体化

C模板及实例化与具体化实例化&#xff08;instantiation&#xff09;具体化&#xff08;specialization&#xff09;隐式实例化&#xff08;implicit instantiation&#xff09;显式实例化&#xff08;explicit instantiation&#xff09;显式具体化&#xff08;explicit speci…

数据库基本功之SQL的数据类型

1.四种基本的常用数据类型 1.1 字符型 char # 固定字符,最长2000个 varchar2 # 可变长字符,最长4000个,最小值是1 nchar/nvarchar2 # 类型的列使用国家字符集 raw & long raw # 固定/可变长度的二进制数据长度 最2G,可存放多媒体图象声音等.(老类型,逐步淘汰) LONG …

Java方法的使用

目录 一、方法的概念及使用 1、什么是方法(method) 2、方法定义 3、方法调用的执行过程 4、实参和形参的关系 二、方法重载 1、为什么需要方法重载 2、方法重载概念 3、方法签名 三、递归 1、递归的概念 2、递归执行过程分析 一、方法的概念及使用 1、什么是方法(met…

Windows 使用Cmake编译faiss gpu源码指南

Windows 使用Cmake编译faiss gpu源码指南 环境: Windows 10 Nvidia 3090 VS2019 CMake 3.20.5 Cuda 11.1 注:需要设置系统环境变量命名规则:变量必须是CUDA_PATH_V11_1 值:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1(否则cmake找不到cuda路径) Python 3…

经纬恒润再传佳讯,斩获大奖

阳春二月&#xff0c;经纬恒润屡传佳讯&#xff0c;凭借产品、研发等多方面的出色表现&#xff0c;再次斩获东风柳汽“优秀供应商”和广汽传祺“科技创新奖”&#xff0c;以实力印证良好口碑&#xff0c;不忘初心&#xff0c;载誉而行&#xff01; 东风柳汽&#xff1a;优秀供…