用網絡圖展示富集分析


這期推文的封面是一張富集分析的網絡圖,來自文獻:Single cell RNA sequencing of human liver reveals distinct intrahepatic macrophage populations,算是比較新穎的富集展示方法,是用Cytoscape做的。

之前我介紹過一個網頁工具,可以做富集結果的網絡圖,這篇推文的閱讀量已經是我的小破公眾號關注人數的兩倍多,可以看出大家對這個很感興趣。這一期,我繼續介紹這種網絡圖,用到的是Cytoscape,比之前的網頁工具可定制程度更高。主要參考的protocol來自文獻:Pathway enrichment analysis and visualization of omics data using g:Profiler, GSEA, Cytoscape and EnrichmentMap。

公眾號后台回復20210401獲取這篇protocol,以及測試數據。
這篇文獻除了寫富集可視化,還寫了如何做富集分析、GSEA,考慮相當周到,通讀全文可以發現不少知識點,滿滿都是干貨,比如

  1. 做GSEA時,不需要對基因做過濾
  2. Biological process是最常用的GO注釋
  3. 做GSEA時,需要對基因排序,排序的標准可以是一個或多個指標的結合,比如log-transformed fold-change,−log10 P value multiplied by the sign of log-transformed fold-change
  4. 將冗余的通路合並到單個生物主題能簡化后續的解釋。這種網路圖就是這個目的,每一個通路是一個圓點,兩個通路之間共享很多基因的話會用線連起來,共享基因數目越多,線越粗

...

什么是Cytoscape?
Cytoscape是一個開源軟件平台,主要用於分子互作網絡和生物通路的可視化,以及將這些網絡與注釋信息,基因表達譜整合起來。 盡管Cytoscape最初是為生物學研究而設計的,但現在它是進行復雜網絡分析和可視化的通用平台。

當我打開官網的時候,我驚呆了,真的太好看了!

這篇protocol中,對於整個基因富集過程分了三步

  1. 使用組學數據定義目標基因列表
  2. 通路富集分析:過濾后的基因集(比如找差異基因,就是要過濾的,工具 g:Profiler,當然我們都很熟的clusterProfiler也是可以的);不過濾要排序的基因集(比如做GSEA)。這一步之后就能得到富集到的通路以及對應的顯著性
  3. 通路富集分析結果的可視化和解釋

我主要演示最后一步,只要兩個文件:
一個包含富集結果的文件;
一個是在做富集時,用到的參考文件,比如GO BP文件,gmt格式

電腦要求8G內存

1 GB of RAM is sufficient to run GSEA
analysis; however, Cytoscape (required to run EnrichmentMap software) requires ≥8 GB of RAM.

軟件及插件安裝

下載地址:https://cytoscape.org/download.html
cytoscape的安裝很容易

安裝4個插件:
EnrichmentMap, v.3.1 or higher; clusterMaker2, v.0.9.5 or higher; WordCloud, v.3.1.0 or higher; AutoAnnotate, v,1.2.0 or higher.
打開Cytoscape點擊上方的APP菜單欄,Apps → App Manager,在新窗口搜索這四個插件,找到后點擊這個插件,然后點擊右下角的"Install"即可安裝。可以在新窗口的"Currently Installed"菜單查看是否已經安裝成功。

演示

文獻原文同時介紹了GSEA富集的網絡圖,步驟基本一樣。另一方面,做GSEA一般會挑基因集去做,基因集不會很多,這種網絡圖可能還沒有GSEA經典圖用得多。所以我用找差異基因過濾后的基因集做演示。

打開軟件之后,首先打開EnrichmentMap,按照圖示箭頭依次輸入

新窗口按照圖示導入需要的文件和參數

注意在表型這一欄,我填入了兩個相反的表型,文獻提供的GO富集結果只有一種表型,因此可以不填。

點擊build,可以得到如下結果,

整體上看,框架已經有了,接下來做一些調整
鼠標點擊圖中的每一個節點,選中的節點會變為黃色,這時我們可以隨意拖拽節點到新的位置。在按住"Ctrl"鍵的同時,鼠標左鍵畫矩形,可以同時選中多個節點和多個連邊,這時可以一起拖拽。
最左邊的是EnrichmentMap插件的控制窗口,Node Cutoff調整p值,越嚴格,圖形中剩下的節點越少;Edge Cutoff可以調整節點之間是否顯示連線,值越大,則更相似的節點才會連線。

接下來,我們將兩種表型分開,一個放左邊,一個放右邊,盡管我這個圖左右分得比較好,手動拖拽節點,幾下也能分開,但不排除會遇到兩種表型的通路分不太開的情況。
我們首先需要點擊最左側的"Filter"菜單,然后點擊"+"號,選擇"Column filter",

選擇這個NES開頭的選項

我們在最開始設置表型時,positive設置為處理組,軟件會把處理組的NES都設為1,對照組設為-1。在新窗口將范圍調為0到1,這里的0-1選擇的就是處理組;-1到0是未處理組。

選中的節點都變成了黃色,拖動它們至左邊位置。

接下來對這些選中的節點,重新排布

處理組節點新的布局不一定合適,有時候還是需要手動調整節點的位置,所以重新排布這一步也不是必須的,Ctrl+z可以撤銷操作。

之后我們把過濾范圍設為-1到0,對照組做同樣的調整,

我們從上圖可知一些共享較多基因的通路會聚在一起,它們往往功能也比較相似。接下來我們用AutoAnnotate插件將cluster畫圈以及總結出cluster的大致功能(這一步是根據通路名稱的詞頻得出的)。

在新窗口點擊開始即可

新的圖形是這樣的,同時右上角出現的新面板可以調整圖中的橢圓外形。

多數情況下,這些cluster的名稱需要人工矯正。如下圖,點擊名稱后,鼠標右鍵:

另一方面,每個圓圈內的通路名稱,也可以去掉

在EnrichmentMap的控制窗口點擊"Publication ready"

圖示圓圈比較密集,我們可以調整左下角Layout Tools的scale這一條

新的圖是這樣的

進一步做一些微調,

接下來就可以保存文件了
如下,保存為pdf

當然也可以另存為cytoscape(cys)文件,方便下次接着繪制


好啦,這篇推文就到這里。整理不易,若這篇推文對您有所幫助,歡迎轉發,謝謝!

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM