美文网首页
生信笔记17-使用rGREAT进行GREAT分析

生信笔记17-使用rGREAT进行GREAT分析

作者: 江湾青年 | 来源:发表于2023-10-12 16:29 被阅读0次

    GREAT(Genomic Regions Enrichment of Annotations Tool)是一种广泛使用的基因组区域功能富集工具,该工具于2010年由斯坦福大学开发。GREAT在做基因组区域富集时,考虑了基因在基因组上的位置分布与长度,采用了不同的策略。对于给定功能基因集中的基因,首先,将基因的TSS上下游分别延伸5kb和1kb来建立一个基础结构域;然后,将基础结构域的上下游再继续延申至最大1mb,或者到达它邻近基因的基础结构域,如此每个基因相当于被转化成了一个区间;最后,将这些转化的区间进行合并形成一个没有overlap的区间集,相当于将特定生物学功能相关的基因集转化为了“功能区间集”,然后使用二项分布来计算输入区域集是否在功能区间集中富集。

    然而,作为在线工具,其存在注释数据过时、支持的物种和功能基因集数量少以及用户不可扩展等局限性。因此,有人就开发了一个本地实现GREAT算法的R包rGREAT,其默认支持600多个物种和大量的功能基因集,同时也支持用户自备基因集和物种基因组。此外,该包还实现了处理背景区域的通用方法。

    安装

    BiocManager::install('rGREAT')
    # 最新版
    devtools::install_github("jokergoo/rGREAT")
    

    差异可及性区域寻找

    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)
    

    参考

    https://www.jianshu.com/p/caefd180e0d9
    https://jokergoo.github.io/rGREAT/
    https://github.com/jokergoo/rGREAT

    相关文章

      网友评论

          本文标题:生信笔记17-使用rGREAT进行GREAT分析

          本文链接:https://www.haomeiwen.com/subject/kokobdtx.html