GREAT(Genomic Regions Enrichment of Annotations Tool)是一種廣泛使用的基因組區(qū)域功能富集工具筋量,該工具于2010年由斯坦福大學開發(fā)烹吵。GREAT在做基因組區(qū)域富集時碉熄,考慮了基因在基因組上的位置分布與長度,采用了不同的策略肋拔。對于給定功能基因集中的基因锈津,首先,將基因的TSS上下游分別延伸5kb和1kb來建立一個基礎結構域凉蜂;然后琼梆,將基礎結構域的上下游再繼續(xù)延申至最大1mb,或者到達它鄰近基因的基礎結構域窿吩,如此每個基因相當于被轉化成了一個區(qū)間茎杂;最后,將這些轉化的區(qū)間進行合并形成一個沒有overlap的區(qū)間集纫雁,相當于將特定生物學功能相關的基因集轉化為了“功能區(qū)間集”煌往,然后使用二項分布來計算輸入?yún)^(qū)域集是否在功能區(qū)間集中富集。
然而轧邪,作為在線工具刽脖,其存在注釋數(shù)據(jù)過時、支持的物種和功能基因集數(shù)量少以及用戶不可擴展等局限性忌愚。因此曲管,有人就開發(fā)了一個本地實現(xiàn)GREAT算法的R包rGREAT,其默認支持600多個物種和大量的功能基因集硕糊,同時也支持用戶自備基因集和物種基因組院水。此外,該包還實現(xiàn)了處理背景區(qū)域的通用方法癌幕。
安裝
BiocManager::install('rGREAT')
# 最新版
devtools::install_github("jokergoo/rGREAT")
差異可及性區(qū)域尋找
da_peaks <- FindAllMarkers(SeuratObj_ATAC,test.use = 'LR')
head(da_peaks)
# 挑選出CLUSTER2的marker peak
CLUSTER <- 2
da_peaks_n <- da_peaks %>%
filter(cluster == CLUSTER & avg_log2FC > 0.5) %>%
arrange(desc(avg_log2FC)) %>%
rownames()
GREAT analysis
library(rGREAT)
gr <- StringToGRanges(da_peaks_n)
# online GREAT
job = submitGreatJob(gr,species = 'hg38')
tbl = getEnrichmentTables(job)
head(tbl$`GO Molecular Function`)
plotVolcano(job, ontology = "GO Biological Process")
plotRegionGeneAssociations(job)
getRegionGeneAssociations(job)
shinyReport(job)
# local GREAT
res = great(gr, 'msigdb:C8', "txdb:hg38")
tb = getEnrichmentTable(res)
View(tb)
參考
http://www.reibang.com/p/caefd180e0d9
https://jokergoo.github.io/rGREAT/
https://github.com/jokergoo/rGREAT