ChAMP分析甲基化芯片数据-GSEA篇

当我们得到差异的探针或者差异的甲基化区域之后,通常都会分析这些差异区域对应的基因是否在特定功能上有富集。在ChAMP中,通过champ.GSEA函数来实现功能富集分析。

用法示例:

myNorm <- champ.norm()
myDMP <- champ.DMP()
myDMR <- champ.DMR()
myGSEA <- champ.GSEA()

ChAMP中,提供了两种富集分析的方法:

  1. fisher

  2. gometh

champ.GSEA默认对差异CpG位点和差异甲基化区域对应的基因做富集分析,采用的方式是Fisher exact test, 分析的是Gene Set 来自MSigDB

富集分析早已经是研究基因功能的常用工具之一了,那么对于甲基化芯片的富集分析和传统的富集分析有没有不一样的地方呢?

Gene Set,叫做基因集合,本质上是一系列具有相同功能的基因构成的集合,比如某一条代谢通路,在该代谢通路中有很多的基因,位于同一条pathway下的基因就构成了一个基因集合。

基因集合中最基本的元素是一个一个的基因,而芯片中,我们直接得到的是差异的探针或者差异的区域,首先需要将探针或者区域映射到基因上,在映射的过程中,我们必须考虑到一个因素,基因和探针之间的关系。大部分的基因具有多个CpG位点,会对应多个探针ID。比如基因A上有50个差异CpG位点,基因B上具有2个CpG位点,很明显二者是有很大差别的,如果只考虑基因,那么A和B就是相同的,都是差异探针对应的基因。所以需要将基因对应的CpG位点考虑进来,gometh算法将基因覆盖的CpG位点个数作为基因的长度,用来矫正P值。

GSEA 结果如下:

str(myGSEA)
List of 2
$ DMP:’data.frame’:    666 obs. of  9 variables:
 ..$ Gene_List: Factor w/ 8338 levels “3_5_CYCLIC_NUCLEOTIDE_PHOSPHODIESTERASE_ACTIVITY”,..: 355 822 1359 7228 3732 14 364 350 2564 3656 …
 ..$ nList    : num [1:666] 1118 2485 1972 1426 102 …
 ..$ nRep     : num [1:666] 1026 2267 1768 1172 98 …
 ..$ fRep     : num [1:666] 0.918 0.912 0.897 0.822 0.961 …
 ..$ nOVLAP   : int [1:666] 190 329 268 194 39 251 157 161 28 165 …
 ..$ OR       : num [1:666] 2.37 1.81 1.88 2.05 6.59 …
 ..$ P.value  : num [1:666] 2.55e-21 4.41e-18 4.35e-17 2.76e-16 4.91e-16 …
 ..$ adjPval  : num [1:666] 2.13e-17 1.84e-14 1.21e-13 5.76e-13 8.18e-13 …
 ..$ Genes    : Factor w/ 6617 levels “A2M”,”A2M ACVRL1 ACVR1 IL12RB2 TNFRSF1B IL2RA”,..: 1604 5352 2139 2554 4011 5150 2711 519 2708 6157 …
$ DMR:’data.frame’:    115 obs. of  9 variables:
 ..$ Gene_List: Factor w/ 8338 levels “3_5_CYCLIC_NUCLEOTIDE_PHOSPHODIESTERASE_ACTIVITY”,..: 350 7089 246 2061 355 1206 2564 361 3653 7228 …
 ..$ nList    : num [1:115] 1062 148 212 201 1118 …
 ..$ nRep     : num [1:115] 964 137 194 183 1026 …
 ..$ fRep     : num [1:115] 0.908 0.926 0.915 0.91 0.918 …
 ..$ nOVLAP   : int [1:115] 44 21 23 22 43 22 15 29 19 37 …
 ..$ OR       : num [1:115] 7.69 25.32 19.04 19.22 6.94 …
 ..$ P.value  : num [1:115] 1.77e-21 4.04e-21 1.99e-20 1.04e-19 1.43e-19 …
 ..$ adjPval  : num [1:115] 1.47e-17 1.69e-17 5.53e-17 2.16e-16 2.39e-16 …
 ..$ Genes    : Factor w/ 1432 levels “ADCYAP1”,”ADCYAP1 BOLL VAX1 NKX2-3 PRDM14 DBX1 ALX1 PRRT1 RFX4 HOXD4 TNXB LBX1”,..: 446 985 348 984 239 117 387 1321 39 1294 ..

默认对DMP和DMR对应的基因都是富集分析,所以结果是一个长度为2的列表,第一个列表是DMP富集分析的结果,第二个列表是DMR富集分析的结果,每个富集结果是一个data.frame对象。

每列的含义如下:

*Gene_list
MSigDB数据库中定义的基因集合

  • nList
    每个基因集合包括的基因个数

  • nRep
    基因集合的基因与所有输入的gene list 中overlap的基因个数

  • fRep
    overla的基因的比例

  • nOVLAP
    位于该基因集合下的基因与输入的gene list 中overlap的个数

  • OR
    费舍尔精确检验的odds ratio

  • Pvalue
    单尾fisher exact test检验的p值,具体代码如下

    listPV.v_2 <- t(apply(fisher.lm_2,1,function(x) unlist(fisher.test(matrix(x,2,2),alternative=”greater”)[c(1,3)])))

  • adjPval
    多重假设检验校正之后的P值,默认采用”BH”方法

  • Genes
    gene symbol, 个数和nOVLAP相同

需要注意一点,对于fRep < 0.6 的基因集合,会过滤掉。官方是这样解释的 remove lists with less than 60% representation on array

ChAMP中提供的富集分析并不是我们常说的GO/KEGG 富集分析,有很多的R包,比如clusterProfiler, 都可以用来做GO/KEGG富集分析,但是都不会考虑基因对应的CpG位点个数,这也算是一个小的遗憾。如果要做GO/KEGG 富集分析,同时又要考虑CpG位点个数,就必须考虑`missMethyl`包。

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

推荐阅读更多精彩内容