【代碼更新】單細(xì)胞分析實(shí)錄(21): 非負(fù)矩陣分解(NMF)的R代碼實(shí)現(xiàn),只需兩步,啥圖都有

1. 起因

之前的代碼(單細(xì)胞分析實(shí)錄(17): 非負(fù)矩陣分解(NMF)代碼演示)沒有涉及到python語法,只有4個python命令行,就跟Linux下面的ls grep一樣的。然鵝,有幾個小伙伴不會命令行,所以我決定再改寫一下,把命令行都放到R下面運(yùn)行。

2. 嘗試

2.1 一開始,我的想法是教大家在R里面調(diào)用python,需要提前下載好anaconda和一些python包
然而想了想在Windows上安裝python包可能對大家不是很友好,有些包很難裝,我之前也弄了很久??紤]到這次更新是針對桌面版Rstudio用戶,故沒有采用。

2.2 最終,我采用的方案是,使用Rstudio Server,也就是網(wǎng)頁版Rstudio
這樣做有幾個好處:

  • 直接和云服務(wù)器連接,服務(wù)器下載python包和R包都很容易(云服務(wù)器剛買,下血本)
  • 我提前配置好運(yùn)行環(huán)境,用戶只需上傳數(shù)據(jù),分析數(shù)據(jù),下載數(shù)據(jù)即可。

代碼方面也更加簡化:

  • 我盡量減少了人工處理的時間,主要分析代碼只有兩行

如果你之前在我這兒拿過代碼,可以直接找我要更新的代碼。此外,如果因?yàn)橹暗拇a涉及命令行,你操作起來有困難,可以找我開Rstudio Server的賬戶 (高端玩家就別了,服務(wù)器配置比較低,就夠幾個人用的那種)。

3. 注意
  • 我會提前安裝可能用到的R包,所以不用重復(fù)安裝,直接library就可以
  • 請大家及時下載結(jié)果文件,以免丟失;也請大家在做完分析后,刪除表達(dá)數(shù)據(jù),服務(wù)器存儲空間不是很大
  • 每個賬號只保留半個月時間,若想再次使用,可以聯(lián)系我再開一個賬號
  • 有任何問題可以微信或者郵箱問我

接下來簡單介紹一下,使用方法


登錄

打開我給你的鏈接,輸入用戶名和密碼即可登錄

之后就可以看見Rstudio的界面了

然后確保你的家目錄下面有圖中框出來的幾個文件,并點(diǎn)擊進(jìn)入count_data文件夾

上傳數(shù)據(jù)

點(diǎn)擊upload上傳數(shù)據(jù)

運(yùn)行代碼

主要是3.R中的step1step2兩個函數(shù)

library(reticulate)

use_condaenv(condaenv = "cnmf_env", required = T,conda = "/home/hsy/miniconda3/bin/conda")
py_config() #如果顯示cnmf_env環(huán)境里面的python就OK

source("1.R")
step1(dir_input = "count_data",dir_output = "res1",k=3:5,iteration = 50) #這里為了演示方便,取值都比較小

source("2.R")
step2(dir_input = "res1",dir_output = "res2",dir_count = "count_data",usage_filter = 0.03,top_gene = 30,cor_min = 0,cor_max = 0.6)

查看結(jié)果

step2之后,會在res2文件夾中生成結(jié)果文件

sampleID_program.usage.norm.txt和sampleID_program.Zscore.txt
是NMF分解表達(dá)矩陣得到的兩個矩陣

program_topngene.txt
這是所有program的前幾十個基因,一般會放到文件附表

program_pearson_cor.complete.heatmap.pdf
program之間的相關(guān)性熱圖
cor_heatmap_data.txt
用來畫上圖的數(shù)據(jù)

program_topngene_enrichment.xlsx
program_topngene_enrichment_order.csv
這兩個都是對program前幾十個基因的富集分析結(jié)果,這兩個文件可以用來輔助我們理解program,其中第二個文件和相關(guān)性熱圖的順序一致,看起來更方便

sampleID_program_gene.heatmap.pdf
用來驗(yàn)證在這個樣本中,program找得對不對,其實(shí)就是看program的表達(dá),一般看program的前幾十個基因
sampleID_data_heatmap.txt
用來畫上面那個熱圖的數(shù)據(jù)

program之間的相關(guān)性熱圖

某個樣本中program的表達(dá)

下載結(jié)果

選中你想導(dǎo)出的文件,點(diǎn)擊more,再點(diǎn)擊Export就可以了


至此,公眾號僅有的兩篇付費(fèi)教程都已更新完畢~

因水平有限,有錯誤的地方,歡迎批評指正!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容