基于单细胞多组学数据无监督构建基因调控网络
在单细胞分辨率下识别基因调控网络(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}X∈RM×N,其中MMM和NNN代表基因和样本。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×M∑j=1ML(xji=0))SingleR用于对标准化后的数据进行细胞类型注释。注释结果显示,大部分细胞是上皮细胞(epithelial cells),少数是星形胶质细胞(astrocytes)。上皮细胞用于随后的分析,星形胶质细胞被过滤掉,t-SNE可视化如图1A所示。
- 图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}}ximax和ximinx_{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×ximax−ximinxji−ximin−1,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-靶基因(转录因子-靶基因)图中,比如:
从数据上,它们都来自于scRNA-seq,三角形是一个节点,其实属于scRNA-seq中的某个基因,但在这个图中,它代表该基因编码的蛋白,这个蛋白是对靶基因有调控关系的转录因子。
相关文章:
基于单细胞多组学数据无监督构建基因调控网络
在单细胞分辨率下识别基因调控网络(GRNs,gene regulatory networks)一直是一个巨大的挑战,而单细胞多组学数据的出现为构建GRNs提供了机会。 来自: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 官方网站: https://appstorrent.ru/ 这是一个俄语网站,其他很多网站资源都来自这里。点击右上角切换到中文。不需要登录网站,直接从软件详情页下载即可。体验非常好。 二、Xclient 官方网站: https://xclie…...
GPU是什么
近期ChatGPT十分火爆,随之而来的是M国开始禁售高端GPU显卡。M国想通过禁售GPU显卡的方式阻挡中国在AI领域的发展。 GPU是什么?GPU(英语:Graphics Processing Unit,缩写:GPU)是显卡的“大脑”&am…...
20230305学习计划
目录 第二天学习开发框架 前言 一、巩固复习第一天20230304学习笔记 二、SpringMVC中的控制器是不是单例模式?如果是,如何保证线程安全? 1、控制器是单例模式,是线程不安全的。 2、Spring中保证线程安全的方法: …...
SocketCan 应用编程
SocketCan 应用编程 由于 Linux 系统将 CAN 设备作为网络设备进行管理,因此在 CAN 总线应用开发方面,Linux 提供了SocketCAN 应用编程接口,使得 CAN 总线通信近似于和以太网的通信,应用程序开发接口更加通用,也更加灵…...
从零学习python - 04函数方法与返回值
函数:Function-也称为方法,是组织好的、可重复使用的,用来实现指定功能的代码块。函数的定义与调用:创建函数目的是封装业务逻辑,实现代码复用# 创建函数关键字:def(definition)def fun1(x, y):print(x y)函数的参数:python函数中…...
MySQL实战之事务到底是隔离的还是不隔离的
1.前言 我们在MySQL实战之事务隔离:为什么你改了我还看不见讲过事务隔离级别的时候提到过,如果是可重复读隔离级别,事务T启动的时候会创建一个视图read-view,之后事务T执行期间,即使有其他事务修改了数据,事务T看到的…...
Elasticsearch:理解 Master,Elections,Quorum 及 脑裂
集群中的每个节点都可以分配多个角色:master、data、ingest、ml(机器学习)等。 我们在当前讨论中感兴趣的角色之一是 master 角色。 在 Elasticsearch 的配置中,我们可以配置一个节点为 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 个实用代码优化小技巧
一、类成员与方法的可见性最小化 举例:如果是一个private的方法,想删除就删除。 如果一个public的service方法,或者一个public的成员变量,删除一下,不得思考很多。 二、使用位移操作替代乘除法 计算机是使用二进制…...
并发编程的三大挑战之原子性及其解决方案
目录 一、原子性问题 1、带来原子性问题的原因 2、如何解决线程切换带来的原子问题 2.1、使用synchronized关键字来保证 2.2、使用CAS来保证原子性 2.3、使用lock锁来保证 一、原子性问题 1、带来原子性问题的原因 线程切换是带来原子的根本原因,java的并发程…...
QML动画(其他的动画)
PauseAnimation (暂停动画) 为动画提供暂停 Rectangle{id:rect1width: 100;height: 100;x:100;y:100color: "lightBlue"SequentialAnimation{running: trueColorAnimation {target: rect1;property: "color";…...
Spark 配置项
Spark 配置项硬件资源类CPU内存堆外内User Memory/Spark 可用内存Execution/Storage Memory磁盘ShuffleSpark SQLJoin 策略调整自动分区合并自动倾斜处理配置项分为 3 类: 硬件资源类 : 与 CPU、内存、磁盘有关的配置项Shuffle 类 : Shuffle 计算过程的配置项Spark SQL : Spar…...
掌握Vue3模板语法,助你轻松实现高效Web开发
Vue3作为前端开发中的一种主流框架,为我们提供了多种灵活的方式来处理模板语法。除了基础的模板语法,Vue3还提供了一些高级的语法,可以让我们更好地处理组件、响应式数据和UI逻辑等。在这篇博客中,我们将介绍Vue3中的一些高级模板…...
Jmeter+Ant+Jenkins接口自动化测试平台搭建
平台简介一个完整的接口自动化测试平台需要支持接口的自动执行,自动生成测试报告,以及持续集成。Jmeter支持接口的测试,Ant支持自动构建,而Jenkins支持持续集成,所以三者组合在一起可以构成一个功能完善的接口自动化测…...
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分库分表
什么是分库分表? 分库分表是两种操作,一种是分库,一种是分表。 分库分表又分为垂直拆分和水平拆分两种。 (1)分库:将原来存放在单个数据库中的数据,拆分到多个数据库中存放。 (2&…...
大数据分析案例-基于逻辑回归算法构建微博评论情感分类模型
🤵♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 喜欢大数据分析项目的小伙伴,希望可以多多支持该系列的其他文章 大数据分析案例合集…...
0105深度优先搜索算法非递归2种实现对比-无向图-数据结构和算法(Java)
1 两种非递归实现 在前面我们解决无向图的单点通性和单点路径问题时,都用到了深度优先搜索算法。深度优先搜索算法可以用递归和非递归两种方式。这里讨论非递归实现。 无向图结构使用邻接表实现。 第一种非递归方法(推荐),代码如…...
传统手工数据采集耗时耗力?Smartbi数据填报实现数据收集分析自动化
企业在日常经营管理过程中,往往需要收集很多内外部的信息,清洗整理后再进行存储、分析、呈现、决策支持等各种作业,如何高效收集结构化数据是企业管理者经常要面对的问题。传统手工的数据采集方式不仅耗费了大量人力时间成本,还容…...
《Spring源码深度分析》第5章 Bean的加载
目录标题前言一、Bean加载入口与源码分析1、Bean加载的入口2、Bean加载源码二、FactoryBean的使用三、缓存中获取单例bean(待补充)前言 经过前面的分析,我们终于结束了对XML 配置文件的解析,接下来将会面临更大的挑战,就是对 bean 加载的探索…...
华为OD机试真题Java实现【求最大数字】真题+解题思路+代码(20222023)
求最大数字 题目 给定一个由纯数字组成以字符串表示的数值,现要求字符串中的每个数字最多只能出现2次,超过的需要进行删除;删除某个重复的数字后,其它数字相对位置保持不变。 如34533,数字3重复超过2次,需要删除其中一个3,删除第一个3后获得最大数值4533 请返回经过删…...
Java——异常机制
前言 随着对java的不断深入学习,在对语法以及编程思想有了一定的了解之后,在编程的过程中有可能会因为用户的输入不正确或者逻辑错误而出现异常或者错误,因此如何去捕捉与避免不应该出现的异常或者错误就变得十分重要。本文就介绍了java的异…...
【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(下)
系列文章目录 【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(上) 【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(中) 【大数据实时数据同步】超级详细的生产环境OGG(GoldenGate…...
ESP32设备驱动-土壤湿度传感器驱动
土壤湿度传感器驱动 1、土壤湿度传感器介绍 土壤湿度传感器由两个探头组成,用于测量水的体积含量。 两个探头让电流通过土壤,然后得到电阻值来测量水分值。 当有更多的水时,土壤会传导更多的电,这意味着电阻会更小。 因此,水分含量会更高。 干燥的土壤导电性差,所以当…...
公网远程连接MongoDB数据库【内网穿透】
文章目录1. 安装数据库2. 内网穿透2.1 创建隧道映射2.2 测试随机公网地址远程连接3. 配置固定TCP端口地址3.1 保留一个固定的公网TCP端口地址3.2 配置固定公网TCP端口地址3.3 测试固定地址公网远程访问MongoDB是一个基于分布式文件存储的数据库。由C语言编写。旨在为WEB应用提供…...
SQL注入——floor报错注入
目录 一,涉及到的函数 rand() floor() concat_ws() as别名,group by分组 count() 报错原理 一,涉及到的函数 rand()函数:随机返回0~1间的小数 floor()函数:小数向…...
P6入门:在EPS下创建项目(P6Professional)
引言 在 Primavera P6 中,一旦创建了企业项目结构EPS,就可以开始向该结构添加项目。项目是一组活动和数据,它们构成了创建产品或服务的计划。项目有开始日期和结束日期,可以包括活动、资源、工作分解结构、组织分解结构、日历、关…...
Linux安装及管理应用和账号和权限管理 讲解
♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放࿰…...
网站生成app客户端/创建网页步骤
微软关于Kubernetes服务有哪些最新进展?我们直入主题! Azure Kubernetes Service (AKS) 自定义策略支持 - 现已公开预览 通过全新功能,您可以创建自定义策略定义和约束模板,并将其分配给启用了以下新功能的 AKS 集群:…...
榆林做网站多少钱/网站免费推广网站
black_box_pad_pin声明用户定义的黑盒的管脚,作为外部环境可见的I/O pad,如果有不止一个端口,列在双引号内,以逗号分开。一般不需要这一属性,Synplify提供了预定义的I/Os。其语法如下object /* synthesis syn_black_bo…...
做渔船的网站/海南seo
一、平方数尾 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 能够表示为某个整数的平方的数字称为“平方数” 虽然无法立即说出某个数是平方数,但经常可以断定某个数不是平方数。 因为平方数的末位只…...
找黄岩做网站企业/怎么建企业网站
硬件没有损坏的情况下,Backspace删除键等一些键不能使用,有可能是因为锁定了,解决方法是按住fnwindowsshift,就可以解除锁定了。...
网站建设信息推荐/广告优化师适合女生吗
tail 默认显示后十行tail -n 2 /etc/passwd 显示最后两行tail -c 3 /etc/passwd 显示最后三个符tail -f /var/log/messages 监视一个不断增长,不断变化的文件.转载于:https://blog.51cto.com/sngyqd/394232...
济宁哪里做网站最便宜/百度客服在哪里找
node中的流 node中stream模块是非常,非常,非常重要的一个模块,因为很多模块都是这个模块封装的: Readable:可读流,用来读取数据,比如 fs.createReadStream()。Writable:可写流&#…...