您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“如何用clusterProfiler中的enricher進行富集分析”,內容詳細,步驟清晰,細節處理妥當,希望這篇“如何用clusterProfiler中的enricher進行富集分析”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
做基因的GO或者kegg富集分析,需要基因組當中所有基因的GO與KEGG數據庫的注釋信息,對于做模式物種的人來說很簡單,有現成的注釋結果,直接使用就可以,比如人里面可以直接用clusterProfiler進行基因集的富集分析;但是,對于非模式動物與植物的研究對象往往沒有現成的注釋結果,就沒法直接進行富集分析;
因此學會基因功能批量注釋非常重要;這里介紹一種方法可以針對所有的非模式物種進行GO和KEGG富集分析;
使用eggNOG對基因組進行注釋,要想進行富集分析,首先要有背景數據集的GO注釋和KEGG注釋,這里選用eggNOG進行注釋。
是在線服務器,點點鼠標上傳就能注釋,無需復雜配置。eggNOG雖然是web server,但一次最多可以注釋10萬條序列,應該是完全可以滿足需求的。將自己的基因對應的cds序列或者蛋白序列提交到該網站即可注釋。
研究物種基因組中所有基因對應的GO文件:
go2gene.tsv : 通過eggNOG注釋結果文件整理得到
GO | GENE | CLASS |
GO:0000165 | Pg_S3686.2 | biological_process |
GO:0003674 | Pg_S3686.2 | molecular_function |
... | ... | ... |
go2name.tsv:GO term對應的功能描述文件
首先需要去GO下載GO的obo文件,這里我使用go-basic.obo然后我寫了個腳本可以把obo文件解析為如下格式:
http://purl.obolibrary.org/obo/go/go-basic.obo |
GO | DESC | CLASS |
GO:0000001 | mitochondrion inheritance | biological_process |
GO:0000007 | low-affinity zinc ion transmembrane transporter activity | molecular_function |
4. KEGG富集分析需要的文件
ko2gene.tsv : 通過eggNOG注釋結果文件整理得到
KO | GENE |
ko00920 | Pg_S3686.2 |
ko01100 | Pg_S33386.2 |
ko2name.tsv ko通路對應的名稱
KO | DESC |
ko00440 | Phosphonate and phosphinate metabolism |
ko00450 | Selenocompound metabolism |
ko00460 | Cyanoamino acid metabolism |
ko00471 | D-Glutamine and D-glutamate metabolism |
ko00472 | D-Arginine and D-ornithine metabolism |
ko00473 | D-Alanine metabolism |
ko00480 | Glutathione metabolism |
ko00510 | N-Glycan biosynthesis |
ko00513 | Various types of N-glycan biosynthesis |
ko00512 | Mucin type O-glycan biosynthesis |
利用clusterProfiler中的enricher這個通用函數進行富集分析:
library(clusterProfiler) ko2name <- read.delim('ko2name.tsv', stringsAsFactors=FALSE) ko2gene <- read.delim('ko2gene.tsv', stringsAsFactors=FALSE) go2name <- read.delim('gog2name.tsv', stringsAsFactors=FALSE) go2gene <-read.delim('go2gene.tsv', stringsAsFactors=FALSE) # 前面獲取gene list的過程略 gene_list<- read.delim('gene.tsv', stringsAsFactors=FALSE) # GO富集 ## 拆分成BP,MF,CC三個數據框 go2gene = split(go2gene , with(go2gene , CLASS)) ## 以MF為例 enricher(gene_list,TERM2GENE=go2gene [['molecular_function']][c(1,2)],TERM2NAME=go2name ) # KEGG富集 enricher(gene_list,TERM2GENE=ko2name ,TERM2NAME=ko2gene )
讀到這里,這篇“如何用clusterProfiler中的enricher進行富集分析”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。