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

GRN前沿:STGRNS:一种基于transformer的可解释方法,用于从单细胞转录组数据推断基因调控网络

1.论文原名:STGRNS: an interpretable transformer-based method for inferring gene regulatory networks from single-cell transcriptomic data

2.发表日期:2023.4.2

摘要:

动机:单细胞RNA测序(scRNA-seq)技术提供了一个推断细胞特异性基因调控网络(GRNs)的机会,这是系统生物学中的一个重要挑战。尽管已经开发了许多方法来从scRNA-seq数据推断GRNs,但是处理细胞异质性仍然是一个挑战。结果:为了解决这一难题,我们开发了一种可解释的基于转化子的方法,即STGRNS,用于从scRNA-seq数据中推断GRNs。该算法采用基因表达基序技术,将基因对转化为相邻的子向量,作为Transformer编码器的输入。通过避免网络中缺失阶段特异性调控,基因表达基序可以提高不同类型scRNA-seq数据的GRN推断的准确性。为了评估STGRNS的性能,我们在21个静态和27个时间序列scRNAseq数据集上与一些常用的方法进行了对比实验。实验结果表明,STGRNS方法具有较上级的性能.;此外,STGRNS也被证明比“黑箱”深度学习方法更具可解释性,而“黑箱”深度学习方法以难以清晰解释预测而闻名。

1. 研究背景与动机

  • 单细胞RNA测序(scRNA-seq)技术为在单细胞水平上研究基因调控机制提供了可能,但推断细胞特异性的基因调控网络(GRNs)仍然是系统生物学中的一个重要挑战。

  • 现有的GRNs推断方法分为无监督方法和有监督方法,但这些方法在处理单细胞数据的异质性时存在局限性,例如高稀疏性、噪声和dropout事件,限制了其准确性。

2. STGRNS方法框架

STGRNS的整体框架包括四个主要模块:基因表达模式(GEM)模块、位置编码层、Transformer编码器和分类层。以下是各模块的具体功能和实现方式:

1. 基因表达模式(Gene Expression Motif, GEM)模块

功能

GEM模块的核心功能是将基因对的表达数据转换为适合Transformer编码器输入的格式。它通过将基因表达向量分割为连续的子向量,并将同一基因对的子向量拼接成新的向量,从而保留基因表达的同步性特征。

  • 优势

    • 保留基因表达同步性:通过将基因对的子向量拼接,GEM能够保留基因表达的同步性特征,这对于推断基因调控关系至关重要。

    • 提高模型输入效率:将基因对转换为连续的子向量形式,使得Transformer编码器能够更有效地处理输入数据。

2. 位置编码层

功能

位置编码层的目的是在将基因对输入Transformer编码器时,保留基因表达向量的顺序或时间信息。这对于处理时间序列数据或具有伪时间顺序的单细胞数据尤为重要。

  • 优势

    • 保留时间信息:位置编码能够使模型捕捉到基因表达的时间或顺序信息,这对于推断基因调控网络至关重要。

    • 增强模型性能:通过引入位置信息,模型能够更好地理解基因表达的动态变化,从而提高推断的准确性。

3. Transformer编码器

功能

Transformer编码器的主要功能是计算不同子向量之间的相关性,并关注关键子向量。它通过多头自注意力机制和前馈网络来提取基因对的交互信息。

  • 优势

    • 并行处理:Transformer编码器能够并行处理输入数据,提高计算效率。

    • 全局信息捕捉:多头自注意力机制允许模型在多个不同的投影空间中捕捉基因对的交互信息,从而提高推断的准确性。

    • 关注关键特征:通过自注意力机制,模型能够自动关注对基因调控关系推断更为关键的子向量。

4. 分类层

功能

分类层的目的是根据Transformer编码器的输出,对基因对是否具有调控关系进行分类。它将编码器提取的特征用于最终的调控关系预测。

  • 优势

    • 简洁高效:分类层结构简单,但能够有效地将编码器提取的特征用于最终的调控关系预测。

    • 可解释性:通过分析分类层的输出,可以解释模型的预测结果,例如哪些子向量对最终预测结果的影响最大。


http://www.kler.cn/a/535165.html

相关文章:

  • java基础2(黑马)
  • 【2024华为OD-E卷-100分-箱子之字形摆放】((题目+思路+JavaC++Python解析)
  • React开发中箭头函数返回值陷阱的深度解析
  • 编程之路:在细节中磨砺技艺
  • 图像分类与目标检测算法
  • 算法随笔_39: 最多能完成排序的块_方法2
  • centos 7.6 安装mysql实用方案
  • 《具身智能时代:机器人具身抓取技术的前沿探索与应用综述》
  • 代码随想录算法训练营第二十九天| 回溯算法02
  • 关于React前端
  • UE5 蓝图学习计划 - Day 13:确定游戏类型与核心功能
  • Android 9.0 mtk默认浏览器Browser下载app不能安装问题的解决办法
  • Flutter的绘制流程
  • [Unity角色控制专题] 详细说明如何使用Character Controller配合脚本实现类似MC的第一人称控制(仅移动与视角摇晃)
  • C++《AVL树》
  • 一文解释nn、nn.Module与nn.functional的用法与区别
  • 20250206在ubuntu20.04下使用unzip解压缩带中文名的文件
  • Golang的引用类型和指针
  • DeepSeek 多模态大模型Janus-Pro本地部署教程
  • 【教程】docker升级镜像
  • 《C#之集训1-20121019c#基础》
  • 【人工智能】使用deepseek初体验
  • 代码随想录算法训练营第四十四天-动态规划-子序列-392.判断子序列
  • OKHttp拦截器解析
  • OpenOffice实现word转pdf
  • 深度整理总结MySQL——行记录存储