之前分享了如何用ggplot2可視化GO分析的結果。既然做了GO,當然少不了KEGG了。

創新互聯建站成立與2013年,先為平順等服務建站,平順等地企業,進行企業商務咨詢服務。為平順企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
同樣的,我們從 DAVID 獲取KEGG pathway的結果。
對于KEGG,我比較喜歡做氣泡圖,這樣用兩種形式的圖結合在一起,效果更豐富更好看一點。
對基因的描述一般從三個層面進行:
這三個層面具體是指:
得到GO注釋
做GO分析的思路:
比如,在疾病研究的時候,進行藥物治療之后某些基因的表達量明顯的發生了變化,拿這些基因去做GO分析發現在Biological process過程當中集中在RNA修飾上,然后在此基礎上繼續進行挖掘。這個例子就是想啟示大家拿到差異表達基因DEG只是一個開始,接下來就應該去做GO注釋,之后需要進行一個分析看這些注釋主要集中在哪個地方。假如我們有100個差異表達基因其中有99個都集中在細胞核里,那我們通過GO分析就得到了一個顯著的分布。
GO富集分析原理:
有一個term注釋了100個差異表達基因參與了哪個過程,注釋完之后(模式生物都有現成的注釋包,不用我們自己注釋),計算相對于背景它是否顯著集中在某條通路、某一個細胞學定位、某一種生物學功能。
clusterProfiler是一個功能強大的R包,同時支持GO和KEGG的富集分析,而且可視化功能非常的優秀,本章主要介紹利用這個R包來進行Gene Ontology的富集分析。
進行GO分析時,需要考慮的一個基礎因素就是基因的GO注釋信息從何處獲取。Bioconductor上提供了以下19個物種的Org類型的包,包含了這些物種的GO注釋信息
對于以上19個物種,只需要安裝對應的org包,clusterProfile就會自動從中獲取GO注釋信息,我們只需要差異基因的列表就可以了,使用起來非常方便。
1.1 準備輸入數據
待分析的數據就是一串基因名稱了,可以是ensembl id、entrze id或者symbol id等類型都可以。把基因名稱以一列的形式排開,放在一個文本文件中(例如命名“gene.txt”)。Excel中查看,就是如下示例這種樣式。
1.3 GO富集分析
加載了注釋庫之后,讀取基因列表文件,并使用clusterProfiler的內部函數enrichGO()即可完成GO富集分析。
讀取基因列表文件,并使用clusterProfiler的內部函數enrichKEGG()即可完成KEGG富集分析。
此外,clusterProfiler中也額外提供了一系列的可視化方案用于展示本次富集分析結果,具有極大的便利。
參考:
;utm_medium=timeline
前面我給大家詳細介紹過
?GO簡介及GO富集結果解讀
?四種GO富集柱形圖、氣泡圖解讀
?GO富集分析四種風格展示結果—柱形圖,氣泡圖
?KEGG富集分析—柱形圖,氣泡圖,通路圖
? DAVID GO和KEGG富集分析及結果可視化
也用視頻給大家介紹過
? GO和KEGG富集分析視頻講解
最近有粉絲反映說,利用clusterProfiler這個包繪制GO富集分析氣泡圖和柱形圖的時候,發現GO條目的名字都重疊在一起了。
氣泡圖
柱形圖
這個圖別說美觀了,簡直不忍直視。經過我的認真研究,發現跟R版本有關。前面我給大家展示的基本都是R 3.6.3做出來的圖。很多粉絲可能用的都是最新版本的R 4.1.2。
我們知道R的版本在不停的更新,相應的R包也在不停的更新。我把繪制氣泡圖和柱形圖相關的函數拿出來認真的研究了一下,終于發現的癥結所在。
dotplot這個函數,多了個 label_format 參數
我們來看看這個參數究竟是干什么用的,看看參數說明
label_format :
a numeric value sets wrap length, alternatively a custom function to format axis labels. by default wraps names longer that 30 characters
原來這個參數默認值是30,當標簽的長度大于30個字符就會被折疊,用多行來展示。既然問題找到了,我們就來調節一下這個參數,把他設置成100,讓我們的標簽可以一行展示。
是不是還是原來的配方,還是熟悉的味道
同樣的柱形圖,我們也能讓他恢復原來的容貌。
關于如何使用R做GO和KEGG富集分析,可參考下文
GO和KEGG富集分析視頻講解
ID轉換用到的是 bitr() 函數,bitr()的使用方法:
org.Hs.eg.db包含有多種gene_name的類型
keytypes() :keytypes(x),查看注釋包中可以使用的類型
columns() :類似于keytypes(),針對org.Hs.eg.db兩個函數返回值一致
select() :select(x, keys, columns, keytype, ...) eg.
函數enrichGO()進行GO富集分析,enrichGO()的使用方法:
舉例:
查看GOplot內示例數據的格式,對自己的數據做處理
觀察結論:
觀察自己的兩個數據表:
table.legend 設置為T時會顯示表格
本圖中表格和圖例是出圖后剪切拼合而成,沒有用R中的拼圖包
1 如果肯下功夫,可以通過R語言獲得基因本體論以及通路富集數據并將其可視化,所用的R包可以是GOSim(GO分析),或者clusterprofiler(GOKEGG)
2 cytoscape 的插件cluego可以傻瓜式實現通路的圖片展示,可以用來直接發文章(低分的至少可以)
3 關于GO和KEGG數據的獲得,上DAVID就好
文章題目:如何利用R語言做GO分析 如何利用r語言做go分析方法
轉載源于:http://www.yijiale78.com/article48/dooedep.html
成都網站建設公司_創新互聯,為您提供響應式網站、移動網站建設、企業建站、自適應網站、網站建設、ChatGPT
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯