gsea分析這方面教程我在《生信技能樹》公眾號寫了不少了,不管是芯片還是測序的表達矩陣,都是一樣的,把全部基因排序即可:
- 比如你有2萬個基因,你根據自己的條件分組后算差異情況,根據差異把基因排序,然后看缺氧相關200個基因組成的集合在全部的排好序的2萬個基因是散亂分布,還是集中于頭部和尾部。
- 當然了,基因集肯定不僅僅是缺氧這個生物學功能啦,在msigdb數(shù)據庫有幾萬基因集合,其實生物學背景更重要。
- 另外,基因的排序也不僅僅是條件分組后算差異來排序,也可以僅僅是表達量高低排序。
msigdb數(shù)據庫網頁里面有著豐富的基因集,MSigDB(Molecular Signatures Database)數(shù)據庫中定義了已知的基因集合:http://software./gsea/msigdb 包括H和C1-C7八個系列(Collection),每個系列分別是: - H: hallmark gene sets (癌癥)特征基因集合,共50組,最常用;
- C1: positional gene sets 位置基因集合,根據染色體位置,共326個,用的很少;
- C2: curated gene sets:(專家)校驗基因集合,基于通路、文獻等:
- C3: motif gene sets:模式基因集合,主要包括microRNA和轉錄因子靶基因兩部分
- C4: computational gene sets:計算基因集合,通過挖掘癌癥相關芯片數(shù)據定義的基因集合;
- C5: GO gene sets:Gene Ontology 基因本體論,包括BP(生物學過程biological process,細胞原件cellular component和分子功能molecular function三部分)
- C6: oncogenic signatures:癌癥特征基因集合,大部分來源于NCBI GEO 發(fā)表芯片數(shù)據
- C7: immunologic signatures: 免疫相關基因集合。
如下所示的一個經典的gsea圖: 它就很好的說明了這個 innate immune response基因集,是在排序好的2萬多個基因里面是左偏的,也就是說這個通路是激活的。 但是這個gsea分析對絕大部分初學者來說理解起來很困難,而且代碼實現(xiàn)難度也不小。最近看教程,發(fā)現(xiàn)其實limma包就有一個barcodeplot函數(shù),其示例代碼很容易讓人理解: library(limma) stat <- rnorm(100) fivenum(stat) sel <- 1:10 sel2 <- 11:20 stat[sel] <- stat[sel]+1 stat[sel2] <- stat[sel2]-1 stat plot(stat)
首先呢,上面的代碼創(chuàng)造了一個向量,是100個數(shù)值,它們最開始時是亂序,但是我們人為的把前面的10個數(shù)值加上了1,這樣前面的10個數(shù)值就會名列前茅。然后呢,我們人為的把第11到20個數(shù)值減去1,這樣的它們數(shù)值會偏小,但是并不會墊底。 下面的barcodeplot可視化你的基因排序 ,很容易看出來: # One directional barcodeplot(stat, index = sel) # Two directional barcodeplot(stat, index = sel, index2 = sel2)
可以看到,第一個基因集合, 就是前面的10個數(shù)值其實是遙遙領先,而第二個基因集合,就是第11到20個數(shù)值會比較小,但不會是絕對的墊底。 親愛的讀者,發(fā)揮你聰明的小腦瓜,思考一下,假如你在前面把 人為的把第11到20個數(shù)值減去10,這樣的話,第二個基因集合,是不是就可以看到很明顯的墊底情況了? 上面的代碼大量涉及到R基礎知識: 需要把R的知識點路線圖搞定,如下: - 多種數(shù)據類型(數(shù)值,字符,邏輯,因子)
- 多種數(shù)據結構(向量,矩陣,數(shù)組,數(shù)據框,列表)
文末友情推薦
|