国产精品网红尤物福利在线观看_欧美经典一区二区_辽宁老熟女高潮狂叫视频_日日草日日干_成人免费观看毛片_久久激情免费视频

伯豪生物
空間轉錄組測序 | 細胞分化(擬時序 分析)該怎么玩
發布時間:2020-12-22 瀏覽次數:12560
擬時序分析(pseudo-time),它指通過構建細胞間的變化軌跡來重塑細胞隨著時間的變化過程。用于擬時序分析的軟件和算法很多,目前文章中用到多的是Monocle軟件,這也是是CNS主流期刊的常用軟件。

在發育過程中,細胞會對刺激做出反應,在整個生命過程中,從一種功能性“狀態”轉變為另一種功能性“狀態”。擬時序分析(pseudo-time),它指通過構建細胞間的變化軌跡來重塑細胞隨著時間的變化過程。用于擬時序分析的軟件和算法很多,目前文章中用到 多的是 Monocle 軟件,這也是是 CNS 主流期刊的常用軟件。

對于單細胞的數據做擬時序分析基本的流程是挑選一些感興趣并且可能有分化關系的亞群,然后來分析它們之間的分化關系。 那么對于空間轉錄組數據有沒有什么新花樣呢? 其實目前的空間轉錄組測序已發表的文章還沒太注重細胞分化這一內容,可能大家做空轉數據挖掘的時候還沒太把關注點放到分化關系這上面吧,那么今天就來給大家寫寫自己的突發奇想吧!

既然是做的空間轉錄組,那么我們就要有效的利用起來空間位置信息。選擇的亞群不能太離散。其次,我們可以分析相同細胞類型的亞群在空間位置的分化關系,也可以按照病理狀態分布的漸進變化來選擇區域做擬時序分化。

讀取 seurat 對象

library(monocle)

# 讀取前面保存的 seurat 對象文件

combin.data <- readRDS("combin.data.RDS")

這里我們選擇大腦皮層區的亞群作為示例進行細胞分化分析。

# 展示亞群分布

SpatialDimPlot(combin.data, label = TRUE, label.size = 3)

展示亞群的分布

# 展示皮層 marker 的分布

SpatialFeaturePlot(combin.data, features = c("Stx1a"))

展示皮層 mark 的分布

根據亞群和皮層 marker STX1A 的表達分布,我們選擇 2、5、7、9、10 號群作為皮層的亞群。

# 選擇要分析的亞群 subdata <- subset(combin.data, idents = c(2,5,7,9,10))

導入 seurat 對象,構建 CellDataSet 對象

這里我們使用 monocle2 做擬時序分析。monocle2 做擬時序分析需要三個矩陣文件:expression_matrix(表達矩陣,一般是 raw count)、phenoData(細胞 meta 文件,可以包括細胞的樣本、亞群等信息)、featureData(gene 的 meta 文件,注意要包括 gene_short_name 這一列)。

# 單細胞 count 文件、細胞類型注釋文件、基因注釋文件

expression_matrix = combin.data@assays$Spatial@counts

cell_metadata <- data.frame(group = combin.data[['orig.ident']],clusters = Idents(combin.data))

gene_annotation <- data.frame(gene_short_name = rownames(expression_matrix), stringsAsFactors = F) 

rownames(gene_annotation) <- rownames(expression_matrix)

##### 新建 CellDataSet object

pd <- new("AnnotatedDataFrame", data = cell_metadata)

fd <- new("AnnotatedDataFrame", data = gene_annotation)

HSMM <- newCellDataSet(expression_matrix,

                        phenoData = pd,

                        featureData = fd,

                        expressionFamily=negbinomial.size())

monocle2 做擬時序分析主要包括三個步驟:

1、基因篩選。選擇要作為擬時序分化依據的基因,軟件官方提供了幾種可選的方法。

A、選擇不同時間點分化差異基因,這應該是比較理想的情況,需要你提供的數據是根據不同分化時間點取樣的;

B、選擇表達離散度高的基因,也就是在所有細胞里變化比較大的基因,如果只是想看某個亞群里細胞之間的分化選擇這種方法是比較合適的;

C、選擇亞群間差異大的基因,一般想比較多個亞群間的分化關系選擇這種方法效果會好一點;

D、選擇一些已知跟分化相關的基因。


2、數據降維。Monocle2 使用 DDRTree 的非線性重建算法對細胞進行排序。

3、細胞排序。根據細胞的降維后的結果給每個細胞計算一個分化時間。不過這里有一點需要注意,做細胞排序這一步可以自己指定分化起點,要不然算法會隨機選擇一端作為起點,也就是說計算出來的分化時間有可能是倒過來的,即起點是終點,終點是起點。

# 評估 SizeFactors

HSMM_myo <- estimateSizeFactors(HSMM)

# 計算離散度

HSMM_myo <- estimateDispersions(HSMM_myo)

# 計算差異

diff_test_res1 <- differentialGeneTest(HSMM_myo,fullModelFormulaStr = '~clusters', cores = 4)

# 選擇差異基因

ordering_genes <- subset(diff_test_res1, qval < 0.05)[,'gene_short_name']

# 基因過濾

HSMM_myo <- setOrderingFilter(HSMM_myo, ordering_genes)

# 降維

HSMM_myo <- reduceDimension(HSMM_myo, max_components=2, method = 'DDRTree')

# 細胞排序

HSMM_myo <- orderCells(HSMM_myo)

Monocle 結果可視化:

# 查看亞群分化關系

plot_cell_trajectory(HSMM_myo, color_by = "clusters",show_branch_points = F,cell_size =0.5)

查看亞群分化結果

# 按亞群分開展示 plot_cell_trajectory(HSMM_myo, color_by = "clusters",cell_size =0.5) + facet_wrap(~clusters, nrow = 4)

按亞群分開展示

# 分樣本展示 plot_cell_trajectory(HSMM_myo, color_by = "orig.ident",show_branch_points = F,cell_size =0.5)

 分樣本展示

從亞群和樣本的分布來看其實還是體現了一定的樣本的異質性的,同一樣本的亞群更容易分布到同一個分支上,這里的 2、7、10 號群有點分不太開,這時候我們就要思考一下,對于空轉的數據有時候是不是單獨分析某個樣本上的分化是不是更合適一些。

選擇單個樣本的數據進行分析

這里我們選擇小鼠大腦 Sagittal-Anterior1 的樣本的皮層的亞群單獨進行分析。

#### 單獨繪制某個樣本的圖片

library("cowplot")

p1 <- SpatialPlot(combin.data,crop=FALSE,images='image')# 這里 Sagittal-Anterior1 樣本的鏡像圖片的名字是 image,具體名稱應跟前期讀取鏡像文件時設置的名字對應。

p2 <- SpatialFeaturePlot(combin.data, features = c("Stx1a"),images='image')

plot_grid(p1, p2)

單獨繪制某個樣本圖

選擇皮層 marker 高表達的 2、7、10 群進行擬時序分析。

# 選擇單個樣本 Sagittal-Anterior1 的亞群進行分析

subdata <- subset(combin.data, orig.ident == 'Sagittal-Anterior1')

subdata <- subset(subdata, idents = c(2,4,10))

# 單細胞 count 文件、細胞類型注釋文件、基因注釋文件

expression_matrix = subdata@assays$Spatial@counts

cell_metadata <- data.frame(group = subdata[['orig.ident']],clusters = Idents(subdata))

gene_annotation <- data.frame(gene_short_name = rownames(expression_matrix), stringsAsFactors = F) 

rownames(gene_annotation) <- rownames(expression_matrix)

##### 新建 CellDataSet object

pd <- new("AnnotatedDataFrame", data = cell_metadata)

fd <- new("AnnotatedDataFrame", data = gene_annotation)

HSMM <- newCellDataSet(expression_matrix,

                        phenoData = pd,

                        featureData = fd,

                        expressionFamily=negbinomial.size())

# 評估 SizeFactors

HSMM_myo <- estimateSizeFactors(HSMM)

# 計算離散度

HSMM_myo <- estimateDispersions(HSMM_myo)

# 計算差異

diff_test_res1 <- differentialGeneTest(HSMM_myo,fullModelFormulaStr = '~clusters', cores = 4)

# 選擇差異基因

ordering_genes <- subset(diff_test_res1, qval < 0.05)[,'gene_short_name']

# 基因過濾

HSMM_myo <- setOrderingFilter(HSMM_myo, ordering_genes)

# 降維

HSMM_myo <- reduceDimension(HSMM_myo, max_components=2, method = 'DDRTree')

# 細胞排序

HSMM_myo <- orderCells(HSMM_myo)

結果可視化:

# 查看亞群分化關系

plot_cell_trajectory(HSMM_myo, color_by = "clusters",show_branch_points = F,cell_size =0.5)

查看亞群分化關系

# 按亞群分開展示

plot_cell_trajectory(HSMM_myo, color_by = "clusters",cell_size =0.5) + facet_wrap(~clusters, nrow = 4)

按亞群分開展示分化關系

這里我們可以發現,之前選擇兩個樣本一起的 5 個亞群分析的時候這 3 個群是有點區分不開的,在這次重新分析的時候卻區分的很明顯。這也說明選擇的亞群范圍不一樣 monocle 得到的結果差異是很大的,究其原因可能是加入某些差異比較大的亞群或細胞后會進一步壓縮原本差異比較小的亞群之間的差異分布。因為是算法同時計算多組差異變化難免會出現這種情況,所以我們在一開始選擇亞群上就要稍微注意一點。

# 繪制分化時間

cell_Pseudotime <- data.frame(pData(HSMM_myo)$Pseudotime)

rownames(cell_Pseudotime) <- rownames(cell_metadata)

plot_cell_trajectory(HSMM_myo, color_by = "Pseudotime",cell_size =0.5)

繪制分化時間

從分化時間的分布來看三個亞群的分化大概順序是從 7 號群一 >10 號群一 >2 號群,由于 monocle 的判斷的分化起點是隨機的,所以也有可能是倒過來的順序。

我們再來看一下皮層 marker 基因 Stx1a 的在分化過程中的表達分布

# 繪制 Stx1a 基因分化時間的變化

data_subset <- HSMM_myo['Stx1a',]

plot_genes_in_pseudotime(data_subset, color_by = "clusters")

繪制 Stx1a 基因分化時間的變化

marker 基因的表達分布基本是由低到高再降低的趨勢。

下面重點來了!我們把細胞的分化時間對應到組織切片上。

# 把分化時間對應到到組織切片位置上

combin.data[['Pseudotime']] <- 0

combin.data[['Pseudotime']][rownames(cell_Pseudotime),] <- cell_Pseudotime

SpatialFeaturePlot(combin.data, features = c("Pseudotime"),images='image')

把分化時間對應到到組織切片位置上

這時候我們就發現結果有點意思了,皮層細胞的分化在組織切片上是從外向內的方向的,當然也有可能實際上是反過來的,也就是從里往外的,總之就是細胞的分化是存在一定的空間位置規律的。

接著,我們再來看一下細胞分化過程中表達變化顯著的基因有哪些。

# 分析分化時間顯著變化的基因

diff_test_res2 <- differentialGeneTest(HSMM_myo[ordering_genes,],fullModelFormulaStr = "~sm.ns(Pseudotime)",cores = 4)

# 選擇 top50 基因繪圖

top50_gene = diff_test_res2[order(diff_test_res2$qval),][1:50,'gene_short_name']

plot_pseudotime_heatmap(HSMM_myo[top50_gene,], num_clusters = 6,cores = 1,show_rownames = T)

選擇 top50 基因繪圖

從 top50 差異基因的情況來看,血紅蛋白基因和線粒體基因在小鼠大腦皮層切片外層的表達比較高。我們也可以把所有差異基因都輸出來,將不同表達趨勢的基因模塊分別進行功能富集,這樣就可以知道隨著皮層細胞的在空間位置的分化哪些功能發生了變化。

sig_gene_names <- subset(diff_test_res2, qval < 0.05)[,'gene_short_name']

heatmap = plot_pseudotime_heatmap(HSMM_myo[sig_gene_names,], num_clusters = 6,cores = 1,show_rownames = F,return_heatmap=T)

###get cluster info

row_cluster = cutree(heatmap$tree_row,k=6)

write.table(row_cluster,file=paste("_gene_clusters.xls",sep=""),sep="\t",row.names=T)

細胞更有意思呢!因為示例數據里沒有病理信息,如果結合病理特征來做擬時序分化分析應該能發現更多有價值的東西!

轉載:簡生信(侵刪)

1610077425(1)

更多伯豪生物人工服務:

 伯豪學院單細胞測序服務人工客服


在線客服
登錄/注冊
在線留言
返回頂部
主站蜘蛛池模板: 亚洲精品乱码中文久久_tube国产_国产午夜福利亚洲第一_天天操天天操天天操天天操_2021亚洲天堂_久久久国产精品无码一区二区 | 国产一区二区三区在线视頻_激情在线播放_久久国产精品精品国产色婷婷_天天碰免费上传视频_真实国产乱子伦视频_福利姬一区二区三区在线观看 | 91porny丨首页入口在线_久久毛毛片_国产日产一区二区三区久久久久久_正在播放一区_久久高清一区二区_久久精品国产亚洲AV无码麻豆 | 337p日本欧洲亚洲大胆色噜噜噜_99999精品视频_美女隐私视频黄www曰本_夜夜躁狠狠躁日日躁av麻豆_一级v片_欧美日韩免费中文字幕 | 99精品欧美一区二区蜜桃免费_男人日女人免费视频_亚洲精品无码永久在线观看男男_亚洲AV永久无码天堂网一线_国产亚洲精品自在久久VR_人妻熟女一二三区夜夜爱 | 男女黄色一级片_好吊妞这里只有精品_免费淫片aaaa级_高清不卡一区二区三区香蕉_五月天sese_美女视频黄频大全不卡视频在线播放 | 国产三级网址_亚洲国产精品无码久久久秋霞2_97精品视频在线观看_99久久e免费热视频百度_免费在线观看午夜视频_青草青在线视频 | 国产精品成人观看视频国产奇米_欧美日韩中文视频_五月丁香五月伦理_亚洲国产精品成人综合久久久久久久_69式高清视频在线观看_四虎com | 巨胸不知火舞露双奶头无遮挡_91pro在线_久久这里只有精品国产_国产精品视频啪啪_91精品对白一区国产伦_美日韩精品 | 久草青青_亚洲精品68久久久一区_国产亚洲精aa成人网站_色香色欲天天综合网天天来吧_亚洲第一图区_亚洲一级片 | 免费人成在线播放_精品亚洲视频在线观看_99爱免费视频_国产AV国产精品白丝JK制服_91久久久国产精品_九一成人免费视频 | 免费的api接口网站_免费在线观看国产_国产综合精品五月丁香好久久_国产欧美一二三区_99热久久久久久久久久久174_亚洲性免费 | 一区二区三区精彩视频_热RE99久久6国产精品免费_高潮按摩久久久久久av免费_a∨网站_午夜av网站_欧美黄色一级录像 | 久青青在线观看视频国产_亚洲卡一卡二新区永久时长_成人免费福利视频_午夜激情视频_性视频一区二区_91theporn国产在线观看 | 日本高清在线视频WWW色_一区小视频_日韩欧美国产网站_麻豆蜜桃九色在线视频_东京热制服丝袜无码专区_在线观看亚洲免费视频 | 国产一级av片一区久久久_欧美日韩国产伦理_美女脱内衣禁止18以下看免费_成人蜜桃av_美女视频黄a全部免费看小说_成人性生交A片免费看 | 久久免费视频网_国产综合社区在线视频_久久成人在线视频_亚洲国产成人一区二区三区_久久久久观看_亚洲ww77777影视 | 爱爱插入视频_精品福利视频一区_三个男吃我奶头一边一个视频_亚洲欧洲日本在线_国产精品无码专区_国产成人免费a在线视频色戒 | 国产在线观看无码不卡_熟女丝袜潮喷内裤视频网站_国产一区欧美一区_国语精品_欧美黄色片在线_99热影视 国产性精品_久久精品无码人妻属于什么级别_成人性视频在线_久久超碰免费_国产精品综合久久久久_激情偷乱人伦在线视频 | 精品视频成人_免费一级黄色片_欧美一区二区在线_精品无码国产自产拍在线观看_性欧美videofree另类_亚洲一区精品人人爽人人躁 | 精品一区二区三区国产在线观看_欧美性大战久久久久XXX_精品无人乱码一区二区三区的使用体验_我的漂亮老师5中文字幕版_少妇高潮久久久久久图片_狠狠色欧美亚洲综合色 | 人妻av无码专区_日本无删减版_天天干天天操天天插_中文字幕欧美日韩精品_亚洲tv久久爽久久爽_少妇裸体淫交视频免费看 | 三级毛片久久_午夜精品久久久久久久蜜桃_玖玖玖国产精品视频_超碰个人在线_一级毛片真人视频_巨胸喷奶水www久久久 | 开心婷婷激激情av_日韩激情网站_成人福利视频在线观看免费_无码少妇精品一区二区免费_深夜A级毛片免费视频_在线观看一区二区三区视频 | 再深点灬舒服灬太大了添少妇字幕_免费看一区二区三区四区_成人免费播放视频777777_北条麻妃一区二区三区在线_国产精品久久久久久久竹霞_在线国产一区 | 在线a毛片免费视频观看_亚裔avvideos和黑人_黄色免费大片_久久精品久久精品亚洲人_97夜色_久草在现 | 99这里只有精品99_国产丰满麻豆videos天美_国产一区不卡在线_365天天色综合网_日本大尺度吃奶呻吟视频_超碰caoporn香蕉 | 在线一区二区三区四区五区_欧美日韩视频一区二区三区_伊人色综合网一区二区三区_色老头xxxxx免费视频_奇米影视在线视频_色妞色综合久久夜夜 | 日本黄色网址大全_中国一级片免费看_麻豆国产网站_日韩免费中文_国产三区在线视频_麻豆映画传媒 | 亚洲精品一级片_福利片在线_亚洲a级在线观看_国产伦精品一区二区三区精品视频_日xxxxx_亚洲成a人v欧美综合天堂 | 97超碰人人看_精品久久久bbbb人妻_九色.av_成人亚洲视频_成人毛片免费在线观看_久久久不卡网国产精品二区 | 亚洲肥熟_真实国产熟睡乱子伦视频_蜜桃AV麻豆AV果冻传媒_夜夜操夜夜操_欧美成人性之站_欧美日韩国产激情 | 久久久久久国产精品三级_伊人网在线免费视频_国产成人69视频午夜福利在线观看_美女很黄很黄免费_精品一区二区视频在线观看_中文人妻熟妇乱又伦精品 | 日本一区二区不卡_亚洲精品国产无套在线观_调教一区_97免费视频观看_av一本久道久久综合久久鬼色_欧美第九页 | 性色AV无码专区一ⅤA亚洲_精品人妻无码一区二区三区绿_中文字幕在线精品视频入口一区_国产成人免费9x9x人网站视频_超碰成人福利_久久草精品 | 久热最新_久色一区_无码男同a片在线观看_国产一起草_亚洲午夜国产精品无码中文字_中国黄色免费看 | 久久久久九九九女人毛片_日韩不卡视频在线观看_91成人精品视频_亚洲日本一区二区一本一道_性盈盈网站久久久久忘忧草_亚洲第一黄 | 97久久精品无码一区二区_久久丫亚洲一区二区_99久久一区二区_日本中文字幕在线观看全_亚洲成色综合网站yy_爱爱爱视频免费看 | 免费a级毛片在线观看_欧美一区二区在线播放_亚洲精品国产欧美_男同GAY欧美GV在线观看_成人深夜_婷婷久久网 | 精品女同一区二区三区_三级全黄不卡的_成人视屏在线观看_午夜影院啪啪_白娘子传奇50集免费观看_中文天堂在线一区 | 免费av成人在线_国产高清在线一区二区_午夜精品久久久久久久久久蜜桃_日韩色av色资源_中国毛片大全_在线观看网站av |