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

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

更多伯豪生物人工服務:

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


在線客服
登錄/注冊
在線留言
返回頂部
主站蜘蛛池模板: 亚洲在线影院_亚洲国产日韩一区_日韩a视频_亚洲成人网在线观看_一级a毛片_久久久亚洲精品成人 | 女十八毛片_国产精品视频免费在线观看_内射中出日韩无国产剧情_日韩一区二区三区在线视频观看_免费国产黄网站在线播放_成人高潮视频 | 亚洲午夜AV久久久精品影院色戒_国产黄色大片免费看_国产人与动牲交毛长_黄色一区二区三区_天堂网91_青青久久综合 | 国产乱淫a∨片免费观看_精品一区二区三区免费播放_国产91美女视频_久久精品噜噜噜成人av农村_国产小屁孩cao大人_一级毛片在线看aaaa | 一级做a爰片久久毛片a_国产亚洲精品久久飘花_亚洲一区二区av_国产精品亚洲а∨天堂免在线_搐搐国产丨区2区精品av_日本伦理一区二区三区 | 国产一区视频免费观看_亚洲成人午夜精品_91精品xxx在线观看_天天干天天舔_久久天天躁狠狠躁夜夜网站_久久久性色精品国产免费观看 | 成人福利视频在线观看_欧美黑人性生活视频_一边添奶一边添P好爽视频_亚洲看片lutube在线入口_操操操综合_jvid在线观看 | 精品人妻伦一二三区久久_91精品国产综合久久小美女_精品国产V久久久久久久_国产成人在线精品_h在线观看网站_国产精品国产对白熟妇 | 婷婷国内自拍_亚洲精华国产欧美_国产毛片久久久久_糟蹋小少妇17p_人c交zo○zooxx全过程_欧美性生交XXXXX无码十全 | 国产二区三区_护士张开腿被奷日出白浆_蜜臀avcom_一二三区在线_亚洲制服丝袜无码AV在线_日本少妇高潮喷水XXXXXXX | 国产美女被爽到高潮免费A片_日本真人无遮挡啪啪免费_日韩午夜视频在线播放_欧美亚洲成人一区_精品有码_亚洲人成综合网站7777香蕉 | 伊伊人成亚洲综合人网香_91视频天堂_久久avav_青草青视频在线观看_国产精品一区二区无码视频公司_日韩亚洲AV无码一区二区不卡 | 亚洲国产一区二区在线_夜夜高潮夜夜爽夜夜爱爱_蜜桃综合网_成人国产精品一区二区毛片在线_色综合国产_国产亚洲精品无码成人蜜臀 | 久久99国产精品成人_红杏网站永久免费视频入口_美女视频黄的_白丝无内液液酱视频在线观看_无码专区中文无码野外_在线成人国产天堂精品av | 久久婷婷网站_www日韩在线观看_国产一级aa大片毛片_国产女人爽到高潮的免费视频_国产精品一区二区麻豆_日本高清一二三 | 三级网站视频在在线播放_在线欧美一级视频_99精品视频在线观看婷婷_国产精品久久免费观看_色播久久_99精品视频一区 | 日本久久小视频_一区不卡av_免费av毛片在线观看_中文字幕国产在线视频_无码免费H成年动漫在线观看网站_黑人又粗又大XXX精品 | 沈阳熟女露脸对白视频_国产性毛片_凹凸精品一区二区三区_亚洲中文字幕无码中字_夜夜cao_亚洲中文久久精品无码 | 粗一硬一长一进一爽一a片_亚洲人成在线影院_无码毛片内射白浆视频_久久精品视频在线看99_成人三区_国内美女人妻一级毛片免费看 | 国产欧美va欧美va香蕉在线观看_草草草网站_色妞www精品视频二_青青操视频在线播放_精品小视频在线观看_91黄色大片 | 欧美亚洲二区_国产精品99久久久久久成人四虎_久久久久久久久久久99_国产一区二区视频在线播放_18禁肉肉无遮挡无码网站_夜夜操比 | 特级毛片免费播放_91久久一区二区偷怕_久久精品免费在线_色婷婷一级片_热久久网站_成人a在线 | 亚洲免费视频成人_小荡货你夹的老师好紧_真实国产普通话对白乱子子伦视频_牛和人交VIDE欧美XX00186_四虎国产免费_国产成人午夜 | 99视频在线免费播放_午夜a级理论片在线播放717_色网站视频在线观看_超碰在线免费观看97_亚洲男人天堂网_狠狠网站 | 国产成人精品在线视频_青青草成人免费视频_天天操天天干麻豆_精品中文av_ASS白嫩白嫩的少妇PICS_国产精品第一区二区三区 | 亚洲美女高清aⅴ视频免费_欧美va亚洲va_日本三级香港三级人妇99_高清免费a级在线观看国产_成人少妇影院yyyy_久久精品96入口 | 中文字幕亚洲区一区二_久久精品AⅤ无码中文字字幕重口_美女被免费视频网站九色_精品欧美一区二区三区_免费看黄色毛片_av成人动漫 | 国内精品视频在线观看_国产一区二区三区免费在线_亚洲精品xxx_日本熟妇XXX50_国产日产欧产精品精品郁金香_日韩一级片免费在线观看 | 中文有码人妻字幕在线_97在线免费看视频_美女视频一区二区三区_成年女人毛片免费中文_91色哟哟_中日韩一区 | 国产人妻777人伦精品HD_激情五月婷婷基地_精品亚洲成a人片在线观看_国产一区二区三区精品毛片_成人免费网站在线_亚洲爱爱网 | 色125综合网_少妇高潮爽到娇喘抽搐_黄色福利在线观看_午夜在线影院_性欧美熟妇freetube_手机在线视频一区 | 精品视频麻豆入口_在线播放欧美日韩_亚洲日本香蕉视频_成人网站YSL千人千色_亚洲小视频在线观看_原创国产精品91 | 美女疯狂连续喷潮视频_亚洲日产精品_av性色在线观看_亚色精品_日韩黄色录像_在线观看亚洲专区 | 亚洲一区二区三区精品在线_美女网站视频一区_中文字幕黄网_青娱乐毛片_激情综合色五月丁香六月欧美_国产精品羞羞答答xxdd | 免费成人在线观看视频_国产自产打屁股sp实践视频_亚洲精品国产美女久久久_国色天香一二期区_天天爽夜夜爽人人爽从早干到睌_亚洲se频在线观看 | 女人毛片_国产人妖XXXX做受视频_久久成年网_国产精品资源_精品国产免费观看_麻豆亚洲AV熟女国产一区二 | 亚洲自偷自拍另类小说_无码ol丝袜高跟秘书在线观看_粉嫩少妇bbbbbb视频_久久亚洲免费_黄www片_99re热在线视频 | 国产三级精品三级在线专区91_热久久最新视频_人人插插_日韩精品一区二区三区四区五区_人妻无码一区二区不卡无码AV_国产精品久久久久久久久久白浆 | 孕妇怀孕高潮潮喷视频孕妇_亚洲精品国产99_97色伦色_免费看黄色影片_国产一区二区三区91_欧美日韩性生活片 | 精品人妻伦一品二品三品免费视频_国产精品久免费的黄网站_精品国产综合成人亚洲区2022_欧美日韩亚洲精品瑜伽裤_在线看片毛片无码永久免费_日本中文字幕在线观看视频 | 在线免费日本_亚洲最大看片网站_日韩一级大片在线_久久久精品国产免费爽爽爽_91大神福利视频_爱久久·www |