寫在前面
這個其實很簡單啦!三個r包可以搞定的事情。
三個包分是:clusterprofiler,pathview,org.hs.eg.db。
clusterprofiler,pathview兩個包用於繪圖,org.hs.eg.db是用於clusterprofiler注釋的人類的資料庫。
先說安裝,我這裡是r-3.4.4的版本,用如下的安裝方式,3.5+版本的請見官網哦:
source("")
bioclite("pathview")
library(pathview)
這裡拿乙個包舉例子,其它請大家自己舉一反三。要碎碎念一句,bioclite安裝的時候包名是必須要有雙引號的哦,執行library的時候就很隨意啦,單引號,雙引號,不加都ok。
開始分析
做差異基因的注釋,只需要差異基因的entrez_id。這一步用到的包是clusterprofiler和org.hs.eg.db。
我的輸入**格式如圖所示(資料都是隨便編的,畢竟不能洩露真實資料):
>head(data)
gene abcdef
ensg00000067082.14100115108300303290
ensg00000134852.1499101100700710690
ensg00000125538.11300032003100100012001100
ensg00000006831.920151510010595
ensg00000285441.199101100700710690
ensg00000141905.18300032003100100012001100
分析的命令如下:
library(clusterprofiler)
library(org.hs.eg.db)
#ensembl id的字尾是版本號,分析的時候不需要,所以這裡把字尾去掉,用包內的bitr函式將ensembl id轉換為entreziddata[,1]
eg genelist
#go annotationgo
pvaluecutoff = 0.05, qvaluecutoff = 0.2,keytype = 'entrezid')
write.csv(go,"go-all-enrich.csv",row.names =false)
#kegg annotationkegg
padjustmethod = 'bh', mingssize = 10,maxgssize = 500,
qvaluecutoff = 0.2,use_internal_data = false)
write.csv(kegg,"kegg-enrich.csv",row.names =false)
指令碼中enrichgo和enrichkegg兩個函式來完成go和kegg的富集分析。
enrichgo中的關注一下引數"ont",這個可以設定為"all", "cc", "bp", "mf"四者中的一種。因為go的注釋包含後三個種類。其它引數更改的話,請大家自己看包內的引數。這個主語句很簡單啦請大家不要偷懶啦。
圖形化展示
富集結果的圖形化展示命令如下:
barplot(go,showcategory=20,drop=t,title = "enrichmentgo",font.size = 10 )
dotplot(go,showcategory=20,title="enrichmentgo_dot")
dotplot(kegg, showcategory=20,title="enrichmentkegg")
前兩行是展示go注釋的結果,第三行展示kegg的注釋結果:
如果你們看到了黃色的區域,不要驚慌,不是系統的bug,是我出於自身考慮遮掉了哦。
題圖展示的,是我自己根據結果加工過的(雖然也沒有好看到**去)。如果只用於自己了解注釋資訊的話,直接用上面簡單粗暴的語句生成圖就好啦,我覺得也蠻好看的呢。
這是官網的圖啦,我自己的只捕捉到了一兩個基因,完全沒有這麼好看,還是給大家放標準結果。
這個時候需要匯入包pathview啦,命令在這裡:
上文中kegg-enrich.csv的格式如下圖,我們需要用到id和geneid兩列資訊。
library(pathview)
pathview(gene.data = as.numeric(strsplit(as.character(test$geneid[1]),"/")[[1]]),
pathway.id = "04657", species = "hsa", kegg.native = t)
gene.data就是富集到這個通路中的geneid,因為我的**裡是斜槓分割的,所以我做了一下資料的提取,大家如果只有一列的,直接用就好了。
所有的命令列都是固定的,主要是把自己的資料轉換為函式所需的格式。說到這裡,就要結束啦。
參考資料
Rlimma包GEO多晶元差異基因分析
geo多晶元差異基因分析時候出現以下錯誤 error in rt as.vector diffsig 1 only 0 s may be mixed with negative subscripts。合併了兩個資料,資料數值都小於10,應該是已經取了log的。但是為什麼會出現這個情況,求大神告知!l...
差異表達基因變化倍數 差異表達基因
1.什麼是差異表達基因 在不同組織中表達發生明顯變化的基因 是導致細胞狀態發生變化的關鍵基因 是表達譜分析的主要物件 2.尋找差異表達基因的兩種方法 倍數變化閥值 一般設定為2倍 具體方法 找出所有基因的表達變化率 按照表達變化率排序 上調兩倍或者下調兩倍算作差異表達基因 適合條件 實驗重複數極少 ...
non reference轉錄組基因的差異表達分析
比較基於de novo和reference genome的轉錄組組裝來評估用於鑑定差異表達的基因 degs 的reference free和 dependent兩種方法。rna seq raw reads用fastqc質檢,trimmomatic,prinseq。cleaned reads用trin...