scRNA-seq擬時(shí)間分析數(shù)據(jù)處理


擬時(shí)間分析簡介

擬時(shí)序(pseudotime)分析,又稱細(xì)胞軌跡(cell trajectory)分析碴巾,通過擬時(shí)分析可以推斷出發(fā)育過程細(xì)胞的分化軌跡或細(xì)胞亞型的演化過程,在發(fā)育相關(guān)研究中使用頻率較高。

主要基于關(guān)鍵基因的表達(dá)模式法梯,通過學(xué)習(xí)每個(gè)細(xì)胞必須經(jīng)歷的基因表達(dá)變化的序列,在擬時(shí)間中對單個(gè)細(xì)胞進(jìn)行排序,模擬出時(shí)間發(fā)育過程的動(dòng)態(tài)變化立哑。而這個(gè)排序技術(shù)表現(xiàn)是一種在低維空間排布高維數(shù)據(jù)的降維技術(shù)夜惭。(具體描敘請參考:https://www.meiwen.com.cn/subject/zlgsvqtx.html)

如何利用單細(xì)胞數(shù)據(jù)來分析細(xì)胞的分化軌跡或細(xì)胞亞型的演化過程?這里給大家介紹monocle軟件铛绰,該軟件能從數(shù)據(jù)中用無監(jiān)督或半監(jiān)督學(xué)習(xí)獲得這個(gè)軌跡诈茧。無監(jiān)督方式是利用seurat對細(xì)胞進(jìn)行聚類,通過cluster間的差異基因?qū)?xì)胞進(jìn)行排序捂掰。

在做擬時(shí)序分析之前敢会,先要明白幾個(gè)研究目的:

1.?對什么類型的細(xì)胞群進(jìn)行擬時(shí)許分析?這類細(xì)胞群在不同的分化軌跡或細(xì)胞亞型的區(qū)別是否明顯这嚣?

2.?monocle做擬時(shí)序分析時(shí)鸥昏,可與seurat聚類結(jié)果進(jìn)行對接,因此可對seurat的分群結(jié)果進(jìn)行定性的解釋姐帚。

3.?可分析比較組間的差異或者多組樣本間擬時(shí)間分析差別吏垮。

Seurat對象轉(zhuǎn)換成monocle對象

如果你已經(jīng)完成了seurat分類(數(shù)據(jù)已經(jīng)經(jīng)過質(zhì)控),而且你希望通過seurat的分類后cluster的差異基因來對細(xì)胞進(jìn)行排序罐旗。以下方法可供選擇膳汪。

Seurat2的版本∮容海可直接使用importRDS進(jìn)行seurat對象和monocle對象間的轉(zhuǎn)換旅敷。

????spleen <-readRDS("seurat.analysis.rds")?

????monocle_cds?<-importCDS(spleen,import_all=TRUE)??

Seurat3版本。Seurat3版本沒有importRDS函數(shù)了颤霎,因此需要手動(dòng)構(gòu)建clustered_spleen_monocle對象媳谁。??

????spleen <-readRDS("seurat.analysis.rds")

????data <- as(as.matrix(spleen@assays$RNA@counts), 'sparseMatrix')??##此處需要提供絕對的count值。??

????pd <- new('AnnotatedDataFrame', data = spleen@meta.data)??

????fData <- data.frame(gene_short_name = row.names(data), row.names = row.names(data)??

????fd <- new('AnnotatedDataFrame', data = fData)???????

????monocle_cds?<- newCellDataSet(data,?

????????????????????????phenoData = pd,??

????????????????????????featureData = fd,??

????????????????????????lowerDetectionLimit = 0.5,??

????????????????????????expressionFamily = negbinomial.size()) ##newCellDataSet構(gòu)建monocle對象?

使用差異基因進(jìn)行細(xì)胞排序

對細(xì)胞進(jìn)行排序之前友酱,首先要進(jìn)行降維晴音。降維后形成細(xì)胞cluster,通過cluster形成的細(xì)胞集缔杉,對細(xì)胞軌跡進(jìn)行訓(xùn)練锤躁。

這里根據(jù)需要,提供兩種思路進(jìn)行分析或详。

由于做擬時(shí)間分析時(shí)系羞,構(gòu)建monocle_cds對象采用的是基因的counts值,因此要對基因的表達(dá)量進(jìn)行標(biāo)準(zhǔn)化處理霸琴。而作者也建議即使seurat做了標(biāo)準(zhǔn)化椒振,在這里還要進(jìn)行標(biāo)準(zhǔn)化。(見 http://www.reibang.com/p/aaa0c768c861)

monocle_cds? <- estimateSizeFactors(monocle_cds?) #計(jì)算SizeFactor

monocle_cds? <- estimateDispersions(monocle_cds?) #計(jì)算Dispersions

1 重新進(jìn)行聚類分析來對細(xì)胞軌跡進(jìn)行無監(jiān)督學(xué)習(xí)分析梧乘。

??????#先繪制主成分對應(yīng)的解釋方差的值可視化圖形澎迎。??????

????plot_pc_variance_explained(monocle_cds?, return_all = F, max_components = 25)

????# 這里的num_dim選擇多少個(gè)主成分來進(jìn)行降維庐杨,需要根據(jù)PCA分布圖進(jìn)行確定,一般是選擇斜率第一次出現(xiàn)最小值時(shí)對應(yīng)的主成分點(diǎn)夹供。

????HSMM_myo <- reduceDimension(my_cds,max_components = 2,norm_method = 'log',num_dim = 3,reduction_method = 'tSNE',verbose = T)

????# number指要將細(xì)胞分成多少個(gè)cluster灵份。

????HSMM_myo <- clusterCells(HSMM_myo, verbose = F,num_clusters = number)

????graph <- paste(prefix,'cell_clusters.pdf',sep='_')

????pdf(graph, w=12, h=8)

????plot_cell_clusters(HSMM_myo, color_by = 'as.factor(Cluster)')

????dev.off()

2 根據(jù)seurat已經(jīng)聚好的類對細(xì)胞軌跡進(jìn)行無監(jiān)督學(xué)習(xí)分析。

????# 如果導(dǎo)入的是Seurat3版本的rds文件哮洽,需在pData(HSMM_myo)矩陣中添加一列Cluster填渠,即細(xì)胞群編號。

????HSMM_myo <- moocle_cds

????pData(HSMM_myo)$Cluster <- pData(HSMM_myo)$seurat_clusters

????clustering_DEG_genes <-row.names(subset(fData(HSMM_myo),num_cells_expressed >= 10))?

3 細(xì)胞排序

? ??這一步很慢袁铐,可調(diào)整所使用的的線程cores加快運(yùn)行速度揭蜒。

????diff_test_res <- differentialGeneTest(HSMM_myo,fullModelFormulaStr = "~Cluster",,cores = 4)

????# 選擇用來排序的基因剔桨。官網(wǎng)給的是q-value值在top1000的基因,此處也可以進(jìn)行調(diào)整徙融。

????HSMM_ordering_genes <-row.names(clustering_DEG_genes)[order(clustering_DEG_genes$qval)][1:1000]

????# 調(diào)整用來排序的基因洒缀,選擇qval< 1e-4。

????HSMM_ordering_genes <- row.names (subset(clustering_DEG_genes, qval < 1e-4))

????# 對細(xì)胞進(jìn)行排序

????HSMM_myo <-setOrderingFilter(HSMM_myo,ordering_genes = HSMM_ordering_genes)

????HSMM_myo <-reduceDimension(HSMM_myo, method = 'DDRTree')

????HSMM_myo <-orderCells(HSMM_myo)

4 對排序好的結(jié)果進(jìn)行可視化輸出

????Cluster_num<-ceiling(length(unique(pData(HSMM_myo)$Cluster))/4)

????pData(HSMM_myo)$seurat_clusters <- as.factor(pData(HSMM_myo)$seurat_clusters)

????graph <- paste(prefix,'cell_trajectory_cluster.pdf',sep='_')

????pdf(graph, w=12, h=8)

????#按state對細(xì)胞進(jìn)行著色

????plot_cell_trajectory(HSMM_myo, color_by = "State",cell_size = 0.75)????

????plot_cell_trajectory(HSMM_myo, color_by = "State",cell_size = 0.75)+facet_wrap(~State, nrow = Cluster_num)

????#按擬時(shí)間值對細(xì)胞進(jìn)行著色

????plot_cell_trajectory(HSMM_myo, color_by = "Pseudotime",cell_size = 0.75)

????#按cluster id進(jìn)行著色

????plot_cell_trajectory(HSMM_myo, color_by = "seurat_clusters",cell_size = 0.75)

????plot_cell_trajectory(HSMM_myo, color_by = "seurat_clusters",cell_size = 0.75)+facet_wrap(~seurat_clusters, nrow =Cluster_num)

????#按樣本進(jìn)行著色

????plot_cell_trajectory(HSMM_myo, color_by = "stim",cell_size = 0.75)

????plot_cell_trajectory(HSMM_myo, color_by = "stim",cell_size = 0.75)+facet_wrap(~stim, ncol =opt$sample_number)

????dev.off()

參考文章見:

1?https://www.jieandze1314.com/post/cnposts/scrna-notes-18/

2?http://www.reibang.com/p/aaa0c768c861

3?http://www.reibang.com/p/2b9982cb7d89

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末欺冀,一起剝皮案震驚了整個(gè)濱河市树绩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌隐轩,老刑警劉巖饺饭,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異职车,居然都是意外死亡瘫俊,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進(jìn)店門悴灵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來扛芽,“玉大人,你說我怎么就攤上這事积瞒〈猓” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵茫孔,是天一觀的道長叮喳。 經(jīng)常有香客問我,道長缰贝,這世上最難降的妖魔是什么馍悟? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮揩瞪,結(jié)果婚禮上赋朦,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好宠哄,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布壹将。 她就那樣靜靜地躺著,像睡著了一般毛嫉。 火紅的嫁衣襯著肌膚如雪诽俯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天承粤,我揣著相機(jī)與錄音暴区,去河邊找鬼。 笑死辛臊,一個(gè)胖子當(dāng)著我的面吹牛仙粱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播彻舰,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼伐割,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了刃唤?” 一聲冷哼從身側(cè)響起隔心,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎尚胞,沒想到半個(gè)月后硬霍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡笼裳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年唯卖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片侍咱。...
    茶點(diǎn)故事閱讀 38,100評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡耐床,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出楔脯,到底是詐尸還是另有隱情撩轰,我是刑警寧澤,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布昧廷,位于F島的核電站堪嫂,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏木柬。R本人自食惡果不足惜皆串,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望眉枕。 院中可真熱鬧恶复,春花似錦怜森、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至翅萤,卻和暖如春恐疲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背套么。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工培己, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人胚泌。 一個(gè)月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓省咨,卻偏偏與公主長得像,于是被迫代替她去往敵國和親诸迟。 傳聞我的和親對象是個(gè)殘疾皇子茸炒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評論 2 345