ChAMP分析甲基化芯片数据-差异分析上篇

经过预处理之后的数据,就可以进行差异分析了。对于甲基化芯片而言,有两个方面的差异分析

  1. DMP 差异甲基化探针

  2. DMR 差异甲基化区域

ChAMP包中,champ.DMP函数用于分析差异甲基化探针,champ.DMR函数用于分析差异甲基化区域。本章我们先看下差异探针的分析

champ.DMP函数的用法示例

myDMP <- champ.DMP()

在差异分析时,我们需要两个输入数据,一个就是探针的表达谱数据,beta  matrix, 另外一个就是样本的分组信息。

champ.DMP函数中,默认myNorm作为归一化之后的beta  matrix,对于样本的分组信息,ChAMP默认从Samplesheet.csv文件中读取,在数据导入成功后,myLoad$pd代表的就是SampleSheet.csv文件的信息,所以myLoad$pd$Sample_Group 代表样本的分组信息。

在差异分析时,最关键的就是差异分组问题。在实验设计阶段,有很多类型的分组设计,比如最常见的case_vs_control, 两个group的分组;多个组织,比如3个组织,共3个group; 时间序列,比如药物处理后的几个时间点。不同的实验设计,在差异分析时,想要关注的差异点自然不同,在分析时也要采取不同的分析策略。

对于ChAMP来说,上述的几种分组设计都是支持。

champ.DMP计算过程分为以下3步:

1. 检测样本分组,确定分组比较

测试数据分成T和C两组,每组各4个样本、

在这一步,需要确定两个因素:

  • 分组的类型
    主要识别分组变量是离散型还是连续型,如果是字符串型character, 就是离散型,如果是数值型numeric, 就是连续型。不同的类型,采取的差异分析策略不同。
    测试数据是字符型的两个group, 具体的输入信息如下

  • 分组的个数
    确定group的个数,2个group 肯定是两者之间进行差异分析,但是当group 个数3个或以上时,就需要确定如何分组比较。 默认情况下两两之间都进行差异分析,如果你不需要这么多的差异结果,可以通过compare.group 参数指定, compare.group参数的值是一个list, list 中的每个元素是一个长度为2的向量,指定了用于差异分析的两个group

[ Section 1:  Check Input Pheno Start ]
 You pheno is character type.
   Your pheno information contains following groups. >>
   C:4 samples.
   T:4 samples.
   [The power of statistics analysis on groups contain very few samples may not strong.]
   pheno contains only 2 phenotypes
   compare.group parameter is NULL, two pheno types will be added into Compare List.
   C_to_T compare group : C, T
[ Section 1:  Check Input Pheno Done ]

进行差异探针分析

通过调用limma 函数进行差异分析,默认通过BH方法进行多重建设检验的校正,p.adjust < 0.05 的认为是差异探针

可以通过adjPVal参数修改p.adjust的阈值,当然也可以修改adjust.method 参数的值,调整多重假设检验校正的算法,默认值为BH, 可选值包括 “none”, “BH”, “BY”, “holm”。

[ Section 2:  Find Differential Methylated CpGs Start ]
 Start to Compare : C, T
 Contrast Matrix
     Contrasts
Levels pT-pC
   pC    -1
   pT     1
 You have found 4283 significant MVPs with a BH adjusted P-value below 0.05.
 Calculate DMP for C and T done.
[ Section 2:  Find Numeric Vector Related CpGs Done ]

添加差异探针的注释信息

之前的分析都是针对探针的beta matrix 进行的分析,找的差异探针之后,我们肯定希望知道这个探针对应的基因,染色体位置等注释信息。这一步实际就是在已有的差异结果的基础上,追加探针的注释信息。

[ Section 3:  Match Annotation Start ]
[ Section 3:  Match Annotation Done ]

结果展示

str(myDMP)
List of 1
$ C_to_T:’data.frame’:    4283 obs. of  23 variables:
 ..$ logFC                : num [1:4283] 0.724 …
 ..$ AveExpr              : num [1:4283] 0.398 …
 ..$ t                    : num [1:4283] 28.2 …
 ..$ P.Value              : num [1:4283] 1.74e-08…
 ..$ adj.P.Val            : num [1:4283] 0.00703…
 ..$ B                    : num [1:4283] 7.6 7.05 …
 ..$ C_AVG                : num [1:4283] 0.0358 …
 ..$ T_AVG                : num [1:4283] 0.759 …
 ..$ deltaBeta            : num [1:4283] 0.724 …
 ..$ CHR                  : Factor w/ 25 levels “”,”1”,”10”,”11”,..: 
 ..$ MAPINFO              : int [1:4283] 141516291 …
 ..$ Strand               : Factor w/ 3 levels “”,”F”,”R”: 3 2 …
 ..$ Type                 : Factor w/ 2 levels “I”,”II”: 2 2 …
 ..$ gene                 : Factor w/ 20622 levels “”,”A1BG” …
 ..$ feature              : chr [1:4283] “Body” “Body” …
 ..$ cgi                  : Factor w/ 4 levels “island”,”opensea”,..: …
 ..$ feat.cgi             : Factor w/ 28 levels “1stExon-island”,..: 13 …
 ..$ UCSC_CpG_Islands_Name: Factor w/ 27177 levels “”,”chr1:10003165-10003585”,..: 18278 …
 ..$ DHS                  : logi [1:4283] NA NA NA NA NA NA …
 ..$ Enhancer             : logi [1:4283] TRUE TRUE NA NA NA NA …
 ..$ Phantom              : Factor w/ 11912 levels “”,”high-CpG:100009860- …
 ..$ Probe_SNPs           : Factor w/ 56004 levels “”,”rs10000615”,..:
 ..$ Probe_SNPs_10        : Factor w/ 35790 levels “”,”rs10000804” …

myDMP 就是最终的差异分析结果,是一个list对象,list中的每个元素是两个group之间差异分析的结果。

测试数据只有两个分组,所以list 中只有一个元素。差异分析的结果是一个data.frame对象,可以分成3个部分。

logFCB的部分是limma 差异输出结果, C_AVGdeltaBeta是每组表达量的均值,deltaBate是两组均值的差,CHRProbe_SNPs_10是探针的注释信息。

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

推荐阅读更多精彩内容

  • 参考:https://bioconductor.org/packages/release/bioc/vignett...
    子鹿学生信阅读 22,669评论 3 17
  • 当我们得到差异的探针或者差异的甲基化区域之后,通常都会分析这些差异区域对应的基因是否在特定功能上有富集。在ChAM...
    生信修炼手册阅读 3,095评论 0 4
  • 文章图片上传不正常,如需文档,可联系微信:1017429387 目录 1 安装... 4 1.1 配置探针... ...
    Mrhappy_a7eb阅读 6,280评论 0 5
  • 我的父母,是害怕体检的中年人。 我陪他们坐着 在熙来攘往的走廊上 隔着刺鼻的消毒水味儿 隔着生与死 墙上的钟走得很...
    周不懂阅读 192评论 0 2
  • 如果时光可以倒流, 我一定好好学习; 而不是像现在这样懊悔。 如果时光可以倒流, 就应该听妈妈的话; 踏入社会前应...
    尹伊静阅读 131评论 0 0