GO富集是組學(xué)數(shù)據(jù)分析常用的手段,通常用來挖掘差異基因中GO term的富集程度。Fisher's exact test是常用的統(tǒng)計(jì)檢驗(yàn)方法,但這種方法存在明顯的缺點(diǎn)。很多公司提供的測序分析結(jié)果都普遍使用這樣的方法,導(dǎo)致很多后續(xù)的分析與實(shí)驗(yàn)結(jié)果不一致的情況。對于這種情況,目前還有其他算法來彌補(bǔ)這些缺點(diǎn)。(文中例子來源于《the Gene Ontology handbook》)
魏縣ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
fisher's exact test是基于超幾何分布來計(jì)算的,單邊檢驗(yàn)就是超幾何檢驗(yàn)。通常用來檢驗(yàn)兩組分類是否有顯著差異。
m:研究物種的基因數(shù);
n:研究的樣本中基因數(shù);
mt:總體中被注釋到term t(GO 詞條t)的基因數(shù);
nt:樣本中被注釋到term t的基因數(shù)。
隨機(jī)變量Xt表示樣本中被觀察到的term t 的數(shù)目,所有根據(jù)超幾何分別,觀察到k個(gè)term t 的概率P(Xt)是:
零假設(shè)H0:樣本中出現(xiàn)的term t 的數(shù)目與總體中總的term t數(shù)目沒有正關(guān)聯(lián)。也就是說樣本中的term t數(shù)目的比例與總體中term t的接近。
為了拒絕H0,使用單尾檢驗(yàn):
一個(gè)簡單的例子:假設(shè)總體中有18個(gè)基因,其中有5個(gè)被注釋到binding這個(gè)term,轉(zhuǎn)錄組分析發(fā)現(xiàn)有5個(gè)差異表達(dá)的基因,其中有3個(gè)被注釋到binding這個(gè)term,為了說明binding這個(gè)term是否是overrepresentation,用上面的Fisher's exact test計(jì)算p值:
在現(xiàn)實(shí)中,我們不可能只對某一個(gè)term進(jìn)行檢驗(yàn),而是對很多term進(jìn)行檢測,即多重檢驗(yàn),但這樣就會導(dǎo)致假陽性的term數(shù)目非常高。所以我們需要對p值進(jìn)行校正。通常是使用Benjamini-Hochberg校正方法來控制預(yù)期的錯(cuò)誤發(fā)現(xiàn)率(false discoveries rate-FDR)進(jìn)行校正。( 如何通俗地解釋錯(cuò)誤發(fā)現(xiàn)率(FDR) )。盡管多重檢驗(yàn)的校正可以減少假陽性,但并不能從根本上解決GO(或KEGG)富集的問題。
GO富集的根本問題在于一個(gè)基因?qū)?yīng)的GO term有多個(gè),一個(gè)term對應(yīng)多個(gè)gene,同時(shí)還有層級關(guān)系。這樣導(dǎo)致如果一個(gè)term顯著富集,那和它共享很多基因的term也會顯著富集。
有很多其他的算法來試圖解決這個(gè)問題,其中包括parent-child approach、topology-based algorithms、model-based approaches和gene set enrichment analysis。下面是對這些算法的簡單介紹:
該算法還是基于Fisher's exact test,只不過考慮了term的父節(jié)點(diǎn)。在計(jì)算概率時(shí),不再是在總體m中取樣,而是從term的父節(jié)點(diǎn)中取樣,所以計(jì)算公式變成了:
當(dāng)一個(gè)term有多個(gè)父節(jié)點(diǎn)時(shí)計(jì)算就變得復(fù)雜了,具體方法還得參考原始文獻(xiàn)(improved detection of overrepresentation of Gene-Ontology annotatins with parent child analysis)
這兩種方法原理反正我沒看懂,有興趣的可以看原始文獻(xiàn):
1、Improved scoring of functional groups from gene expression data by decorrelating GO graph structure.
2、GOing Bayesian: model-based gene set analysis of genome-scale data
該算法首先根據(jù)感興趣的特征(比如差異基因的表達(dá)量)對基因進(jìn)行排序,形成一個(gè)列表。零假設(shè)是某個(gè)基因集(genes encoding products in a metabolic pathway, located in the same cytogenetic band, or sharing the sam GO category)里基因順序與這個(gè)列表沒有關(guān)聯(lián),即排序是隨機(jī)的。對應(yīng)的備擇假設(shè)是它們之間有關(guān)聯(lián)。如果基因集里的基因都聚集在基因列表的前端或底端或者非隨機(jī)分布,我們就傾向于相信它們之間有關(guān)聯(lián)。
S:想研究的基因集;
L:整個(gè)排序的基因列表;
統(tǒng)計(jì)量:Kolmogorov-Smirnov(KS)
step 1:計(jì)算富集得分(Enrichment Score)。按順序從頭到尾逐個(gè)比較L中的基因與S中的基因,加和統(tǒng)計(jì)量,如果兩者相同就增加KS統(tǒng)計(jì)量,反之就減少KS統(tǒng)計(jì)量。增加的多少與這個(gè)基因和表型的相關(guān)性有關(guān)。最后ES就是KS的最大方差值。
step 2、檢驗(yàn)ES的顯著性。重復(fù)k次隨機(jī)選擇的大小為nt的基因集(Nt1,...,Ntk),p值計(jì)算公式為:
step3、使用FDR進(jìn)行多重檢驗(yàn)的校正。
相關(guān)軟件:GSEA-P software
1、Benjamini Y, Hochberg Y. Controlling the false discovery rate: a practercal and powerful approch to multiple testing.
2、
3、Gene set enrichment analysis: A knowledge-based approach for interpreting genome-wide expression profiles
4、 《the Gene Ontology handbook》
GO富集分析。
go算法用的是GO富集分析統(tǒng)計(jì)學(xué)模型,GO富集分析的統(tǒng)計(jì)學(xué)基礎(chǔ)是超幾何分布,簡單而言就是根據(jù)Fisher精確檢驗(yàn)對每個(gè)GOterm計(jì)算一個(gè)P值。
差異基因GO分析的關(guān)鍵是用統(tǒng)計(jì)學(xué)方法進(jìn)行基因富集,分析這些基因參與了何種生物學(xué)功能、生物進(jìn)程以及亞細(xì)胞定位,目前常用的基因富集分析法是基于超幾何分布。
topGO是一個(gè)半自動(dòng)的GO富集包,該包的主要優(yōu)勢是集中了好幾種統(tǒng)計(jì)檢驗(yàn)的方法,目前支持的統(tǒng)計(jì)方法如下:
BiocManager::install('topGO')
需要R的版本為=2.10,但biocmanager安裝需要的R版本更高,現(xiàn)在應(yīng)該是3.6。
富集工作主要包括3個(gè)步驟:
1、準(zhǔn)備相關(guān)數(shù)據(jù);
2、進(jìn)行富集統(tǒng)計(jì)檢驗(yàn);
3、分析結(jié)果。
所以最重要的工作就是數(shù)據(jù)的準(zhǔn)備。需要的數(shù)據(jù)包括包含全部geneID(背景基因名,一般是研究物種的全部基因)的文件,需要進(jìn)行富集分析的geneID(差異表達(dá)基因或感興趣的基因)文件,還有g(shù)ene-to-GO的注釋文件。
物種全部的geneID和差異基因ID比較容易獲得,比較費(fèi)勁的是gene-to-GO文件。
topGO提供了一些函數(shù)來幫助我們自動(dòng)獲取注釋信息:
annFUN.db :用于Bioconductor上有注釋包的物種的芯片數(shù)據(jù);
annFUN.org :用于Bioconductor上有“org.XX.XX”注釋包的數(shù)據(jù);
annFUN.gene2GO :用戶自己提供gene-to-GO文件;
annFUN.GO2gene :用戶提供的GO-to-gene文件也可以;
annFUN.file :讀取有g(shù)ene2GO或GO2gene的txt文件。
一般Bioconductor提供的注釋物種并不多,我的方法主要是用AnnotationHub的select函數(shù)或biomaRt的getBM函數(shù)來獲取,具體操作見:
自己提供gene2GO文件時(shí),格式應(yīng)該為:
gene_IDTABGO_ID1, GO_ID2, GO_ID3, ....
這樣就定義了一個(gè)topGOdata對象。
結(jié)果可以作氣泡富集圖。
showSigOfNodes(GOdata, score(resultWeight), firstSigNodes = 10, useInfo = "all")
網(wǎng)頁標(biāo)題:go語言統(tǒng)計(jì)檢驗(yàn) go語言 數(shù)據(jù)分析
分享網(wǎng)址:http://jinyejixie.com/article44/dochiee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站營銷、ChatGPT、自適應(yīng)網(wǎng)站、微信公眾號、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)