单样本输入数据输入数据是降维聚类分群注释的数据做拟时序分析通常不是拿全部的细胞,而是拿感兴趣的一部分。用subset提取子集即可。因为要使用差异基因来排序,所以要两类及以上细胞。 ()library(patchwork)p2+p1/p3#多样本的添加这个可以看去批次效应plot_cell_trajectory(sc_cds, color_by = 'orig.ident')经典拟时序热图这里图展示基因随着时间的渐变 )(100))基因轨迹图gs = head(gene_to_cluster)plot_cell_trajectory(sc_cds,markers=gs,use_color_gradient=T)基因拟时序点图
monocle做拟时序分析首先要构建CDS需要3个矩阵:expr.matrix、pd、fd,其次将Seurat中的对象转换为monocle识别的对象。 然后选择想要做拟时序依据的基因就可以了,如果已知开始和结束的细胞,将过程开始时收集的细胞与结束时收集的细胞简单地进行比较,并找到差异表达的基因,做拟时序依据的基因,根据时间点的差异分析选择基因通常非常有效 个矩阵:expr.matrix、pd、fd # 将Seurat中的对象转换为monocle识别的对象 #cds <- importCDS(GetAssayData(seurat.object)) #选择做拟时序的亚群 mean_expression >= 0.1) Mono.cds <- setOrderingFilter(Mono.cds, unsup_clustering_genes$gene_id) #用DDRtree 进行降维分析
0.背景知识 做拟时序分析是为了探索自己感兴趣的几种细胞之间的发育关系,一般不是用全部类型的细胞来做的。例如本例中选择了CD14和CD16单核细胞。 如果让ai来说拟时序的目的那就比我说的多: 拟时序分析(Pseudo-time analysis)是一种用于理解细胞状态和细胞命运变化的计算生物学方法。 以下是进行拟时序分析的几个主要目的: 细胞状态推断:通过分析单个细胞的基因表达模式,推断细胞在生物学过程中所处的状态。 基因调控网络推断:通过分析基因表达随“拟时间”的变化,推断基因调控网络和信号传导途径。 疾病机理探索:在疾病研究中,拟时序分析有助于揭示疾病发生和发展的分子机制。 拟时序分析是一种强大的工具,它可以帮助研究者在没有直接时间标记的情况下,通过基因表达数据来探索细胞状态的变化和动态过程。这种方法在单细胞生物学、发育生物学、癌症生物学和神经科学等领域有着广泛的应用。
1 拟时序分析拟时序分析是为了探索自己感兴趣的几种细胞之间的发育关系,一般不是用全部类型的细胞来做的。 实在不行问问ai,回答可详细1.1 单样本拟时序分析#rm(list = ls()) #单样本library(Seurat)library(monocle)library(dplyr)load("sce.Rdata celltype是细胞类型注释,用以下代码添加> scRNA$celltype = Idents(scRNA) #做拟时序分析通常不是拿全部的细胞,而是拿感兴趣的一部分。用subset提取子集即可。 在做拟时序分析的时候,因为是采用差异基因进行排序的,所以要求是两类细胞或者两类以上(要选择的细胞亲缘关系要近一点,有分化的可能性,完全不挨着的细胞不太行)。 大致分析一下Tcells是成熟细胞了,NK细胞会发育成为两种状态1.4.2 经典的拟时序分析展示了一些基因是如何随着时间轨迹的变化而变化的,体现变化过程,选择q值小的(是不是忘了为啥,q值是错误值相当于
前面已经是介绍了单个样品的单细胞转录组表达量矩阵的monocle分析,接下来分享一下多样品的时候如何注意个体差异因素。 不同样本中的细胞基本是均匀分布在轨迹上的,说明前面的代码很好的去除了样本间的批次效应 plot_cell_trajectory(sc_cds, color_by = 'orig.ident') 经典的拟时序热图
单细胞测序—拟时序分析综合拟时序分析(Pseudotime Analysis)在单细胞测序(Single-cell RNA-seq)中是一个重要的分析步骤,主要用于研究细胞在发育过程或其他生物学过程中所经历的状态变化 拟时序分析可以帮助研究者识别出这些分化路径,并且理解在这些路径中哪些基因起了关键作用。理解细胞状态的动态变化:拟时序分析允许研究者推断出细胞状态的连续变化,而不仅仅是静态的分类。 为后续的拟时序分析创建必要的文件结构和工作目录。 这种方法适用于拟时序分析,因为它可以揭示细胞状态如何随时间或分化进程变化。orderCells():这个函数是 Monocle2 中拟时序分析的关键步骤之一。 这在拟时序分析中是关键的一步,因为根状态通常代表最早的或未分化的细胞状态,而其他细胞状态将在拟时序轨迹中相对于这个根状态进行排序。
最近刷了刷植物领域单细胞文献,有一个蛮早期的拟南芥根部单细胞研究:《High-Throughput Single-Cell Transcriptome Profiling of Plant Cell Types》对拟时序分析描述的很清楚 降维聚类分群 然后你需要有背景知识才能做 拟时序分析 :文章是这样描述:focusing on endodermal cells, which have a known trajectory from ,已经针对哪部分细胞亚群进行拟时序分析哦! 总结一下这10个步骤: 降维聚类分群 提取指定单细胞亚群 运行monocle 判断拟时序分析推断好的发育轨迹 随着轨迹变化的基因获取 获取的基因的生物学功能数据库注释 还有四个步骤在这个文章里面并没有体现 ,这里略 拟时序分析是否可以对全部单细胞亚群呢?
拟时序分析概述 拟时序分析(Pseudotime analysis)是一种在单细胞RNA测序(scRNA-seq)数据中重建细胞发育轨迹的计算方法。 为什么需要拟时序分析? 传统的scRNA-seq分析通常将细胞分为离散的类型,但这忽略了细胞状态是连续变化的事实。 拟时序分析有以下优势: 揭示细胞分化路径和发育轨迹 识别驱动细胞状态转变的关键基因 在没有时间序列实验的情况下推断细胞发育动态 发现新的细胞亚群和中间过渡状态 怎么做拟时序分析? 拟时序分析的基本流程包括: 从预处理好的数据中创建拟时序对象 降维和聚类 学习细胞轨迹 排序细胞并计算伪时间 分析与伪时间相关的基因表达变化 目前常用的拟时序分析工具包括Monocle3、Slingshot 实际操作:基于Seurat对象的拟时序分析流程 以下是从Seurat对象开始进行拟时序分析的完整流程。前提是已经有一个处理好的Seurat对象,包含标准化数据、降维结果和细胞类型注释。
单细胞数据分析常用到建立trajectory和pseudoTime,拟时序分析可以用 Diffusion( Destiny R package) #Diffusion PseudoTime Analysis
副标题: 所有的大样本量差异分析都可以转为拟时序分析 两个分组的差异分析仅仅是上下调吗? 很多小伙伴在后台表示对单细胞数据分析里面的拟时序分析不理解,恰好最近看到了一个超级清晰明了的展现拟时序分析的作用的文献,分享给大家。 它完美的展现了差异分析为什么不够,为什么拟时序分析就是差异分析的细节剖析。 拟时序的结果 拟时序虽然就展现了上面的一个图,但是具体的代码步骤还是有点难度哦。 拟时序的差异基因表达量图 最后这个图,看起来有技术含量!
通过拟时序分化轨迹分析可以推断出生物过程中细胞的分化轨迹或细胞亚型的演化过程,用拟时间来表征,拟时间越早代表该细胞位于分化转化过程的早期,反之则位于分化转化过程的晚期。 关于Monocle的详细介绍和使用方法详见以往推文——技术分享|单细胞转录组数据的拟时序分析——上。 然而,目前的拟时序轨迹分析软件缺乏对轨迹关键驱动基因的下游分析,2020年发表在Bioinformatics杂志上的分析软件GeneSwitches基于此现状,重点开发了拟时序分化轨迹开关基因分析方法, 对拟时序分化轨迹的分析结果进行了进一步挖掘,加入了更多的功能分析和可视化,对理解细胞分化转化和疾病发生发展及探索治疗方式有重要的指导作用。 开关基因富集分析结果表明与细胞周期(Cell Cycle)相关的通路在拟时序早期下调,而与心脏功能相关的通路在拟时序后期上调。
plot_genes_in_pseudotime(cds[cg,],color_by = "Cluster") 图片图片前面根据差异基因,推断好了拟时序,也就是说把差异基因动态化了,后面就可以具体推断哪些基因随着拟时序如何的变化 my_cds_subset=cds# 拟时序数据和细胞位置在pData 中head(pData(my_cds_subset))# 这个differentialGeneTest会比较耗费时间,测试每个基因的拟时序表达 gene_short_name) -> my_pseudotime_genemy_pseudotime_gene=my_pseudotime_gene[,1]my_pseudotime_gene#绘制一个或多个基因的拟时序 ", nrow= 3,ncol = NULL )+ scale_color_nejm()ggsave('monocle_top6_pseudotime_by_cluster.pdf')图片将前50个随拟时序变化的基因做聚类热图 gene_short_name %in% head(my_row[my_row$cluster == 2,'gene'])))my_gene# 绘制分支处的基因拟时序轨迹
今天我们就跟随王老师一起来看一下BD SeqGeq™之单细胞测序数据拟时序分析。 ? 什么是拟时序分析? 不同状态的细胞连起来就是一个“轨迹”,类似根据时间关系判断出的发育轨迹变化,但这并不是真正的时间,而是通过基因表达来模拟细胞的发育演化过程,所以称为“拟”时序分析(Pseudotime analysis 目前拟时序分析最常用的方法 Monocle是由Trapnell实验室开发的,采用了无监督算法,将单个细胞按照拟时间排列在对应的轨迹上。 BD SeqGeq™ 支持拟时序分析 BD SeqGeq™目前将Monocle v2.0整合为插件。 下面就为大家详细展示如何在SeqGeq™中获取Monocle以及使用它进行拟时序分析。
也就是说,我们做拟时序之前通常是要细分亚群到足够深入,需要确定被做拟时序分析的对象是有比较大生物学变化的可能性。 但是也有很多文章在使用拟时序分析的时候其实忽略这个前提,就显得很“可笑”,接下来我们就用3个案例来说明一下拟时序的正确姿势,错误示范,还有创新型的应用场景。 但是前面我们在 为什么做拟时序 提到了其实可以把拟时序分析简化成为了主要是为了展示差异细节,这个文章里面也是如此,就有了图(F)的monocle2的拟时序结果,因为我们关心的是GZMH高表达的效应(毒性 一些拟时序创新 因为单细胞转录组数据的流行才让大家都认识到了这个拟时序分析可以展示差异分析的细节,但其实展现 差异分析细节这个需求在单细胞之前就存在。 实战 基于其它编程语言的拟时序分析 然而,本人的理解肯定是片面的,希望通过这10个推文的指引能让大家对单细胞转录组的明星分析方法拟时序有一个基础的认知。
昨天我在单细胞天地讲解了使用monocle2进行拟时序分析的方法,基本上跟着我的代码走一波就可以学会了,当然具体参数理解需要自行发力哦,见:使用monocle做拟时序分析(单细胞谱系发育) 用法只是最基础的知识而已 ,更多的时候,我们需要活学活用,比如课程学员提到的问题,就是因为做不到活学活用,他想知道下面的拟时序分析的热图提取基因,学员把基因按照发育顺序绘制了热图,而这些基因被他分成了3组,想拿基因去做GO/KEGG 我这里不能拿学员真实项目数据来演示,所以还是用我们的老朋友,拿scRNAseq包的表达矩阵测试,见:使用monocle做拟时序分析(单细胞谱系发育) 首先根据细胞发育谱系来绘制热图 因为前面的教程 使用 monocle做拟时序分析(单细胞谱系发育) 我们已经把细胞发育情况做出来了,就是NPC细胞跟另外3种细胞从生理上就不一样,所以是单独的发育轨迹,而 “GW16” and “GW21” ,“GW21+3 ” 这种孕期细胞,就可以很清晰的看到时间被反映在我们的拟时序分析结果了。
所以如下所示,我们增加了两个有挑战性的分析,就是拟时序和转录因子分析。 上面的案例,其实就回答了我们今天推文的问题:为什么做拟时序,因为它已经是非常常规而且几乎是必备的单细胞分析条目,你很难跳过去。 而且,加入拟时序分析有时候确实是能更加说明问题。 尝试一下monocle2的拟时序分析 拟时序有非常多多种算法,后面我们再慢慢介绍,包括但不限于: monocle2拟时序实战 monocle3拟时序实战 SCORPIUS Slingshot 基于其它编程语言的拟时序分析 拟时序其实也不够 虽然上面的案例说明了拟时序分析是常规差异分析的很好的补充,把分辨率从细胞亚群为单位提高到了具体的单个细胞本身,因为每个细胞都有自己的唯一的 Pseudotime数值,根据这个数值就可以对细胞进行排序啦 ,希望通过这10个推文的指引能让大家对单细胞转录组的明星分析方法拟时序有一个基础的认知。
我们在单细胞天地发布的全网第一个单细胞转录组课程,精炼了常规单细胞转录组数据分析主线,就是5大R包, scater,monocle,Seurat,scran,M3Drop,然后10个步骤: step1 构建细胞谱系发育,也就是pseudotime(拟时序分析),主要是判断不同细胞表达量之间的关系,不同亚群之间表达量过渡的变化就是一条轨迹,类比于随着时间的发育过程的基因表达变化,但并不是真正的时间上的变化 ,因此我们叫它”拟时序“,而不是”真时间分析“。 nrow = 1) 因为NPC细胞跟另外3种细胞从生理上就不一样,所以是单独的发育轨迹,而 “GW16” and “GW21” ,“GW21+3” 这种孕期细胞,就可以很清晰的看到时间被反映在我们的拟时序分析结果了 ordering_genes=names(tail(sort(apply(cds@assayData$exprs,1,mad)),2000)) 使用这2000个基因去跑拟时序分析,得到的单细胞发育谱系如下
所以这个时候其实生物学背景更加重要了,前面我们在 为什么做拟时序 提到了其实可以把拟时序分析简化成为了主要是为了展示差异细节,比如CD14和CD16的两种单核细胞的差异细节,或者说说CD56和CD16这两种 既然绝大部分小伙伴都做的是普普通通的差异细节的展示,那么其实根据这个综述选择一两个比较好的软件工具即可: 选择一两个比较好的软件工具 比如我们就分享了一下软件工具的实战笔记: 简单直接的拟时序分析方法 ,R包SCORPIUS推荐 把基因表达量画在拟时序结果图上 拟时序分析就是差异分析的细节剖析 拟时序分析的10个步骤 另外,值得一提的是这个2019的综述其实还把他们的45个软件的测评过程和结果做成了一个易于使用的 拟时序的正确姿势,错误示范,创新型拟时序 拟时序的多种算法大比拼 monocle2拟时序实战 降维聚类分群 拟时序 多种基础可视化 正向特殊可视化(目标基因表达量,基因集打分) 反方向特殊可视化(5种可视化 ) monocle3拟时序实战 SCORPIUS实战 Slingshot实战 基于其它编程语言的拟时序分析 然而,本人的理解肯定是片面的,希望通过这10个推文的指引能让大家对单细胞转录组的明星分析方法拟时序有一个基础的认知
我们也简单的展示了目前的可以做拟时序分析的软件的测评,详见:拟时序的多种算法大比拼(拟时序一本通03) 。 基于其它编程语言的拟时序分析 我们这里还是使用最开始的测试数据来作为案例演练,我们主要是关心的是已知的CD14和CD16的单核细胞的拟时序数据分析情况。 创造一个函数包装monocle2的拟时序分析 前面在为什么做拟时序 (展示差异细节)我们简单的演示了如何做一个极简的使用monocle2包的拟时序分析 ,就是构建好对象后的挑选基因,降维,排序这3个步骤即可 提高降维聚类分群的分辨率 我们关心什么差异,就应该是做什么样的拟时序分析,需要牢记为什么做拟时序 (展示差异细节)。 而且,这两个个体内部的独立的拟时序分析结果,是可以比较的。后面我们再细讲!
我看到了去年《单细胞天地》的一个文献解读:单细胞图谱揭示发育中的小鼠大脑中的脑膜白细胞异质性,提到了一个有意思的拟时序方法,这篇文章没有用monocle2/3、PAGA等,而是选用了SCORPIUS,现在我们就来介绍一下它 : 能做拟时序分析的方法实在是太多了,这个SCORPIUS方法也是2016丢在预印本的, 文章标题是:《SCORPIUS improves trajectory inference and identifies 我们现在把SCORPIUS跟前面的教程:拟时序分析就是差异分析的细节剖析提到的monocle2对比一下,全部的代码如下所示: # 如果还没有安装,就使用下面的代码安装它 # install.packages