统计 | 结合clusterProfiler理解GO富集分析

OrgDb库

  1. enrichGO默认gene type是entrezID,但其他OrgDb支持的类型(ENSEMBLE,SYMBOL等)都可以通过参数keyType指定。
  2. gene的ID type不一样,富集的结果也会有稍微的差异。
    原gene list是entrezID,直接通过bitr转换成ensembl和symbol,分别做enrichGO。
    发现entrezedID可能对应多个ENSEMBL的。
    entrezedID和SYMBOL是一一对应的
    image.png

    dim(gene.df[!duplicated(gene.df$ENSEMBL),])

entrezedID 207
ENSEMBL 239
SYMBOL 207

1)因为ensembl在库中多个ID会对应同一个entrez,因此四个数值都要大一些
2)entrez和symbol 可能是因为是在db中是一一对应?,因此结果一模一样。
3)Y叔建议尽量不用SYMBOL做enrichGO。


entrez

symbol

ensemble
  1. bitr其实是使用AnnotationHub的select,将库中的不同类型GeneID重新转换。

enrichGO

  1. universe:默认不指定,这样就直接使用orgDB的所有基因作为背景。
    如果指定,相当与将universe的基因集和orgDB的基因做交集,作为背景。(因为只有orgDB的基因有注释信息)
    需要和KeyType指定类型相同。
  2. minGSSize和maxGSSize:背景基因注释到某个GO的geneset需要在此范围内才会输出该GO的结果。
    默认范围(10,500)
    以下是默认参数(10,500):4个结果
    参数设为 (0,Inf):40个结果,仅截取部分


    image.png
  3. 阈值的选择
    背景注释到GO的geneset太小,会得到很小的p值,但结果可能不具参考性?
    背景注释到GO的geneset很大,一般p值也会增大。


    image.png

GO&GOALL

  1. 查询Org.Hs.db的manual
    http://bioconductor.org/packages/release/data/annotation/manuals/org.Hs.eg.db/man/org.Hs.eg.db.pdf
  2. org.Hs.egGO
    entrezID和GOID是一对一对应的。不包含GO下属的其他节点的term
    org.Hs.egGO2ALLEGS
    一个GO和所有相关的entrez GENE(被注释到该GO或者它的child nodes),因此比前者的库要更大,包含更多信息

分析过程

orgDb select,将所有entrezID作为query,提取GOALL信息。

  1. CC分类全部Gene ID,即为背景注释到总体数。去重复(因为一个gene可能注释到多个CC类的term)
    cat Hs.db.GO|grep CC|sort -k1,1 -u|wc -l
  2. 某个GO类全部Gene ID,即为背景注释到该GO数(即成功数)
    gene可能有重复
    cat Hs.db.GO|awk '$2=="GO:0005575"{print $1,$2}'|sort -k1,1 -u|wc -l
  3. input genelist中能注释到CC类的数目。
    4.input genelist中每个基因能注释到的GO,并按照每个GO类对gene计数。input genelist里能注释到某个GO类的gene数目。
  4. 结果
BgRatio : M/N GeneRatio:k/n
M 背景所有能注释到某个GO的基因 k genelist中能注释到某个GO的基因
N 背景所有能注释到CC的基因 n genelist中能注释到CC的基因

CC结果中,n和N不变,M和k随不同的GO类不同。

结果

  1. pvalue = phyper(k-1,M, N-M, n, lower.tail=FALSE)
  2. p.adj = p.adjust(pvalue, method="BH")
  3. qobj = qvalue(dfpvalue, lambda=0.05, pi0.method="bootstrap") qobjqvalues

enricher

  1. 用自己的注释信息来做富集分析。
  2. TERM2GENE: df,第一列是term ID(比如GO ID),第二列是mapped gene。
    TERM2NAME :df,第一列是term ID,第二列是相应term name。optional。
    这样背景基因和注释库都可以自己建立。


    image.png
  3. 其他参数同enrichGO。

参考

  1. use clusterProfiler as an universal enrichment analysis tool
  2. GO analysis using clusterProfiler
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容