联系我们

小程序开发资讯 为什么作念拟时序(拟时序一册通01)

发布日期:2024-09-28 16:22    点击次数:163

单细胞转录组也曾火爆了五个年初,到如今的2024专家其实也曾相称熟悉了它的表率数据分析想路。皆是先整合一说念的样品的抒发量矩阵后走降维聚类分群,然后第一档次降维聚类分群先在低分辨率的条件下对各个亚群进行生物学定名。如果是肿瘤边界的咱们时时是进行如下所示的分类:

immune (CD45+,PTPRC),epithelial/cancer (EpCAM+,EPCAM),stromal (CD10+,MME,fibro or CD31+,PECAM1,endo)

参考我五年前先容过的 CNS图表复现08—肿瘤单细胞数据第一次分群通用规定,这3大单细胞亚群组成了肿瘤免疫微环境的复杂。绝大部分著作皆是收拢免疫细胞亚群进行细分,包括淋巴系(T,B,NK细胞)和髓系(单核,树突,巨噬,粒细胞)的两大类行为第二次细分亚群。然而也有不少著作是收拢stromal 里面的 fibro 和endo进行细分,况且假造生物学故事的。而且咱们也曾积聚了心肝脾肺肾等多个器官的上皮细胞的细分亚群, 以及免疫细胞里面的髓系和B细胞细分亚群:

B细胞细分亚群髓系免疫细胞细分亚群

在针对各个细胞亚群进行细分的时候,专家也整理好了表率的分析条件,以2021的这个著作:《Single-cell RNA-Seq reveals transcriptional heterogeneity and immune subtypes associated with disease activity in human myasthenia gravis》为例,不错看到它里面的B细胞细分之后,不错进行愈加素雅的亚群定名,参考:B细胞细分亚群,然后每个亚群有我方的特异性基因,特异性的生物学功能 :

图片

表率的分析条件

因为这些细分亚群皆是b细胞,是以原则上靠通路富集随机候是不够形容各个亚群的特质的,尤其是在那些生物学布景拖沓不清的时候。比如如果咱们赓续细分上头的b细胞里面的plasma细胞,这个时候如果算法赓续给咱们多个不同亚群咱们就很难给出来生物学名字,而只是是按照编号来永诀它们。咱们仍然是针对不同编号的亚群进行算法层面的特异性基因能够通路进行功能学形容,然而略显不够。是以如下所示,咱们加多了两个有挑战性的分析,等于拟时序和转录因子分析。

上头的案例,其实就回报了咱们今天推文的问题:为什么作念拟时序,因为它也曾曲直时时规而且果然是必备的单细胞分析条件,你很难跳往常。而且,加入拟时序分析随机候照实是能愈加阐明问题。

有了相反分析还不够

既然咱们不错针对均一性相比好的亚群细化后的不同编号的亚群进行算法层面的特异性基因能够通路,那么为什么咱们还要作念拟时序呢,其实特异性基因靠的是相反分析,是不同细胞亚群平直的相反分析,它这个相反分析的单元是细胞亚群而不是具体的每个细胞自己。施行上咱们的单细胞转录组的优点应该是到单细胞分辨率,然而咱们绝大部分的分析其实是只是是到了细胞亚群的分辨率,两个细胞亚群之间确定是有各自的相反基因列表,然而因为这些细胞亚群是来自于一个均一性相比好的亚群是以 它们其实细化的时候很难有全皆的分界线,能够说它们之间就算是有分界线这个分界线亦然不错突破的。

让咱们望望具体的案例,各人皆知CD14和CD16是用于表征单核细胞(单核吞吃细胞)亚型的两种常见符号物,CD14单核细胞主要参与炎症调遣和免疫支吾,而CD16单核细胞主要参与细胞毒性和抗体介导的免疫支吾。而CD56和CD16这两种常用的名义符号物,用于永诀NK细胞的亚型。咱们不错很容易通过相反分析取找到CD14和CD16的单核细胞的各自的特异性基因列表,能够CD56和CD16的NK细胞的各自的特异性基因列表。如下所示是一个案例,咱们这里是平直使用最浮松的示范数据,来自于SeuratData包的ifnb数据集 :

library(Seurat)library(SeuratData)# InstallData('ifnb.SeuratData')# 使用上头的代码下载SeuratData包的ifnb数据集,但曲直常磨真金不怕火汇集。。。。# trying URL 'http://seurat.nygenome.org/src/contrib/ifnb.SeuratData_3.1.0.tar.gz'# Content type 'application/octet-stream' length 413266233 bytes (394.1 MB)# 如果汇集不行,就想办法下载(394.1 MB)保存在我方的电脑里面,然后底下的代码装置指定旅途的压缩包:# install.packages(pkgs = '~/database/seurat-data/ifnb.SeuratData_3.1.0.tar.gz',#                  repos = NULL,#                  type = "source" )# 一定要看到这个包收效装置哦# * DONE (ifnb.SeuratData)library(ifnb.SeuratData) data("ifnb")ifnbifnb=UpdateSeuratObject(ifnb)ifnbtable(ifnb$orig.ident) sce.all <- ifnb

有了上头的练习的数据集,接下来不错把柄数据集自带的细胞亚群疑望,从里面去挑选咱们想作念拟时序分析的单核细胞 (包括CD14和CD16的单核细胞);

table(sce.all$seurat_annotations)sce.all$celltype = sce.all$seurat_annotationssel.clust = "celltype"scRNA <- SetIdent(sce.all, value = sel.clust)table(scRNA@active.ident) # 简约有计划机资源scRNA = subset(scRNA,downsample=100) kp = scRNA$celltype %in% c('CD14 Mono' , 'CD16 Mono')scRNA=scRNA[,kp]table(scRNA$celltype) 

关于CD14和CD16的单核细胞两个细胞亚群上头的组成的对象,咱们很容易作念相反分析

library(tidyverse)markers <- FindAllMarkers(scRNA, only.pos = TRUE, min.pct = 0.25, logfc.threshold = 0.25)all.markers =markers %>% dplyr::select(gene, everything()) %>% subset(p_val<0.05)dim(all.markers)table(all.markers$cluster)top10 =all.markers %>% group_by(cluster) %>% top_n(n = 10, wt = avg_log2FC) tmp=ScaleData(scRNA,top10$gene)DoHeatmap(tmp,features = top10$gene,raster = F)

不错看到的是CD14和CD16的单核细胞这两个细胞亚群照实是不错相比好的永诀,然而它们也有和会的趋势,能够说有渐变的可能性,这个等于相反分析的细节问题。

图片

相反分析的细节

简浮松单的相反分析天然是有计划出来具体的基因在不同细胞亚群的变化倍数,统计学办法即可。

而要展示相反分析的细节,就不行是以细胞亚群为单元,而需要具体到每个细胞自己,去望望具体的基因是如安在这两个单细胞亚群的具体的细胞之间冉冉的变化。

尝试一下monocle2的拟时序分析

拟时序有相称多多种算法,后头咱们再冉冉先容,包括但不限于:

monocle2拟时序实战monocle3拟时序实战SCORPIUSSlingshot基于其它编程话语的拟时序分析

当今基于前边的CD14和CD16的单核细胞两个细胞亚群上头的组成的对象,咱们尝试一下monocle2的拟时序分析,率先是构建monocle2的对象;

seurat=scRNAlibrary(monocle) expr_matrix=seurat@assays$RNA$counts#使用counts抒发值sample_sheet<-seurat@meta.data#将实验信息赋值新变量gene_annotation=data.frame(gene_short_name=rownames(seurat))#构建一个含有基因名字的数据框rownames(gene_annotation)=rownames(seurat)#将上述数据框的行名赋值基因名字pd <- new("AnnotatedDataFrame", data = sample_sheet)#将实验信息变量调动为monocel不错接受的对象fd <- new("AnnotatedDataFrame", data = gene_annotation)#将基因疑望变量调动为monocle不错接受的对象cds <- newCellDataSet(expr_matrix, phenoData = pd, featureData = fd,                      expressionFamily=negbinomial.size())#创建一个monocle的对象cds #cellData对象;monocle独到cds <- estimateSizeFactors(cds)cds <- estimateDispersions(cds) 

有了上头的monocle2的对象,拟时序只需要3个法子;

# 第一步: 挑选符合的基因. 有多个步伐,# 举例提供已知的基因集,能够我方作念相反分析后拿到的统计学权贵的相反基因列表 diff_test_res <- differentialGeneTest(cds,                                      fullModelFormulaStr = " ~ celltype + orig.ident",                                      reducedModelFormulaStr = " ~ orig.ident",                                      relative_expr=TRUE, cores=4) ordering_genes <- row.names (subset(diff_test_res, qval < 0.01))ordering_genescds <- setOrderingFilter(cds, ordering_genes)plot_ordering_genes(cds) # 第二步: 降维。降维的目的是为了更好的展示数据。函数里提供了许多种步伐,# 不同步伐的临了展示的图皆不太一样, 其中“DDRTree”是Monocle2使用的默许步伐cds <- reduceDimension(cds,                        max_components = 2,                        num_dim = 6,                        reduction_method = 'DDRTree',                        residualModelFormulaStr = "~orig.ident", #去除样本影响                       verbose = F)# 第三步: 对细胞进行排序cds <- orderCells(cds)# 临了进行可视化plot_cell_trajectory(cds, color_by = "orig.ident")   +  plot_cell_trajectory(cds, color_by = "celltype")  

就不错看到,前边的CD14和CD16的单核细胞两个细胞亚群其实是着手于两个不通常品能够说两个分组,sle病东说念主的处理组和对照组。而前边的通常相反分析并莫得探究这个样品效应问题,然而咱们的拟时序探究到了,如下所示:

图片

通常相反分析并莫得探究这个样品效应问题

咱们不错很明晰的看到,CD14的单核细胞其实是有两个截然有异的再细分的亚群,需要补充布景学问啦:

https://www.frontiersin.org/journals/immunology/articles/10.3389/fimmu.2019.01761/fullhttps://www.frontiersin.org/journals/immunology/articles/10.3389/fimmu.2020.01070/full

那么拟时序到底是得到了什么样的成果呢,咱们不错赓续可视化另外两个环节的变量,等于拟时序分析后产生的  Pseudotime 和State :

1. 荷兰总身价高达8.34亿欧元,小程序开发资讯队内绝大部分球员来自五大联赛,利物浦后防核心范戴克和曼城主力后卫阿克、国米后卫邓弗里斯和勒沃库森小将弗林蓬、巴萨后腰弗朗基·德容和利物浦小将赫拉芬贝赫、AC米兰右边锋赖因德斯以及利物浦前锋加克波等名将悉数入选。

library(ggsci)p1=plot_cell_trajectory(cds, color_by = "celltype")  + scale_color_nejm() p1  p2=plot_cell_trajectory(cds, color_by = "Pseudotime")  p2 p3=plot_cell_trajectory(cds, color_by = "State")  + scale_color_npg()p3 library(patchwork)p1+p2/p3

不错看到,如果是拟时序的算法层面来说,是CD16的单核细胞冉冉演酿成为了两种截然有异的CD14的单核细胞,如下所示:

图片

 

值得细心的是,这个演变的规定其实不错以为倒置过来的,因为算法料想其实没办法知说念发育规定,只是是有有一些基因考据拟时序在变化。咱们不错有许多进一步的分析的可能性,就需要熟练的掌捏拟时序分析后针对每个细胞 产生的  Pseudotime数值和State分组 ,如下所示 :

小程序开发
> colnames(pData(cds))[1] "orig.ident"         "nCount_RNA"         "nFeature_RNA"       "stim"              [5] "seurat_annotations" "celltype"           "Size_Factor"        "Pseudotime"        [9] "State"             > head(pData(cds))                  orig.ident nCount_RNA nFeature_RNA stim seurat_annotations  celltypeAAAGGCCTAAACGA.1 IMMUNE_CTRL       2675          792 CTRL          CD16 Mono CD16 MonoAAATACTGGTTCTT.1 IMMUNE_CTRL       2922          830 CTRL          CD14 Mono CD14 MonoAAATCCCTGTTGAC.1 IMMUNE_CTRL       2139          640 CTRL          CD14 Mono CD14 MonoAAATTGACAAACAG.1 IMMUNE_CTRL       1854          716 CTRL          CD14 Mono CD14 MonoAACTCTTGCATTCT.1 IMMUNE_CTRL       2219          764 CTRL          CD16 Mono CD16 MonoAAGACAGAGTTAGC.1 IMMUNE_CTRL       1760          619 CTRL          CD14 Mono CD14 Mono                 Size_Factor Pseudotime StateAAAGGCCTAAACGA.1   1.0390142  5.7395392     1AAATACTGGTTCTT.1   1.1349531 10.9696635     3AAATCCCTGTTGAC.1   0.8308230  7.6699632     1AAATTGACAAACAG.1   0.7201243 10.8909299     3AACTCTTGCATTCT.1   0.8618963  0.1031971     1AAGACAGAGTTAGC.1   0.6836131 10.5724209     2> table(pData(cds)$State)  1   2   3 105  49  46 

而且也不错把这个拟时序分析后针对每个细胞 产生的  Pseudotime数值和State分组  对象回帖到通例的Seurat的降维聚类分群经过里面去可视化,浮松的代码如下所示:

sce <- SCTransform(scRNA,verbose = F)  sce <- RunPCA(sce,verbose = F)  sce <- RunUMAP(sce, dims = 1:20)DimPlot(sce,group.by = 'celltype')sce$State = pData(cds)$Statesce$Pseudotime = pData(cds)$PseudotimeDimPlot(sce,group.by = 'State') +   DimPlot(sce,group.by = 'celltype') +  DimPlot(sce,group.by = 'orig.ident') 

不错看到,在二维平面上头,CD14和CD16的单核细胞两个细胞亚群的相反其实是跟两个不通常品能够说两个分组并存的,而且是在每个样品里面皆很明晰的不错看到是CD16的单核细胞冉冉演酿成为了两种截然有异的CD14的单核细胞。

图片

是CD16的单核细胞冉冉演酿成为了两种截然有异的CD14的单核细胞

这个具体的变化过程,就不错赓续两两之间作念拟时序看基因列表了,绘图渐变的热图。

拟时序其实也不够

天然上头的案例阐明了拟时序分析是通例相反分析的很好的补充,把分辨率从细胞亚群为单元晋升到了具体的单个细胞自己,因为每个细胞皆有我方的独一的  Pseudotime数值,把柄这个数值就不错对细胞进行排序啦。然而这个算法自己亦然不够的,它得到的  Pseudotime数值是大小的排序是不错反过来的,这个时候需要一些先验学问的提拔,比如某些基因是已知的的规定变化趋势。又能够需要一些其它算法的提拔,比如 使用cytoTRACE评估不同单细胞亚群的分化潜能。

天然了,如果超逸抒发量矩阵自己,引入全新信息,比如具体的基因的转录本的未剪接和剪接 mRNA数值,就不错构建RNA 速度模子作念分析,得到的发育规定就有标的而且可靠啦,详见:10x官网下载pbmc3k数据集走RNA速度凹凸游分析实战。然而它也有缺陷,率先是需要对测序的fastq文献再行分析,才能获取到未剪接和剪接 mRNA数值,其次在传统的基于二代测序数据的10x单细胞转录组其实只是是测了具体的每个mRNA的两头二选一汉典,并莫得把两个mRNA测通是以就很难取得准确的未剪接和剪接 mRNA数值。

天然了,算法会一直有更新,全新的软件和器具也会被继续不停的建筑出来,冉冉的就措置了以前的问题。比如2024新发表的scVelo,就不再依赖于剪接信息,而是通过引入基因调控数据 ,提供更准确的细胞轨迹信息和伪时代料想成果。详见

著作:TFvelo: gene regulation inspired RNA velocity estimation. Nat Commungithub官网(Python软件):https://github.com/xiaoyeye/TFvelo你当今看到的是拟时序一册通专辑

今天咱们分享了为什么作念拟时序,把它简化成为了主若是为了展示相反细节这个功能,忽略了它在发育学层面的哄骗,因为我不是发育生物学边界布景。天然说拟时序分析在单细胞转录组数据分析中具有迫切深嗜深嗜,不错匡助咱们贯通细胞情景的动态变化和发展轨迹,以及疾病的发展过程和调治机制,主若是有底下的这些哄骗,需要蚁合具体的文献来解读:

识别细胞情景的动态变化: 单细胞转录组数据时时是通过拿获大皆单个细胞的基因抒发数据来获取样品中细胞的各样性。拟时序分析不错匡助咱们贯通细胞在不同时候点或条件下的动态变化,识别细胞情景的调动过程,比如细胞分化、激活、增殖等。复原发育轨迹: 拟时序分析不错匡助复原细胞发育轨迹,揭示细胞从干细胞到练习细胞的分化过程。通过构建细胞的发育轨迹图,不错将细胞按照它们在发育过程中的相似性进行聚类,进而接洽发育过程中的环节调动和调控因子。接洽疾病发扬过程: 在疾病接洽中,拟时序分析不错匡助咱们贯通疾病的发展过程,识别疾病联系的细胞亚型或情景的动态变化,以及发病机制的环节节点。这关于疾病会诊、展望和调治具有迫切深嗜深嗜。探索细胞在特定条件下的反映机制: 拟时序分析不错匡助咱们接洽细胞在不同环境或刺激条件下的反映机制。通过相比不同时候点或条件下的细胞抒发花样,不错识别出反映于特定刺激的基因抒发变化,并揭示其潜在的调控汇集和信号通路。

值得一提的是拟时序一册通专辑的目次是:

为什么作念拟时序(展示相反细节)拟时序的正确姿势,失实示范,改革型拟时序拟时序的多种算法大比拼monocle2拟时序实战降维聚类分群拟时序多种基础可视化正向特殊可视化(办法基因抒发量,基因集打分)反标的特殊可视化(5种可视化)monocle3拟时序实战SCORPIUS实战Slingshot实战基于其它编程话语的拟时序分析

关联词,本东说念主的贯通确定是单方面的,但愿通过这10个推文的开发能让专家对单细胞转录组的明星分析步伐拟时序有一个基础的剖判。也接待专家提倡来我方的不同的见识,能够我方对拟时序的猜忌之处,接待留言参与有计划哦!

文末友情宣传

浓烈建议你保举给身边的博士后以及年青生物学PI小程序开发资讯,多少量数据剖判,让他们的科研上一个台阶:

生物信息学马拉松讲课(买一得五) ,你的生物信息学初学课SBC&生信妙技树&上海市生物医药行业协会 | 空间多组学接洽战略及生信分析培训班春季2天书讲课,招生火热进行中 2024的分享劳动器交个一又友福利价仍然是800千呼万唤始出来的独享生物信息学云劳动器 本站仅提供存储劳动,通盘内容均由用户发布,如发现存害或侵权内容,请点击举报。

上一篇:小程序开发资讯 Yule & Noel:圣诞节的这两个称呼,你据说过吗?
下一篇:没有了