基于scRNA-seq的GRN分析三阴性乳腺癌的肿瘤异质性
三阴性乳腺癌即TNBC是一种肿瘤异质性高的乳腺癌亚型。最近的研究表明,TNBC患者可能包含具有不同分子亚型的细胞。此外,基于scRNA-seq数据构建的GRN已经证明了对关键调控因子研究的重要性。作者使用scRNA-seq对TNBC患者的GRN进行了全面分析。从scRNA-seq数据鉴定出545个恶性细胞。根据PAM50模型对恶性细胞进行亚型划分。细胞间通讯分析显示巨噬细胞在肿瘤微环境中起主导作用。接下来,通过整合基因共表达和富集结合基序构建各个亚型的GRN。然后,根据基因的中心性度量来确定关键基因。重要的是,关键基因ETV6在所有亚型中都普遍上调,但它通过调节不同的靶基因在每个亚型中发挥不同的作用。综上所述,基于scRNA-seq数据构建GRN有助于剖析TNBC的肿瘤内异质性,并鉴定TNBC的关键基因。
来自:Single-cell RNA-seq dissects the intratumoral heterogeneity of triple-negative breast cancer based on gene regulatory networks
目录
- 数据收集和预处理
- 恶性上皮细胞和乳腺癌亚型的鉴定
- 细胞-细胞通信和GSVA分析
- GRN的构建于关键节点识别
- 功能富集分析和生存分析
数据收集和预处理
从GEO(https:// www.ncbi.nlm.nih.gov/geo/)数据库(GEO: GSE118390)下载了6例TNBC患者(PT039、PT058、PT081、PT084、PT089和PT126)的scRNA-seq数据,该数据库包含1189个高质量细胞,并注释了细胞类型。既往研究表明,乳腺癌的恶性细胞起源于上皮细胞,因此,仅保留868个上皮细胞用于恶性细胞的鉴定。此外,下载了240个正常乳腺上皮细胞的基因表达谱,其中39个作为参考(正常)细胞用于拷贝数估算和正常乳腺上皮细胞GRN构建。此外,从TCGA数据库中获取105例正常和115例TNBC样本的基因表达谱,进行差异基因表达分析。METABRIC数据库收集了186例TNBC患者的临床信息,用于生存分析。
恶性上皮细胞和乳腺癌亚型的鉴定
如先前的研究所述,恶性细胞总是伴随着高变CNV(拷贝数变异)。从基因表达谱中推断出868个上皮细胞的CNV。将240个正常上皮细胞作为CNV推断的参考集。根据基因组位置对基因进行排序,以上游和下游基因的平均基因表达量作为推定CNV。在本研究中,使用了intercnv R包进行CNV估计。在从基因表达谱推断出CNV后,进行层次聚类以识别恶性细胞簇。在亚型鉴定中,CNV高变量的细胞簇被认为是恶性细胞。
根据肿瘤细胞的基因表达谱,采用PAM50模型将肿瘤细胞分为5个亚型(normal-like, basal-like, Her2+, LumA,和LumB),该模型基于50个标记基因(PAM50基因特征)广泛用于乳腺癌亚型鉴定。然后,对基因表达谱进行了log2转化。使用genefu R包的SubPred_pam50函数分配每个乳腺癌细胞的亚型。
细胞-细胞通信和GSVA分析
为了研究不同细胞类型(包括5种分子亚型)的细胞间通讯,首先,从之前的研究中获得了细胞类型注释,包括B细胞、T细胞、巨噬细胞、基质细胞和内皮细胞然后使用python CellPhoneDB(https://www.cellphonedb.org/)包估计两种细胞类型间,配体-受体对在不同细胞类型中的意义,p < 0.05的配体受体对被认为是存在显著相互作用的。
为了测试5种分子亚型的差异激活基因集,首先从分子特征数据库(https://www.gsea-msigdb.org/gsea/ msigdb)下载了50个标记基因集。然后,使用GSVA R包对5个分子亚型进行GSVA分析(基因集变异分析)。
GRN的构建于关键节点识别
利用基因共表达和转录结合基序信息构建了乳腺癌各亚型和正常上皮细胞的GRN。首先,这些TF是从先前的研究中获得的,该研究包含1797个特定的TF,接下来,进行共表达分析,以估计TF和靶基因之间的潜在调节强度,然后,在每个亚型和正常上皮细胞中保留富含TF结合基序的TF-靶基因对。使用python pySCENIC软件包进行共表达和TF结合基序富集分析。
在获得正常上皮细胞和5个分子亚型的GRN后,采用节点中心性指标构建网络中节点的重要性。在本研究中,使用度degree、间度betweenness、特征值eigenvalue、PageRank和接近度closeness来评估节点的中心性。这些指标使用R的igraph包计算。
- 度是对应节点的相邻节点的个数。高度节点通常被认为是基本的枢纽。
- 中间度是根据经过相应节点的最短路径数来计算的。高中间度的节点可能成为GRN的瓶颈。
- 特征值通过考虑邻居的重要性来度量节点的重要性。
- PageRank是对应节点随机游走的概率。PageRank类似于特征值,而PageRank引入了阻尼因子,默认为0.85。
- 接近度是对应节点到所有节点的平均距离。接近度高的节点表示该节点位于网络的中心位置。
在计算GRN的每个节点的五个中心性指标后,使用Q统计对每个GRN的五个节点的中心性指标进行整合: Q ( r 1 , r 2 , . . . , r N ) = N ! V N Q(r_1,r_2,...,r_N)=N!V_N Q(r1,r2,...,rN)=N!VN V k = ∑ j = 1 k ( − 1 ) j − 1 V k − j j ! r N − k + 1 j V_k=\sum_{j=1}^{k}(-1)^{j-1}\frac{V_{k-j}}{j!}r_{N-k+1}^{j} Vk=j=1∑k(−1)j−1j!Vk−jrN−k+1j其中, V 0 = 1 , N = 5 V_{0}=1,N=5 V0=1,N=5, r i r_{i} ri为第 i i i个中心度量指标, r j r^{j} rj代表 r r r的 j j j次方。最后,得到了相应GRN中每个节点的Q统计量。前1%的Q统计量被认为是每个GRN中的关键节点。
功能富集分析和生存分析
为了获得TFs在5种分子亚型特异性GRN中的功能,使用DAVID(Database for Annotation, Visualization and Integrated Discovery)在线工具进行GO注释。此外,从以前的研究中下载了与癌症标志物相关的GO术语。为了可视化,只保留了与癌症标志相关的术语。在本研究中,还研究了ETV6在五种分子亚型中的表达以及TNBC患者的临床预后。采用R生存和survminer包评估基因表达和预后意义。该研究流程图如图所示。

- 首先,使用scRNA-seq数据推断CNV。根据推断的CNV鉴定出恶性细胞。然后利用PAM50模型对每个细胞进行亚型划分,并对每个亚型构建GRN。其次,计算五个中心性指标来衡量每个GRN中节点的重要性。然后使用Q统计量来整合这些中心性指标。最后,对常见关键基因的不同作用进行了评估。对关键基因进行差异表达分析和生存分析。

- 彩色节点表示关键基因。共6类亚型对应的GRN,正常上皮normal epithelial A,normal-like B,basal-like C,Her2+ D,LumA E 和 LumB F。

- A:ETV6在每个亚型中调控不同的基因。线条颜色表示不同亚型的ETV6调控。
- B:各亚型中,被ETV6调控基因的GO注释。彩色点阵表示ETV6调控基因的GO注释。
- C:ETV6在正常上皮细胞和5种分子亚型中的表达。
- D:TCGA正常样本和TNBC样本中ETV6的表达。
- E:基于ETV6表达的METABRIC数据集中TNBC患者的生存分析。低表达的ETV6表现出较好的临床效果。
相关文章:
基于scRNA-seq的GRN分析三阴性乳腺癌的肿瘤异质性
三阴性乳腺癌即TNBC是一种肿瘤异质性高的乳腺癌亚型。最近的研究表明,TNBC患者可能包含具有不同分子亚型的细胞。此外,基于scRNA-seq数据构建的GRN已经证明了对关键调控因子研究的重要性。作者使用scRNA-seq对TNBC患者的GRN进行了全面分析。从scRNA-seq数…...
Python:二进制文件实现等间隔取相同数据量并合并
举例:每3byte为一页,每3页为一wl。将所有wl的第一页/第二页/第三页分别合并为一个文件。 data b\x01\x02\x03\x04\x05\x06\x07\x08\x09\x01\x02\x03\x04\x05\x06\x07\x08\x09\x01\x02\x03\x04\x05\x06\x07\x08\x09\x01\x02\x03\x04\x05\x06\x07\x08\x0…...
python使用openvc库进行图像数据增强
以下是使用Python和OpenCV库实现图像数据增强的简单示例代码,其中包括常用的数据增强操作: import cv2 import numpy as np import os# 水平翻转 def horizontal_flip(image):return cv2.flip(image, 1)# 垂直翻转 def vertical_flip(image):return cv2…...
如何利用Api接口获取手机当前的网络位置信息
在移动互联网时代,手机定位已经成为了一个日常化的需求,无论是导航、社交还是打车等服务都需要获取手机的位置信息。而获取手机位置信息最基础的一步就是获取手机当前的网络位置信息,本文将介绍如何利用API接口获取手机当前的网络位置信息。 …...
vue-elementPlus自动按需导入和主题定制
elementPlus自动按需导入 装包 -> 配置 1. 装包(主包和两个插件包) $ npm install element-plus --save npm install -D unplugin-vue-components unplugin-auto-import 2. 配置 在vite.config.js文件中配置,配置完重启(n…...
idea中dataBase模板生成
controller.java.vm ##定义初始变量 #set($tableName $tool.append($tableInfo.name, "Controller")) ##设置回调 $!callback.setFileName($tool.append($tableName, ".java")) $!callback.setSavePath($tool.append($tableInfo.savePath, "/contro…...
pc端测试手机浏览器运行情况,主要是测试硬件功能
测试h5震动摇晃等功能时不方便测试,需要连电脑显示调试数据 方法: 1.需要手机下载谷歌浏览器,pc端用edge或这谷歌浏览器 2.手机打开USB调试,打开要测试的网页 3.pc端地址栏输入edge://inspect/#devices(这里用的edge浏…...
软件概要设计-架构真题(二十五)
软件概要设计包括软件设计的结构、确定系统功能模块及其相互关系,主要采用()描述程序的结构。(2018年) 程序流程图、PAD图和伪代码模块结构图、数据流图和盒图模块结构图、层次图和HIPO图程序流程图、数据流图和层次图…...
CSDN发文表情包整理
文章目录 简介部分Emoji表情符号简表人物自然物品地点符号 各种Emoji表情链接 简介 CSDN支持Markdown语法及Emoji表情,使用各种Emoji表情可以使得自己的博文更加生动多彩。一般有两种在支持Markdown的语法环境中添加Emoji表情:1.直接将表情包复制到文档…...
springBoot对接Apache POI 实现excel下载和上传
搭建springboot项目 此处可以参考 搭建最简单的SpringBoot项目_Steven-Russell的博客-CSDN博客 配置Apache POI 依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>5.2.2</version> </…...
定积分的计算:牛顿-莱布尼茨公式
目录 牛顿-莱布尼茨公式 用C语言代码实现 利用换元积分法和分部积分法 利用奇偶性和周期性求积分 利用已有公式求积分 牛顿-莱布尼茨公式 牛顿-莱布尼茨公式(Newton-Leibniz formula)是微积分学中的基本定理之一,它反映了定积分与被积函…...
shell脚本之case 的用法
shell脚本之case case是Shell脚本中的一种控制流语句,它允许根据变量的值选择不同的执行路径。case语句的语法如下: case word in pattern [| pattern]...) command-list ;; pattern [| pattern]...) command-list ;; ... *) command-list ;; esa…...
第3章 helloworld 驱动实验(iTOP-RK3568开发板驱动开发指南 )
在学习C语言或者其他语言的时候,我们通常是打印一句“helloworld”来开启编程世界的大门。学习驱动程序编程亦可以如此,使用helloworld作为我们的第一个驱动程序。 接下来开始编写第一个驱动程序—helloworld。 3.1 驱动编写 本小节来编写一个最简单的…...
基于PyTorch使用LSTM实现新闻文本分类任务
本文参考 PyTorch深度学习项目实战100例 https://weibaohang.blog.csdn.net/article/details/127154284?spm1001.2014.3001.5501 文章目录 本文参考任务介绍做数据的导入 环境介绍导入必要的包介绍torchnet和keras做数据的导入给必要的参数命名加载文本数据数据前处理模型训…...
Flutter插件的制作和发布
Flutter制作插件有两种方式(以下以android和ios为例): 目录 1.直接在主工程下的android和ios项目内写插件代码:2.创建独立Flutter Plugin项目,制作各端插件后,再引入项目:1. 创建Flutter Plugin…...
【JAVA】异常
作者主页:paper jie 的博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《JAVASE语法系列》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和…...
合同矩阵充要条件
两个实对称矩阵合同的充要条件是它们的正负惯性指数相同。 正惯性指数是矩阵正特征值个数,负惯性指数是矩阵负特征值个数。 即合同矩阵的充分必要条件是特征值的正负号个数相同。 证明: 本论证中的所有矩阵都是对称矩阵。 根据定义,若矩…...
数据分析三剑客之Pandas
1.引入 前面一篇文章我们介绍了numpy,但numpy的特长并不是在于数据处理,而是在它能非常方便地实现科学计算,所以我们日常对数据进行处理时用的numpy情况并不是很多,我们需要处理的数据一般都是带有列标签和index索引的࿰…...
Spring Boot自动装配原理
简介 Spring Boot是一个开源的Java框架,旨在简化Spring应用程序的搭建和开发。它通过自动装配的机制,大大减少了繁琐的配置工作,提高了开发效率。本文将深入探讨Spring Boot的自动装配原理。 自动装配的概述 在传统的Spring框架中…...
VMware Workstation虚拟机网络配置及配置自动启动
目录 一、网络配置二、配置自动启动1.VMware 中配置虚拟机自启动2.系统服务中配置 VMware 服务自启动 一、网络配置 本文将虚拟机 IP 与主机 IP 设置为同一个网段。 点击 “编辑” -> “虚拟网络编辑器(N)…”: 点击 “更改设置”: 将 VMnet0 设置…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...
c++第七天 继承与派生2
这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分:派生类构造函数与析构函数 当创建一个派生类对象时,基类成员是如何初始化的? 1.当派生类对象创建的时候,基类成员的初始化顺序 …...
Unity VR/MR开发-VR开发与传统3D开发的差异
视频讲解链接:【XR马斯维】VR/MR开发与传统3D开发的差异【UnityVR/MR开发教程--入门】_哔哩哔哩_bilibili...
