Monocle2包學(xué)習(xí)筆記(四):Differential Expression Analysis

image

差異基因表達(dá)分析是RNA-Seq實(shí)驗(yàn)中的常見任務(wù)钱骂,Monocle2可以幫助我們找到在不同組細(xì)胞之間差異表達(dá)的基因,并評估這些基因差異表達(dá)變化的統(tǒng)計學(xué)意義掠归。

Basic Differential Analysis

這里吼砂,我們查看成肌細(xì)胞(myogenesis)數(shù)據(jù)在不同培養(yǎng)條件下的差異表達(dá)基因厉颤。

# 選擇myogenesis相關(guān)的基因集
marker_genes <- row.names(subset(fData(HSMM_myo),
                   gene_short_name %in% c("MEF2C", "MEF2D", "MYF5",
                                          "ANPEP", "PDGFRA","MYOG",
                                          "TPM1",  "TPM2",  "MYH2",
                                          "MYH3",  "NCAM1", "TNNT1",
                                          "TNNT2", "TNNC1", "CDK1",
                                          "CDK2",  "CCNB1", "CCNB2",
                                          "CCND1", "CCNA1", "ID1")))

# 使用differentialGeneTest函數(shù)對myogenesis基因集中的基因進(jìn)行差異表達(dá)分析
diff_test_res <- differentialGeneTest(HSMM_myo[marker_genes,],
                                      fullModelFormulaStr = "~Media")

# Select genes that are significant at an FDR < 10%
# 篩選顯著的差異表達(dá)基因
sig_genes <- subset(diff_test_res, qval < 0.1)

# 對marker基因的表達(dá)進(jìn)行可視化
MYOG_ID1 <- HSMM_myo[row.names(subset(fData(HSMM_myo),
              gene_short_name %in% c("MYOG", "CCNB2"))),]
plot_genes_jitter(MYOG_ID1, 
                  grouping = "Media", 
                  ncol= 2)
image

Finding Genes that Distinguish Cell Type or State

接下來绩鸣,我們根據(jù)幾個關(guān)鍵的marker基因?qū)⒊杉〖?xì)胞(myoblasts)與成纖維細(xì)胞(fibroblasts)區(qū)分開來怀大,使用Monocle2查看成纖維細(xì)胞和成肌細(xì)胞之間差異表達(dá)的基因。

# 選擇marker基因
to_be_tested <- row.names(subset(fData(HSMM),
                          gene_short_name %in% c("UBC", "NCAM1", "ANPEP")))
cds_subset <- HSMM[to_be_tested,]

# 使用differentialGeneTest函數(shù)對不同細(xì)胞類型進(jìn)行差異表達(dá)分析
diff_test_res <- differentialGeneTest(cds_subset,
                                      fullModelFormulaStr = "~CellType")
diff_test_res[,c("gene_short_name", "pval", "qval")]

# 基因表達(dá)可視化
plot_genes_jitter(cds_subset,
                  grouping = "CellType",
                  color_by = "CellType",
                  nrow= 1,
                  ncol = NULL,
                  plot_trend = TRUE)
image

Finding Genes that Change as a Function of Pseudotime

Monocle2還可以基于擬時序分析的結(jié)果查看隨著細(xì)胞進(jìn)展而變化的基因呀闻。同樣化借,我們需要指定用于差異分析的模型。這個模型比我們之前用來查看CellType之間差異的模型要復(fù)雜一些总珠。Monocle2為每個細(xì)胞分配一個“偽時間”值屏鳍,該值記錄了其在實(shí)驗(yàn)過程中的進(jìn)度勘纯。Monocle2使用VGAM軟件包將基因的表達(dá)水平建模為偽時間的平滑非線性函數(shù)局服。

to_be_tested <- row.names(subset(fData(HSMM),
                          gene_short_name %in% c("MYH3", "MEF2C", "CCNB2", "TNNT1")))
cds_subset <- HSMM_myo[to_be_tested,]

# 使用differentialGeneTest函數(shù)進(jìn)行差異表達(dá)分析
diff_test_res <- differentialGeneTest(cds_subset,
                                      fullModelFormulaStr = "~sm.ns(Pseudotime)")

# 使用plot_genes_in_pseudotime函數(shù)對基因的表達(dá)水平進(jìn)行可視化
plot_genes_in_pseudotime(cds_subset, 
                         color_by = "Hours")
image

Clustering Genes by Pseudotemporal Expression Pattern

Monocle2可以對具有相似表達(dá)趨勢的基因進(jìn)行分組,并對其進(jìn)行可視化展示驳遵。Monocle2使用plot_pseudotime_heatmap函數(shù)基于CellDataSet對象(通常僅包含重要基因的子集)生成平滑的表達(dá)曲線淫奔,類似于plot_genes_in_pseudotime函數(shù)。然后堤结,將這些基因進(jìn)行聚類唆迁,并使用pheatmap包對其進(jìn)行熱圖繪制。

# 差異表達(dá)分析
diff_test_res <- differentialGeneTest(HSMM_myo[marker_genes,],
                                      fullModelFormulaStr = "~sm.ns(Pseudotime)")
# 選擇顯著的差異基因
sig_gene_names <- row.names(subset(diff_test_res, qval < 0.1))

# 使用plot_pseudotime_heatmap函數(shù)進(jìn)行聚類分組可視化
plot_pseudotime_heatmap(HSMM_myo[sig_gene_names,],
                        num_clusters = 3,
                        cores = 1,
                        show_rownames = T)
image

Multi-Factorial Differential Expression Analysis

Monocle2還可以在存在多種因素的情況下執(zhí)行差異表達(dá)分析竞穷,這可以幫助我們減去某些因素以查看其他因素的影響唐责。為此,我們必須同時指定完整模型和簡化模型瘾带。這里鼠哥,我們指定完整模型捕獲CellType和Hours的效果,而簡化模型僅捕獲Hours的影響看政。

to_be_tested <- row.names(subset(fData(HSMM),
                          gene_short_name %in% c("TPM1", "MYH3", "CCNB2", "GAPDH")))

cds_subset <- HSMM[to_be_tested,]

diff_test_res <- differentialGeneTest(cds_subset,
                                      fullModelFormulaStr = "~CellType + Hours",
                                      reducedModelFormulaStr = "~Hours")

plot_genes_jitter(cds_subset, 
                  grouping = "Hours", 
                  color_by = "CellType", 
                  plot_trend = TRUE) + 
                  facet_wrap( ~ feature_label, scales= "free_y")
image

Analyzing Branches in Single-Cell Trajectories

通常朴恳,細(xì)胞的發(fā)育軌跡會存在不同的分支,出現(xiàn)分支是因?yàn)榧?xì)胞執(zhí)行其他不同的功能允蚣。當(dāng)細(xì)胞做出命運(yùn)選擇時于颖,其發(fā)育軌跡中就會出現(xiàn)分支:其中,一個發(fā)育世系沿著一條路徑前進(jìn)嚷兔,而另一個世系沿著第二條路徑前進(jìn)森渐。Monocle2提供了一種特殊的統(tǒng)計檢驗(yàn)方法:branched expression analysis modeling(BEAM)做入,可以對不同的分支事件進(jìn)行分析。

lung <- load_lung()
plot_cell_trajectory(lung, color_by = "Time")
image

BEAM方法接受一個已通過orderCells函數(shù)排序的CellDataSet以及發(fā)育軌跡中分支點(diǎn)的名稱作為輸入同衣,返回每個基因的顯著性得分表母蛛。得分顯著的基因在其表達(dá)中被認(rèn)為是分支依賴性的。

# 使用BEAM函數(shù)進(jìn)行分支表達(dá)建模分析
BEAM_res <- BEAM(lung, branch_point = 1, cores = 1)
BEAM_res <- BEAM_res[order(BEAM_res$qval),]
BEAM_res <- BEAM_res[,c("gene_short_name", "pval", "qval")]

我們可以使用plot_genes_branched_heatmap函數(shù)繪制特殊類型的熱圖乳怎,可視化所有明顯依賴于分支的基因的表達(dá)水平的變化彩郊。此熱圖同時顯示了兩個譜系中基因表達(dá)水平的變化,它還要求選擇要檢查的分支點(diǎn)蚪缀。其中秫逝,列是偽時間中的點(diǎn),行是基因询枚,偽時間的起始點(diǎn)位于熱圖的中間违帆。這些基因按層次結(jié)構(gòu)聚類,可以可視化具有相似譜系依賴性表達(dá)模式的基因模塊金蜀。

plot_genes_branched_heatmap(lung[row.names(subset(BEAM_res,
                                          qval < 1e-4)),],
                                          branch_point = 1,
                                          num_clusters = 4,
                                          cores = 1,
                                          use_gene_short_name = T,
                                          show_rownames = T)
image
lung_genes <- row.names(subset(fData(lung),
                        gene_short_name %in% c("Ccnd2", "Sftpb", "Pdpn")))

plot_genes_branched_pseudotime(lung[lung_genes,],
                               branch_point = 1,
                               color_by = "Time",
                               ncol = 1)
image

參考來源:http://cole-trapnell-lab.github.io/monocle-release/docs/

image
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末刷后,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子渊抄,更是在濱河造成了極大的恐慌尝胆,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件护桦,死亡現(xiàn)場離奇詭異含衔,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)二庵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門贪染,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人催享,你說我怎么就攤上這事杭隙。” “怎么了因妙?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵痰憎,是天一觀的道長。 經(jīng)常有香客問我兰迫,道長信殊,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任汁果,我火速辦了婚禮涡拘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘据德。我一直安慰自己鳄乏,他們只是感情好跷车,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著橱野,像睡著了一般朽缴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上水援,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天密强,我揣著相機(jī)與錄音,去河邊找鬼蜗元。 笑死或渤,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的奕扣。 我是一名探鬼主播薪鹦,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼惯豆!你這毒婦竟也來了池磁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤楷兽,失蹤者是張志新(化名)和其女友劉穎地熄,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拄养,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡离斩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年银舱,在試婚紗的時候發(fā)現(xiàn)自己被綠了瘪匿。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡寻馏,死狀恐怖棋弥,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情诚欠,我是刑警寧澤顽染,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站轰绵,受9級特大地震影響粉寞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜左腔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一唧垦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧液样,春花似錦振亮、人聲如沸巧还。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽麸祷。三九已至,卻和暖如春褒搔,著一層夾襖步出監(jiān)牢的瞬間阶牍,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工星瘾, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留荸恕,地道東北人。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓死相,卻偏偏與公主長得像融求,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子算撮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容