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

基于单细胞多组学数据无监督构建基因调控网络

在单细胞分辨率下识别基因调控网络(GRNs,gene regulatory networks)一直是一个巨大的挑战,而单细胞多组学数据的出现为构建GRNs提供了机会。

来自:Unsupervised construction of gene regulatory network based on single-cell multi-omics data of colorectal cancer

目录

  • 前置内容
  • 背景介绍
  • 方法
    • 数据收集和组织
    • 细胞类型标注
    • 构建GRNs

前置内容

DNA没有功能。 它包含一组指令(instructions),这些指令必须先转化为RNA,然后再转化为蛋白质。在大多数情况下,我们可以将 RNA 视为 DNA 和蛋白质之间的信使(messenger)。DNA由包含如何制造蛋白质指令的基因组成。蛋白质负责在细胞中执行生物功能,例如代谢葡萄糖为细胞产生能量。一般来说,人体内的每种蛋白质都由一个基因编码。

  • 注意:基因不是蛋白质,而是DNA序列的一部分,可以编码蛋白质。基因是生物体内遗传信息的基本单位,包含了一系列的DNA序列,其中编码了蛋白质所需的氨基酸序列信息。基因通过转录作用,将DNA序列转录成RNA分子,然后再通过翻译作用,将RNA分子翻译成蛋白质。因此,基因可以被视为控制生物体内蛋白质合成的遗传信息的存储和传递的基本单位。

调控因子是指能够调控基因表达的蛋白质或其他分子。它们作为转录因子或其他类型的调控分子,可以结合到基因组的某些区域,例如启动子或增强子,来激活或抑制基因的转录。调控因子在细胞分化、发育和应对环境变化等生物学过程中发挥重要作用。在复杂的生物系统中,调控因子通常以复杂的网络形式相互作用,共同调控基因表达。

背景介绍

结直肠癌是威胁人类生命健康的主要癌症之一,在所有癌症中排名前五,发病率和死亡率仍在增长。然而,阐明生物分子之间复杂的调控关系对结直肠癌的治疗具有重要的研究意义。

基因调控网络GRN由调控因子(regulatory factors)和靶基因(target genes)组成。最常见的调控因子是转录因子(transcription factors),它可以通过控制复杂的细胞内相互作用来决定细胞的表型和命运。一旦调节过程发生变化,就会导致疾病出现。例如,如果AREG在GRN中高水平表达,则该组织很有可能是结直肠癌样本。因此,准确构建GRN可以有效地提高我们对驱动细胞类型和特定基因表达的调控机制的理解。


AREG是基因,虽然AREG编码的蛋白质可以作为一种信号分子参与调控,但在基因级别上,AREG本身是一个基因而不是调控因子。


在单细胞多组学数据中,同一组样本可以获得不同分子过程的全基因组数据,如转录组、表观基因组等组学数据。这些数据为单细胞分辨率下的疾病研究提供了多种模态信号,可以更准确、系统地分析临床疾病的发病机制,识别疾病的重要治疗靶点。

为了更好理解基因调控机制,近年来开发了多种算法得到GRNs。目前算法大多基于单一组学数据,然而现有研究表明,整合多种组学技术的数据可以显著提高医疗机构预测患者临床结果的准确性。基于多组学识别GRNs的研究比较少,比如LinkedSOMs,这些方法往往复杂度过高。因此,开发一种基于多组学数据的低复杂度策略对于探索GRNs至关重要。

方法

数据收集和组织

作者使用的所有数据集都是从具有相同基因集的公开数据库中下载的。scRNA-seq数据(GEND000035,2018年11月29日公开)来自Gene Expression Nebulas database,其中包含1150例人类结直肠癌癌症样本。scATAC-seq数据(GSE201336,2022年4月28日公开)来自Gene Expression Omnibus database,包含6例人类结直肠癌癌症样本。

对于scATAC-seq数据,Trimmomatic被用于移除低质量碱基,FastQC用于质量控制。应用Bowtie2将reads与参考基因组(hg19)进行对齐,所有样本的对齐率>92%。BedTools根据染色体的位置计算基因符号,scATAC-seq数据维度为8097×6,scRNA-seq数据维为8097×1150。其中,8097代表对齐的基因。

细胞类型标注

scATAC-seq提供了染色质可及性的信息,并揭示了单个细胞中基因的转录活性。直观地说,基因的转录活性和表达值之间的分布是一致的。在这项工作中,scATAC-seq和scRNA-seq从左到右连接,通过连接获得的多组学数据的维数为8097×1156。首先,去除在少于三个样本上表达的基因,和在少于200基因上表达的样本,记为X∈RM×NX\in R^{M\times N}XRM×N,其中MMMNNN代表基因和样本。xjix_{ji}xji代表第jjj个基因处第iii个样本的表达值。使用下式进行标准化:log(10000×∑j=1ML(xji≠0)M)log(10000\times\frac{\sum_{j=1}^{M}L_{(x_{ji}\neq 0)}}{M})log(10000×Mj=1ML(xji=0))SingleR用于对标准化后的数据进行细胞类型注释。注释结果显示,大部分细胞是上皮细胞(epithelial cells),少数是星形胶质细胞(astrocytes)。上皮细胞用于随后的分析,星形胶质细胞被过滤掉,t-SNE可视化如图1A所示。
fig1

  • 图1A:样本的t-sne可视化。
  • 图1B:所有样本的CNV,颜色的变化表示CNV的degree,方框表示CNV更显著的区域。
  • 图1C:截取了五类样本的CNV得分分布,以及得分>500的样本进行下游分析。

CNV(copy number variation)是由基因组重排引起的,导致DNA片段拷贝的增加或丢失,这种现象在癌症中普遍存在。因此,使用inferCNV分析上皮细胞的CNV,分析结果如图1B所示。图中的黑框显示大多数细胞的拷贝数增加或减少,但少数细胞没有显著的CNV。因此,为了挑选具有显著拷贝的细胞,作者使用k-means将上皮细胞分为五个组,分析每组细胞的CNV分数。并过滤得分<500的样本。具体计算如下:

  • 数据被缩放为[−1,1][-1,1][1,1]X′X'X,其中ximaxx_{i_{max}}ximaxximinx_{i_{min}}ximin分别是第iii个样本中所有基因表达的最小值和最大值,Xi′=2×xji−ximinximax−ximin−1,i=1...N,j=1...MX'_{i}=2\times\frac{x_{ji}-x_{i_{min}}}{x_{i_{max}}-x_{i_{min}}}-1,i=1...N,j=1...MXi=2×ximaxximinxjiximin1,i=1...N,j=1...M
  • 计算CNV:CNVi=sum(Xi′)2,i=1...NCNV_{i}=sum(X_{i}')^{2},i=1...NCNVi=sum(Xi)2,i=1...N其中CNViCNV_{i}CNVi代表第iii个样本的CNV得分。这五组数据的CNV得分分布如图1C所示。其中,CNV得分<500的8个样本被认为是正常样本,其余497个样本被视为具有更显著拷贝数的样本。这497个样本的表达矩阵被提取用于下游GRN分析。

构建GRNs

构建GRN有两个主要步骤。首先,使用无监督人工神经网络自组织映射(SOM)将所有基因映射到不同的神经元(参考机器学习笔记本第三十三课一些经典的优化策略与神经网络变种),其中每个神经元代表一个基因集。SOM可以保存输入空间的拓扑结构,并将相似的基因映射在一起,从而确保这组基因的功能高度相似,这对于后续构建调控网络至关重要。其次,pySCENIC用于计算转录因子并调节每组基因。pySCENIC的创新之处在于引入转录因子基序序列,以验证通过统计方法推断的基因共表达网络,从而识别出由转录因子主导的高度可靠的GRN。


在TF-靶基因(转录因子-靶基因)图中,比如:
fig2

从数据上,它们都来自于scRNA-seq,三角形是一个节点,其实属于scRNA-seq中的某个基因,但在这个图中,它代表该基因编码的蛋白,这个蛋白是对靶基因有调控关系的转录因子。


相关文章:

基于单细胞多组学数据无监督构建基因调控网络

在单细胞分辨率下识别基因调控网络&#xff08;GRNs&#xff0c;gene regulatory networks&#xff09;一直是一个巨大的挑战&#xff0c;而单细胞多组学数据的出现为构建GRNs提供了机会。 来自&#xff1a;Unsupervised construction of gene regulatory network based on si…...

蓝桥杯-最优清零方案(2022省赛)

蓝桥杯-最优清零方案1、问题描述2、解题思路3、代码实现1、问题描述 给定一个长度为 N 的数列 1,2,⋯,A1,A2,...,ANA_1,A_2,...,A_NA1​,A2​,...,AN​ 。现在小蓝想通过若干次操作将 这个数列中每个数字清零。 每次操作小蓝可以选择以下两种之一: 1. 选择一个大于 0 的整数, 将…...

Mac免费软件下载网站推荐(最全免费,替代MacWk)

一、Appstorrent 官方网站&#xff1a; https://appstorrent.ru/ 这是一个俄语网站&#xff0c;其他很多网站资源都来自这里。点击右上角切换到中文。不需要登录网站&#xff0c;直接从软件详情页下载即可。体验非常好。 二、Xclient 官方网站&#xff1a; https://xclie…...

GPU是什么

近期ChatGPT十分火爆&#xff0c;随之而来的是M国开始禁售高端GPU显卡。M国想通过禁售GPU显卡的方式阻挡中国在AI领域的发展。 GPU是什么&#xff1f;GPU&#xff08;英语&#xff1a;Graphics Processing Unit&#xff0c;缩写&#xff1a;GPU&#xff09;是显卡的“大脑”&am…...

20230305学习计划

目录 第二天学习开发框架 前言 一、巩固复习第一天20230304学习笔记 二、SpringMVC中的控制器是不是单例模式&#xff1f;如果是&#xff0c;如何保证线程安全&#xff1f; 1、控制器是单例模式&#xff0c;是线程不安全的。 2、Spring中保证线程安全的方法&#xff1a; …...

SocketCan 应用编程

SocketCan 应用编程 由于 Linux 系统将 CAN 设备作为网络设备进行管理&#xff0c;因此在 CAN 总线应用开发方面&#xff0c;Linux 提供了SocketCAN 应用编程接口&#xff0c;使得 CAN 总线通信近似于和以太网的通信&#xff0c;应用程序开发接口更加通用&#xff0c;也更加灵…...

从零学习python - 04函数方法与返回值

函数&#xff1a;Function-也称为方法&#xff0c;是组织好的、可重复使用的&#xff0c;用来实现指定功能的代码块。函数的定义与调用:创建函数目的是封装业务逻辑&#xff0c;实现代码复用# 创建函数关键字:def(definition)def fun1(x, y):print(x y)函数的参数:python函数中…...

MySQL实战之事务到底是隔离的还是不隔离的

1.前言 我们在MySQL实战之事务隔离&#xff1a;为什么你改了我还看不见讲过事务隔离级别的时候提到过&#xff0c;如果是可重复读隔离级别&#xff0c;事务T启动的时候会创建一个视图read-view,之后事务T执行期间&#xff0c;即使有其他事务修改了数据&#xff0c;事务T看到的…...

Elasticsearch:理解 Master,Elections,Quorum 及 脑裂

集群中的每个节点都可以分配多个角色&#xff1a;master、data、ingest、ml&#xff08;机器学习&#xff09;等。 我们在当前讨论中感兴趣的角色之一是 master 角色。 在 Elasticsearch 的配置中&#xff0c;我们可以配置一个节点为 master 节点。master 角色的分配表明该节点…...

【致敬女神】HTMLReport应用之Unittest+Python+Selenium+HTMLReport项目自动化测试实战

HTMLReport应用之UnittestPythonSeleniumHTMLReport项目自动化测试实战1 测试框架结构2 技术栈3 实现思路3.1 使用HtmlTestRunner3.2 使用HTMLReport4 TestRunner参数说明4.1 源码4.2 参数说明5 框架代码5.1 common/reportOut.py5.2 common/sendMain.py5.3 report5.3.1 xxx.htm…...

JAVA的16 个实用代码优化小技巧

一、类成员与方法的可见性最小化 举例&#xff1a;如果是一个private的方法&#xff0c;想删除就删除。 如果一个public的service方法&#xff0c;或者一个public的成员变量&#xff0c;删除一下&#xff0c;不得思考很多。 二、使用位移操作替代乘除法 计算机是使用二进制…...

并发编程的三大挑战之原子性及其解决方案

目录 一、原子性问题 1、带来原子性问题的原因 2、如何解决线程切换带来的原子问题 2.1、使用synchronized关键字来保证 2.2、使用CAS来保证原子性 2.3、使用lock锁来保证 一、原子性问题 1、带来原子性问题的原因 线程切换是带来原子的根本原因&#xff0c;java的并发程…...

QML动画(其他的动画)

PauseAnimation &#xff08;暂停动画&#xff09; 为动画提供暂停 Rectangle{id:rect1width: 100;height: 100;x:100;y:100color: "lightBlue"SequentialAnimation{running: trueColorAnimation {target: rect1&#xff1b;property: "color"&#xff1b;…...

Spark 配置项

Spark 配置项硬件资源类CPU内存堆外内User Memory/Spark 可用内存Execution/Storage Memory磁盘ShuffleSpark SQLJoin 策略调整自动分区合并自动倾斜处理配置项分为 3 类: 硬件资源类 : 与 CPU、内存、磁盘有关的配置项Shuffle 类 : Shuffle 计算过程的配置项Spark SQL : Spar…...

掌握Vue3模板语法,助你轻松实现高效Web开发

Vue3作为前端开发中的一种主流框架&#xff0c;为我们提供了多种灵活的方式来处理模板语法。除了基础的模板语法&#xff0c;Vue3还提供了一些高级的语法&#xff0c;可以让我们更好地处理组件、响应式数据和UI逻辑等。在这篇博客中&#xff0c;我们将介绍Vue3中的一些高级模板…...

Jmeter+Ant+Jenkins接口自动化测试平台搭建

平台简介一个完整的接口自动化测试平台需要支持接口的自动执行&#xff0c;自动生成测试报告&#xff0c;以及持续集成。Jmeter支持接口的测试&#xff0c;Ant支持自动构建&#xff0c;而Jenkins支持持续集成&#xff0c;所以三者组合在一起可以构成一个功能完善的接口自动化测…...

ncnn部署(CMakelists.txt)

1. NCNN 环境安装 参考博客: 基于ncnn的yolov5模型部署 1. 1 protobuf编译 打开VS2013/VS2019的X64命令行(注意不是cmd),我这里以V32013环境进行编译 > cd <protobuf-root-dir> > mkdir build-vs2013 > cd build-vs2013 > cmake -G"NMake Makefil…...

SQL分库分表

什么是分库分表&#xff1f; 分库分表是两种操作&#xff0c;一种是分库&#xff0c;一种是分表。 分库分表又分为垂直拆分和水平拆分两种。 &#xff08;1&#xff09;分库&#xff1a;将原来存放在单个数据库中的数据&#xff0c;拆分到多个数据库中存放。 &#xff08;2&…...

大数据分析案例-基于逻辑回归算法构建微博评论情感分类模型

🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 喜欢大数据分析项目的小伙伴,希望可以多多支持该系列的其他文章 大数据分析案例合集…...

0105深度优先搜索算法非递归2种实现对比-无向图-数据结构和算法(Java)

1 两种非递归实现 在前面我们解决无向图的单点通性和单点路径问题时&#xff0c;都用到了深度优先搜索算法。深度优先搜索算法可以用递归和非递归两种方式。这里讨论非递归实现。 无向图结构使用邻接表实现。 第一种非递归方法&#xff08;推荐&#xff09;&#xff0c;代码如…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时&#xff0c;显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

day36-多路IO复用

一、基本概念 &#xff08;服务器多客户端模型&#xff09; 定义&#xff1a;单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用&#xff1a;应用程序通常需要处理来自多条事件流中的事件&#xff0c;比如我现在用的电脑&#xff0c;需要同时处理键盘鼠标…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代&#xff0c;海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构&#xff0c;在处理大规模数据抓取任务时展现出强大的能力。然而&#xff0c;随着业务规模的不断扩大和数据抓取需求的日益复杂&#xff0c;传统…...

android RelativeLayout布局

<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...

使用SSE解决获取状态不一致问题

使用SSE解决获取状态不一致问题 1. 问题描述2. SSE介绍2.1 SSE 的工作原理2.2 SSE 的事件格式规范2.3 SSE与其他技术对比2.4 SSE 的优缺点 3. 实战代码 1. 问题描述 目前做的一个功能是上传多个文件&#xff0c;这个上传文件是整体功能的一部分&#xff0c;文件在上传的过程中…...