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

伯豪生物
空間轉錄組測序 | 細胞分化(擬時序 分析)該怎么玩
發布時間: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)

更多伯豪生物人工服務:

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


在線客服
登錄/注冊
在線留言
返回頂部
主站蜘蛛池模板: 午夜综合网_亚洲精品国产一区二区三区四区在线_他揉捏她两乳不停呻吟小视频_久久人人97超碰婷婷开心情五月_国产黄色a_日本大片在线 | 黄色v片_亚洲精品在线观_一区二区我不卡_无遮挡边摸边吃奶边做视频免费_日韩爱爱网_无码少妇一区二区三区免费看 | 国产一区二区三区在线视頻_激情在线播放_久久国产精品精品国产色婷婷_天天碰免费上传视频_真实国产乱子伦视频_福利姬一区二区三区在线观看 | 少妇特黄一区二区三区美国毛片_国产综合成色在线视频_久久毛片少妇高潮免费看_二级大黄大片高清在线视频_一级黄色大片在线观看_在线看片人成视频免费无遮挡 | av亚洲产国偷v产偷v自拍小说_好男人社区www影视_黄色国产一区二区_chinese少妇偷_男人天堂五月天_麻豆精品视频在线 | 日日夜夜狠狠_国产精品羞答答_亚洲中文字幕人成乱码_久久精品国产99久久6动漫欧_九一久久精品_欧美v国产v亚洲v日韩九九 | 特色毛片_av毛片大全_中文字幕第三页_国产欧美日韩综合精品久久一区_国产精品8区_日本少妇又色又爽又高潮看你 | 成年网站免费观看_少妇A级裸片AAAAA八戒_四川小少妇BBAABBAA_最新国内精品自在自线视频_久久美女网_人人添人人澡人人澡人人人人孕妇 | 亚洲精品国产suv一区_综合国产精品久久久_91日碰狠狠躁久久躁的最新章节_国产福利网_女人天堂av手机在线_午夜资源 | 亚洲国产美女_无毒黄色网址_97色精品视频在线观看_男女啪啪免费体验区_日本在线不卡视频_一级片毛片网站 | 日本人妻A片成人免费看_天堂在线www官网_欧美日韩国产在线一区_一区二区视频传媒有限公司_国产91色欲麻豆精品一区二区_成人高潮片免费视 | 久热精品免费_日韩av福利_欧美午夜片欧美片在线观看_天天操夜夜操夜夜操_无码中文字幕人妻在线一区_一区二区三区免费看 | 欧美性猛交免费看_日韩免费小视频_最新国产亚洲亚洲精品a_三级影院在线观看_免费一级男女裸片_亚洲综合久久一区二区 | 在线观看视频精品_1313午夜精品理论片蜜桃网_国产另类在线视频_美女张开腿让男人视频_国产性爱自拍av_亚洲永久精品免费www | 欧美国产激情视频_精品国产一区二区三区久久久狼_五月天激情婷婷婷久久_欧洲激情在线_中文字幕男人天堂_先锋影音人妻啪啪va资源网站 | 日本丰满熟妇videossex一_亚洲国产精品91_99re亚洲无码高清_国产午夜无码精品免费看动漫_91草逼视频_成人国内精品久久久久一区 | 91毛片免费看_亚洲在线第一页_欧美日韩在线观看一区二区_国产精品原创av片国产免费_我要色综合网_中文字幕亚洲无线 | 国产成人综合亚洲欧美丁香花_国产免费bxbx人网站视频_久久久成人av毛片免费观看_被猛男伦流澡到高潮H视频网站_丰满少妇高潮在线播放不卡_婷婷在线视频免费播放 | 97久久综合亚洲色HEZYO_人妻无码一区二区三区免费_久久久久久久看片_欧美性猛交xxxx免费看_亚洲一区制服无码中字_亚洲精品一区二区国产精品 | 樱花草无码专区日本_2021年亚洲精品无码久_特级精品毛片免费观看_日本人又黄又爽又大又色_天天干天天日_天天操天天操 | 亚州AAA片欧洲免费观看高_999在线视频精品免费播放观看_中文字幕欧美日韩_无码精品国应Aⅴ左线_男女啪啪猛烈免费网站_娇小TEEN乱子伦精品 | 国产ā片在线观看免费观看_欧美韩日视频_水蜜桃无码视频在线观看_日日噜噜噜夜夜爽爽狠狠视频_亚洲精品卡2卡3卡4卡乱码_不卡av免费看 | 麻豆国产成人AV高清在线_国内精品久久人妻互换_亚洲欧美一区二区成人片_草草草草视频_www.youjizz.com欧美_浓毛老太交欧美老妇热爱乱 | 国产成人综合亚洲欧美丁香花_国产免费bxbx人网站视频_久久久成人av毛片免费观看_被猛男伦流澡到高潮H视频网站_丰满少妇高潮在线播放不卡_婷婷在线视频免费播放 | 美女扒开内裤无遮挡18禁_视频一区视频二区中文_免费精品国产人妻国语_久久天天综合网_日本一级淫片a免费播放_99亚洲乱人伦aⅴ精品 | 日韩久久精品一区_夜色爽爽爽久久精品日韩_亚洲一线二线三线AV无码_国产乱码精品一区二区三区蜜臀_诡异时代全球动漫免费观看_91超碰青青频精品国产 | 开心婷婷激激情av_日韩激情网站_成人福利视频在线观看免费_无码少妇精品一区二区免费_深夜A级毛片免费视频_在线观看一区二区三区视频 | japanese熟女熟妇_国产精品久久久久久超碰_丁香花五月·婷婷开心_美女扒开内裤羞羞网站_自拍亚洲国产_精品乱人码一区二区二区 | 国产午夜三级一区二区三_免费欧美精品_欧美做a视频_中文字幕人妻被公上司喝醉在线_人人超操_这里只有精品视频 | 337p日本欧洲亚洲大胆色噜噜噜_99999精品视频_美女隐私视频黄www曰本_夜夜躁狠狠躁日日躁av麻豆_一级v片_欧美日韩免费中文字幕 | 琪琪69_成人久久精品一区二区三区_a线大尺度叫床视频在线_国产精品自拍第一页_厨房人妻hd中文字幕_国产亚洲精品久久久久久久久 | 天无日天天射天天视_老司机一区_国产AV办公室丝袜秘书_欧美日韩精品久久久久_人人干超碰_成人h精品动漫一区二区三区 | 久久久久亚洲AV成人无码网站_四虎影院大全_日韩一区三区_护士长一级毛片_猫咪成人最新地域网_亚洲精品尤物av在线观看任我爽 | 人妻少妇被猛烈进入中文字幕_亚洲色偷偷综合亚洲av78_久久99久久99久久_粉嫩av一区_美女一区二区视频_久久网这里都是精品 | 一级黄色片免费的_免费特级毛片_99久久一区二区三区_国色综合_成年人网站在线观看视频_国产日产欧产精品A片免费 | 一区二精品_一级黄色录像免费的_97在线观_亚洲成色在线_日韩欧美一级精品久久_videos性欧美另类高清 | 精品女同一区二区三区在线播放_97香蕉网_成人午夜精品久久久久久久网站_国产主播在线一区_欧美专区中文字幕_综合色一区二区 | 国产精品99久久久久久大便_国产成人免费ā片在线观看_亚洲大片一区_乌克兰丰满女人a级毛片右手影院_九九色在线_欲妇荡岳丰满少妇岳 | 欧美99久久精品乱码影视_免费欧洲毛片A级视频老妇女_亚洲成人影音_一线毛片_欧美精品综合在线_多毛熟女hdvidos | www.亚洲黄色_精品国产一区二区三区四区在线看_国产精品视频全国免费观看_欧美搞逼视频_欧美日韩在线第一页免费观看_草1024榴社区成人影院入口 | 高潮av_亚洲精品视频99_91九色porny首页最多播放_亚洲人成网站77777·C0M_欧美日韩国产的视频图片_精品uu |