【Bioinfo Blog 013】【R Code 011】——甲基化芯片数据分析(ChAMP包)

本文介绍了DNA甲基化的基本概念和甲基化芯片的原理,特别是ChAMP包在450K和EPIC甲基化芯片数据处理中的作用。通过数据预处理、甲基化分析、差异甲基化位点和区域的检测,以及富集分析,展示了ChAMP包在甲基化数据分析中的完整流程,并提到了在实际分析中应注意的问题,如背景校正、批次效应校正等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、甲基化芯片检测

1.1 DNA甲基化

DNA甲基化是表观遗传学的中最为常见的一种修饰,其主要形式包括:5-甲基胞嘧啶 (5-mC)、少量的N6-甲基腺嘌呤 (N6-mA) 以及7-甲基鸟嘌呤(7-mG)。

目前常说的DNA甲基化一般指CpG岛甲基化,即在DNA甲基化转移酶(DNMTs)的作用下使CpG二核苷酸5’端的胞嘧啶转变为5’甲基胞嘧啶
在这里插入图片描述

CpG岛(CpG islands):指CpG序列密度相比整个基因组来说是特别高的富集区域,一般位于启动子附近,5’端非翻译区或第一个外显子;一般CpG岛序列长度在500bp以上,GC含量高于55%以及CpG出现比率大于0.65,40%的启动子区域含有CpG岛。
CpG shores指距CpG岛边缘2kb的区域
CpG shelves是指距CpG岛边缘4kb的区域

1.2 甲基化芯片原理

甲基化芯片的原理是基于亚硫酸盐处理后的DNA序列杂交的信号探测。

  • 亚硫酸盐是甲基化探测的“金标准”,不管是芯片或者甲基化测序,都要先对DNA样品进行亚硫酸盐处理,使非甲基化的C变成U,而甲基化的C保持不变,从而在后续的测序或者杂交后区分出来。
  • 450K采用了两种探针对甲基化进行测定,Infinium I采用了两种bead(甲基化M和非甲基化U,如图显示),而Infinium II只有一种bead(即甲基化和非甲基化在一起),这也导致了它们在后续荧光探测的不同,450K采用了两种荧光探测信号(红光和绿光)。

在这里插入图片描述

上图左边一列是非甲基化的GpC locus,右边是甲基化的GpC locus,上下分别是Infinium I 和Infinium Ⅱ

1.3 β值

通过计算甲基化(信号A)和未甲基化(信号B)等位基因之间的强度比来确定DNA甲基化水平(β值)。

平均β=信号B /(信号A +信号B + 100)

具体地,β值是由甲基化(M对应于信号A)和未甲基化(U对应于信号B)等位基因的强度计算的,荧光信号的比率β= Max(M,0)/ [Max( M,0)+ Max(U,0)+ 100]。
因此,β值的范围从0(完全未甲基化)到1(完全甲基化)

具体的β值的意义是:
任何等于或大于0.6的β值都被认为是完全甲基化的。
任何等于或小于0.2的β值被认为是完全未甲基化的。
β值在0.2和0.6之间被认为是部分甲基化的。

1.4 分析需要考虑的问题

  1. 背景校正

  2. 红光和绿光的校正

  3. 控制芯片的使用(illumina450K本身有一些控制芯片,可以用来做质控,如亚硫酸盐处理效率)

  4. 探针类型(I型和II型)的校正(不同探针类型产生的数据不同)

  5. 位置的校正(芯片上的不同位置产生的数据可能会有偏差)

  6. 批次的校正(不同的批次做的数据会有偏差)

  7. 探针序列本身是否可靠(有些探针本身位于repeat区或者包含snp等就会影响杂交及最后的结果,应该去除,附上一片参考文献,里边有list可以用来去除不好的探针)

二、甲基化芯片数据分析

在这里插入图片描述
图源:ChAMP: updated methylation analysis pipeline for Illumina BeadChips

  • 绿色发光线表示主要的分析步骤,灰色为可选的步骤。黑点表示准备好的甲基化数据。
  • 蓝色表示准备工作,比如Loading, Normalization, Quality Control checks etc.
  • 红色表示产生分析结果:Differentially Methylated Positions (DMPs), Differentially Methylated Regions (DMRs), Differentially methylated Blocks, EpiMod (a method for detecting differentially methylated gene modules derived from FEM package), Pathway Enrichment Results etc.
  • 黄色表示交互界面画图

2.1 Pipeline

2.1.1 450K

myLoad <- cham.load(testDir)
# Or you may separate about code as champ.import(testDir) + champ.filter()
CpG.GUI()
champ.QC() # Alternatively: QC.GUI()
myNorm <- champ.norm()
champ.SVD()
# If Batch detected, run champ.runCombat() here.
myDMP <- champ.DMP()
DMP.GUI()
myDMR <- champ.DMR()
DMR.GUI()
myBlock <- champ.Block()
Block.GUI()
myGSEA <- champ.GSEA()
myEpiMod <- champ.EpiMod()
myCNA <- champ.CNA()

# If DataSet is Blood samples, run champ.refbase() here.
myRefbase <- champ.refbase()

2.1.2 EPIC(850k)

myLoad <- champ.load(directory = testDir,arraytype="EPIC")
# We simulated EPIC data from beta value instead of .idat file,
# but user may use above code to read .idat files directly.
# Here we we started with myLoad.

CpG.GUI(arraytype=<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值