一、Illumina HumanMethylation450 BeadChip (甲基化450k芯片)简介
Illumina最早的甲基化芯片是27K(K代表1000,表示大概可以测到的CpG位点数)的数据,后来增加到了450K(主流的甲基化芯片),而目前illumina已经出了新一代产品EPIC(我习惯称之为850K),但是技术核心在450K已经成熟了,所以分析流程这里以450K为主(也是目前数据库主流的甲基化芯片数据)。
450K芯片的芯片图形及其原理可以以下图(来源于illumina.com)展示
<ignore_js_op style="overflow-wrap: break-word; color: rgb(68, 68, 68); font-family: Tahoma, Simsun; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">
1、芯片:一张芯片包括12个array(如图显示),也就是一张芯片可以做12个sample,一台机子一次可以跑8张芯片,也就是一共96个sample,每个样本可以测到超过450,000个CpG位点的甲基化信息(大概人所有的1%,但是覆盖了多数CpG岛和启动子区),芯片本身包含一些控制探针可以做质控。
2、原理:简而言之,基于亚硫酸盐处理后的DNA序列杂交的信号探测。亚硫酸盐是甲基化探测的“金标准”,不管是芯片或者甲基化测序,都要先对DNA样品进行亚硫酸盐处理,使非甲基化的C变成U,而甲基化的C保持不变,从而在后续的测序或者杂交后区分出来。450K采用了两种探针对甲基化进行测定,Infinium I采用了两种bead(甲基化M和非甲基化U,如图显示),而II只有一种bead(即甲基化和非甲基化在一起),这也导致了它们在后续荧光探测的不同,450K采用了两种荧光探测信号(红光和绿光)。
更多信息可以在官网查看 http://www.illumina.com/products ... _beadchip_kits.html
二、分析需要考虑的问题
1、背景校正
2、红光和绿光的校正
3、控制芯片的使用(illumina450K本身有一些控制芯片,可以用来做质控,如亚硫酸盐处理效率)
4、探针类型(I型和II型)的校正(不同探针类型产生的数据不同)
这个问题我们之前关注很多,这里附上两篇文献供大家参考,最终我们选择BMIQ的方法(基于ebayes的原理将II型探针的甲基化水平拉伸到I型水平,如下图显示)来做矫正。
文献1: http://bioinformatics.oxfordjournals.org/content/29/2/189.short
文献2: http://www.tandfonline.com/doi/abs/10.4161/epi.24008
图片来源于第1篇文献
<ignore_js_op style="overflow-wrap: break-word; color: rgb(68, 68, 68); font-family: Tahoma, Simsun; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">
5、位置的校正(芯片上的不同位置产生的数据可能会有偏差)
6、批次的校正(不同的批次做的数据会有偏差)
7、探针序列本身是否可靠(有些探针本身位于repeat区或者包含snp等就会影响杂交及最后的结果,应该去除,附上一片参考文献,里边有list可以用来去除不好的探针)
文献:http://bmcgenomics.biomedcentral.com/articles/10.1186/1471-2164-15-51
三、数据处理
1、GenomeStudio
GS是illumina开发的软件,基于图形界面的操作处理,适合于没有R及编程基础的人使用,但是使用GS需要权限,本人试过挺难破解的,如果有人可以破解,可以提供给论坛小伙伴使用。
2、基于R和bioconductor的pipeline
bioconductor里开发了很多package供大家使用,如果你会R,那么处理这个甲基化芯片的数据将变得简单。
可以处理450K芯片的package有lumi、minfi、wateRmelon、ChAMP等,没有哪一种就特别好,大家都在不断改进,所以只要你知道大概的流程和需要注意的问题,那么你也可以自己写代码处理,只是package可以帮你省很多事情。下边我会附上我的处理流程图和详解,还有我的代码,我的代码是基于minfi的,我再次强调,代码只是手段,你可以用其他的package(例如我的同事很多使用ChAMP),也许会更好。
流程图:
<ignore_js_op style="overflow-wrap: break-word; color: rgb(68, 68, 68); font-family: Tahoma, Simsun; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">
流程图详解:我们一般下载或者iscan后的原始数据格式为Idat,首先可以得到每个sample的每个probe的p值和bead数,根据p值和bead数可以进行样本和探针的过滤,过滤之后需要用BMIQ的方法进行I和II型探针的校正,矫正之后去掉那些包含snp之类的不好的探针,最后对数据做batch的校正。校正之后的数据就是预处理后的数据了,可以用于更下游的分析,如差异甲基化和甲基化与表达的关联分析等。
我的代码: https://github.com/wkl1990/Illumina450K-methylation,再次强调,我的代码并不完美,如果有bug,请告诉我修改,构建你自己的代码,让自己敲起来。
最后,感谢坛主大神的邀请和鼓励,他的学习和分享精神一直是我的榜样,希望在这里我可以书写和学习更多的知识,结识更多的朋友。