我這里不能拿學員真實項目數(shù)據(jù)來演示,,所以還是用我們的老朋友,,拿scRNAseq包的表達矩陣測試,見:使用monocle做擬時序分析(單細胞譜系發(fā)育) 首先根據(jù)細胞發(fā)育譜系來繪制熱圖因為前面的教程 使用monocle做擬時序分析(單細胞譜系發(fā)育) 我們已經(jīng)把細胞發(fā)育情況做出來了,,就是NPC細胞跟另外3種細胞從生理上就不一樣,,所以是單獨的發(fā)育軌跡,而 “GW16” and “GW21” ,,“GW21+3” 這種孕期細胞,,就可以很清晰的看到時間被反映在我們的擬時序分析結(jié)果了。 大家可以重溫教程 使用monocle做擬時序分析(單細胞譜系發(fā)育) 里面的4個繪圖代碼: plot_cell_trajectory(cds, color_by = "Biological_Condition") 我們前面構(gòu)建細胞發(fā)育譜系,,使用的是不同Biological_Condition的細胞類型之間使用monocle找到的兩千多個基因,。 簡單的一個函數(shù)就可以繪制熱圖: plot_pseudotime_heatmap(cds[ordering_genes,], 可以看到, 這個圖就和學員求助的圖一模一樣啦,,因為基因數(shù)量兩千多個,,所以畫出來肯定是看不清晰的啦。 既然基因被分成了3組,,想拿基因去做GO/KEGG等數(shù)據(jù)庫進行功能注釋,,就需要獲取基因名字。 這個做不出來,,不怪學員,,因為正常人很難想到,這個繪圖函數(shù)其實是可以調(diào)整返回數(shù)據(jù)對象的,,而且官網(wǎng)例子也沒有提到,。 需要看函數(shù)的幫助文檔,如下: hclust_method 很明顯,,這個函數(shù)其實就是pheatmap的一個包裝罷了,,本質(zhì)上也是調(diào)用 hclust 而已,使用的是ward.D2距離,。 然后解析熱圖函數(shù)返回對象根據(jù)幫助文檔,,我們修改參數(shù),這樣monocle的plot_pseudotime_heatmap函數(shù)就有返回值了,,是一個對象,。 p=plot_pseudotime_heatmap(cds[ordering_genes,], 從pheatmap的對象里面提取基因名字就很簡單了,就是在p$tree_row里面 > p$tree_row 就可以拿到基因名對應的cluster啦,,代碼如下: clusters <- cutree(p$tree_row, k = 3) 實際上學員提問是有問題的因為學員之間丟出這個熱圖,,然后咨詢?nèi)绾卧趫D片里面提取基因名字,所以大家只能是問是pdf還是png的圖片呢,?是不是可以AI或者PS解析它,,拿到基因名字呢? 如果學員是直接問:使用monocle的plot_pseudotime_heatmap函數(shù)繪制的熱圖里面的基因聚集成為3類,,該如何提取基因名字,,其實就很簡單了。 這個答疑雖然是給基礎(chǔ)課程的學員,,但實際上這個內(nèi)容在單細胞轉(zhuǎn)錄組的進階課程,,如果學了就不需要提問了。 今天是教師節(jié),,我放一個收款二維碼吧,,如果你曾經(jīng)受益于我的教程,也算是我的學生,,意思一下即可,! |
|