当前位置:   article > 正文

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

champ block.gui

一、甲基化芯片检测

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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/528110
推荐阅读
相关标签
  

闽ICP备14008679号