「nature protocols」组学数据的通路富集分析和可视化: g:Profiler, GSEA, Cytoscape 和 EnrichmentMap...
nature protocols上發了一篇文章,題目為"Pathway enrichment analysis and visualization of omics data using g:Profiler, GSEA, Cytoscape and EnrichmentMap", 手把手將哪些只會實驗的人如何通過點擊鼠標的方式學會通路分析,挖掘他們高通量測序結果,包括轉錄組, 基因組和 蛋白組學。
文章用到的軟件為:
- g:Profiler (https://biit.cs.ut.ee/gprofiler/)
- GSEA (http://software.broadinstitute.org/gsea/)
- Cytoscape (http://www.cytoscape.org/)
- EnrichmentMap (http://www.baderlab.org/Software/EnrichmentMap)
基本流程為:
分析流程文章的PDF版本一共有38頁,基本上20多頁內容都是講如何通過鼠標點點點的方式實現富集分析,我翻譯了其中對我有用的部分。
概念定義
富集分析必知的幾個概念:
- 通路(pathway): 共同完成特定生物學過程的所有基因
- 基因集(gene set): 一組相關基因。通路基因集包括一個通路里的所有基因。基因集可以按照不同作用進行組合,例如細胞定位相關基因,某個代謝通路的基因
- 目標基因表: 組學分析后輸出給通路分析的一組基因
- 排序基因表:一些組學分析中,基因還可以按照某個打分進行排序,例如RNA-seq后的p值,倍數變化等,能夠為通路分析提供更多的信息。對于一個富集的通路而言,通路里的基因會聚集在排序表的一端,得分累加值會比通路基因集隨機在排序表中出現的得分高。
- 通路富集分析:一種統計學方法,用于找到基因表或目標基因表所顯著性富集的通路。
- 多重試驗校正:如果獨立進行了多次的富集分析,那么每次富集分析都會得到一個p值。為了降低假陽性,需要進行多重試驗校正對每個單獨富集分析試驗中的p值進行調整。
- 前臨界點基因(leading-edge gene): 在GSEA分析中,導致通路富集的一組基因。
富集分析資源
基因集數據庫:
- Gene Ontology(GO):
- Molecular Signatures Database(MSigDB): GSEA工作組維護的基因集數據庫,人類用的比較多,尤其是hallmakr基因集。
生化通路數據庫
- Reactome
- Panther
- NetPath
- HumanCyc
- National Cancer Institute Pathway Interaction Database
- KEGG
通路元數據庫
- Pathway Common
- WikiPathways
富集分析的優勢和局限性
相對于只分析單個基因,轉錄本或蛋白,通路富集分析有如下幾個優點:
- 整合了更多的數據,在統計上更加可靠
- 數據降維,將原本上千或上萬的基因或基因組區域合并成更小的通路或者系統
- 結果更加容易解讀
- 不同來源的數據更加容易比較
- 能夠將不同類型的數據(RNA, DNA或蛋白)投影到同類型的通路上
然而通路富集分析也存在缺陷:
- 你需要保證用于富集分析的基因集有很強的生物學信號。如果一個通路里只有幾個基因比較重要,那么富集分析就失效了。
- 通路通常是人為定義,因此不同的基因集數據庫可能存在沖突
- 一些統計學方法,例如Fisher精確試驗在統計學上更容易找到寬泛的通路,你需要在分析時限定基因集上下限
- 一些多功能的基因可能會出現在多個通路上,建議在后續分析時剔除
- 通路數據庫通常是有人為偏誤的,可能A通路的研究就是比B通路研究的深刻,甚至有些基因壓根就沒有被注釋到,這些基因就需要單獨進行研究。
- 大部分富集分析都有一個不切實際的前提,也就是基因和通路間是相互獨立的,但是基因其實存在共表達,或者某些通路是類似的。但是FDR(多重試驗校正)不在乎這件事情,如果你的通路里面存在過多的相似通路,那么校正之后的結果就會變得很少。不過,在前期探索性分析中還是能用的,后續分析可以自定義一個重抽樣方法來更好的預測錯誤率。
試驗設計
通路分析的好壞取決于你實驗設計的好壞,我一致堅持認為"garbage in, garbage out"。要是實驗設計太差,那么你可能得到由于試驗偏誤或者其他混淆因子產生的無意義結果。下面就是作者給出的關于試驗設計的一些建議。
試驗條件
實驗條件必須定義為主要的觀測變化,通常是實驗者感興趣的和生物學相關的處理。例如腫瘤和正常組織,處理和未處理,比較不同的疾病亞型,或者時間序列等。
重復數
實驗重復非常重要,尤其是生物學重復,請至少做3個生物學重復吧。對于哪些變異特別大的設計,比如說腫瘤樣本,請提供更多重復吧。
混淆因子
我們應該盡量避免和實驗無關的因素或者至少在不同條件下達到平衡,這樣次啊能保證利用了廣義線性模型的統計學方法能夠對這些因子進行矯正。常見的混淆因子如測序深度, 核酸提取流程 和年齡等。盡管我們不可能完全地在實驗設計中將試驗信號中混淆因子分離,但是提前知道可能的因素有助于提高試驗設計。統計學方法中的聚類和PCA分析可以幫助我們找到這些未知的因素。例如,實驗組和對照組應該離得遠遠的,而不會因為批次效應聚在一起。
離群值
離群樣本指的是和其他樣本差異過大的樣本,一般是實驗問題或者技術問題造成,比如說污染或者混樣。當然,也有可能是極端生物學現象,比如說腫瘤樣本有異常擴增的表型。我們可以用PCA或者無監督聚類的方式找到這種離群值。通路分析可以在有無離群值的情況下的進行,確保分析結果的魯棒性。系統性移除離群值有助于降低實驗的變異度。
試驗敏感度
一些實驗方法的敏感度會發生變化。舉個例子,對于基因表達定量分析,顯然測序深度越高,重復數越多,得到的差異表達基因也就越可靠。雖然大部分人沒有錢測5個樣本,但是3個還得保證吧。如果你研究可變剪切,那么對你的測序深度要求就更高了。
選擇通路基因集數據庫
考慮到通路分析結果可讀性,作者建議先用如下的通路基因集進行分析,GO的BP(biological process), Reactome的人工審校分子通路(molecular pathways), 對于人類,Panther, HumanCyc和NetPath都是很好的資源。(GO的BP注釋包括人工審校結果和電子注釋)
根據證據代號過濾GO通路
許多自動化數據分析得到GO基因注釋并沒有得到人工審查,因此它們的證據代號(evidence code)登記為IEA (inferred from electronic annotation). 早期文獻對這些數據非常謹慎的解釋這些IEA標識的基因。但是近期研究發現,這些IEA GO注釋結果和人工審查的數據一樣可靠。如果你研究的是模式動植物,那么建議你分別比較過濾IEA和不過IEA的富集結果,來提高你結果的可靠性。如果是那些研究一般的物種,那么你也只能把IEA注釋加上了。移除IEA標記的注釋還可能對那些研究比較深入的生物學過程造成影響
使用非通路基因集
可以使用不同類型的數據集來解釋不同的問題,但是請分開分析,也就是不要在一次通路分析中加入各種各樣的基因集,這樣子會由于多重試驗矯正導致假陰性的提高。
選擇合適的基因集大小
對于那些基因數不怎么多的通路,作者建議在分析中排除。一般而言,這些通路相對較大的通路是冗余的存在,而且在后期解釋比較麻煩,甚至還會讓多重試驗校正更加嚴格。對于那些基因數很多的通路,作者同樣建議移除,畢竟類似于metabolism 的寬泛概念在最后的解讀中也沒啥意義。
如果分析人類表達量數據,作者建議剔除基因集小于10~15的基因和大于200~500的基因,有些文獻會把上線提高到200~2000。(PS: Y叔從clusterProfiler的最小值是10,最大值是500)。
對于非人類物種或者非表達量數據,由于不同的通路的研究程度不盡相同,所以集合的大小可以按需調整,但需要有文獻或者試驗的支持。一個比較好的做法是,看其中幾個和試驗相關的通路的基因集數目來確定上下限。
使用最新的通路數據集
富集分析結果依賴于分析中使用的基因集,最多許多研究用到的通路分析嚴重的收到了過時資源的影響。為了提高研究的可重復性和透明性,研究者需要在文獻中標明分析日期,富集分析軟件版本,用到的基因集數據庫和分析參數。研究者最好把自己分析基因表和完整的富集通路表列在附件中。
選擇基因標識符
在不同的數據庫中,基因可能會有不同的標識符(ID)。這些基因標識符可能會出現沖突,甚至還會過期。對于人類,作者推薦使用Entrez基因數據庫的編號,或者是HUGO Gene命名委員會的官方符號。由于基因符號會隨時間變化,因此要對同時維護基因符合和Entrez基因iD。 g:Profiler和g:Convert工具能夠實現多種基因編號到標準標號的轉換。
非預期通路結果和試驗設計
如果在你的通路分析中得到一些意外結果,這或許意味著你的試驗設計、生成數據或分析出現了問題。舉個例子,細胞凋亡(apoptosis)通路富集意味著實驗的某些步驟導致了過多的細胞死亡。因此,你需要對你的實驗過程進行調整,重新獲取數據,用于后續分析。
總結
以上是生活随笔為你收集整理的「nature protocols」组学数据的通路富集分析和可视化: g:Profiler, GSEA, Cytoscape 和 EnrichmentMap...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 移植Python3到TQ2440(二)
- 下一篇: linux , Shell 文件合并的命