我之前剖析时是参考ChAMP包的源文档,非常详细的全体流程的先容,但是,在条记快整理完时溘然创造作者的博客也写过一篇先容的文章,博客里写的不像源文档很官方,这里面有很多作者很直白的阐明和补充,还有作者一些很深刻的思考。看了之后创造自己对很多剖析理解的还不是很深刻。以是如果想学甲基化芯片数据剖析的小伙伴可以以官方源文档和作者的博客为主,这篇条记仅仅作为额外的参考吧。
Illumina甲基化芯片目前仍是很多实验室做甲基化项目的首选,尤其是对付大样本研究而言,其性价比相称高;目前在临床上运用还是很广的。这种芯片的发展紧张经历了27K、450K以及850K(27K,450K,850K指能测到的CpG甲基化位点),目前积累的数据紧张是450K芯片的,之后850K可能会成为甲基化芯片的主流。楼主之前写过一篇450K芯片预处理的帖子,个中很详细先容了这种芯片的根本知识以及流程图和代码,大家可以先看看。芯片的处理流程一样平常便是:数据读入——数据过滤——数据校正——下贱剖析。

数据处理一种时基于GenomeStudio(illumina开拓的软件),但是只对付小样本,另一种基于R的各种package,如lumi、minfi、wateRmelon、ChAMP等。

与测序比较,芯片的处理可能对打算资源的哀求不算高,紧张利用的工具便是R,但是R的利用比较耗内存,尤其是处理大批量数据的时候。
Step1: 根本知识的补充在正式剖析前,我结合作业先将有关甲基化和芯片的根本知识整理了一下。
Illumina 甲基化芯片的事理及探针的设计(I型探针和II型探针)事理:简而言之,基于亚硫酸盐处理后的DNA序列杂交的旗子暗记探测。亚硫酸盐是甲基化探测的“金标准”,不管是芯片或者甲基化测序,都要先对DNA样品进行亚硫酸盐处理,使非甲基化的C变成U,而甲基化的C保持不变,从而在后续的测序或者杂交后区分出来。
450K和850K采取了两种探针Infinium Ⅰ 和Infinium Ⅱ对甲基化进行测定,Infinium I采取了两种bead(甲基化M和非甲基化U,如图显示),而II只有一种bead(即甲基化和非甲基化在一起),这也导致了它们在后续荧光探测的不同,450K采取了两种荧光探测旗子暗记(红光和绿光)(图1)。
甲基化概述:
DNA甲基化被认为是表不雅观遗传调控的一种办法,如Cytosine methylation (5-mC)是研究最多的,被认为是哺乳动物中常见的甲基化办法, 最近有一些研究也创造了其他形式的甲基化,如2016年Nature上揭橥了一篇关于鼠的胚胎干细胞的m6A(N6-methyladenine)形式的甲基化。DAN甲基化被认为对基因表达,染色质重塑,细胞分解,疾病等都有主要影响(图2)。
甲基化的检测方法:
目前甲基化检测的方法可以概括为三种:芯片、测序、免疫沉淀。详细选择何种方法紧张还是根据实验目的和实验室条件了。但目前来说,甲基化芯片技能从覆盖度,检测灵敏度和价格综合考虑,还是性价比相对高的(图3)。
关于甲基化芯片常见的Glossary:
CpG island: Defned as regions 500 bp, 55% GC and expected/observed CpG ratio of 0.65. 40% of gene promoters contain islands.
CpG shelves: ~4Kb from islands.
CpG shores: ~2Kb from islands, 75% of tissuespecifc differentially methylated regions found in shores. Methylation in shores shows higher correlation with gene expression than CpG islands.
Differentially methylated regions (DMR): Cell-, tissue-, and condition- specifc differences in methylation.
Enhancer: A short region of DNA that can activate transcription and is often regulated by methylation.
Hypermethylation: Most cytosines are methylated. Hypomethylation: Most cytosines do not have 5-mC. Euchromatin and active gene promoters are hypomethylated.
Beta value:常日的甲基化衡量方法被称为“Beta”值; 即是甲基化百分比,并定义为“Meth”除以“Meth + Unmeth”。
CGI: CpG island 即甲基化岛。
由于手头的数据是850K的甲基化数据,之前也只打仗过ChAMP包,以是这里就以ChAMP包先容850K甲基化数据剖析。ChAMP包是一个集成度很高的包,它包括450K和EPIC(即常日所说的850K)两套剖析流程,完全的包括了数据的载入,标准化,纠正,差异甲基化和富集剖析等功能(图4)。
Step2:打算机资源的准备
作业1 安装好R软件及相应的包,下载R包的解释书,整理它们的官网链接。
R的利用真的很耗内存,我有28个样本(14个control, 14个case), 之前4G内存的电脑,本地剖析总时半路电脑就卡去世了。以是最好配置高一点,或者在做事器高下载安装R和Rstudio(这里最好安装Rstudio, 由于ChAMP包中有很多的GUI图形功能,Rstudio可以更好实现,或者含有X11功能的linux系统)。
软件的安装:R和Rstudio 确当地安装很大略,直接到官网下载,只要把稳安装时的路径不要有中文,Rstudio安装前要先安装R。
做事器版本的Rstudio安装好后,在网页地址栏输入访问地址:<做事器IP:8787,用户名和密码为Linux用户的用户名和密码。
详细安装方法可以参考生信宝典陈老师的一篇文章http://www.biotrainee.com/thread-1808-1-1.html。
下载R包:下载ChAMP 包,官网给出了很详细的流程解释(https://bioconductor.org/packages/release/bioc/vignettes/ChAMP/inst/doc/ChAMP.html)。
source(\公众https://bioconductor.org/biocLite.R\公众)biocLite(\"大众ChAMP\公众)
NOTE: ChAMP有很多依赖包,安装时,若报错有哪个包没有,就连续安装 biocLite(\公众YourErrorPackage\"大众),可能3-4次就可以安装成功。
导入ChAMP包并测试:导入ChAMP包后,根据是450K的数据或者是850K的数据,导入测试数据集,走一下剖析流程,检测包是否正常事情,更主要的是看该包的文档,理解每一步流程的意义。该包的文档很详细,建议大家看原文档,下面给出的啰啰嗦嗦的先容基本上都来自官网的文档解释(https://bioconductor.org/packages/release/bioc/vignettes/ChAMP/inst/doc/ChAMP.html)。
library(\"大众ChAMP\公众)#450K的数据导入:testDir=system.file(\"大众extdata\公众,package=\"大众ChAMPdata\"大众)myLoad <- champ.load(testDir,arraytype=\"大众450K\公众)#850K的数据data(EPICSimData)Step 3: 数据读入
数据的读入这里可能坑最多,首先450K 和850K甲基化芯片的原始数据格式都是IDAT, 由于数组是用两种不同的颜色来丈量的,以是每个样本都有两个文件,常日是扩展名Grn.idat和Red.idat。数据在载入时还须要一个SampleSheet.csv文件(图5)(也称做pd file), 这个文件很主要,它包含了样本的信息,可以对照测试数据的csv文件和自己的csv文件,对信息不全的地方进行补充。尤其要把稳SampleGroup 这一列信息是否有,这一列信息代表你想比较的表型类型,比如癌和癌旁。另一个我碰着过的一个隐形坑在Sentrix_ID,这一列数由于数字串很长,在Excel中可能以科学计数法显示,然后本来是长数字串后两位不一样的数字串都变为一样的,在读入时就会报重复字符的缺点,以是这里一定要核查下长数字串的信息,如果有缺点,自己重新输入时以文档格式输入,或者前面加右单引‘。csv文件准备好后,将csv文件与所有样本的芯片数据(即IDAT文件)放在一个文件下,然后就可以正常读入了。
图5 Sample_Sheet.csv fiel
library(\"大众ChAMP\公众)myLoad <- champ.load(\"大众F:/850K Methylation Chip/biotree_850K/methy_rawData\"大众,arraytype = \公众EPIC\"大众)save(myLoad,file=\公众myLoad.rda\"大众)
champ.load()包含了 champ.import() 和champ.filter(),这里会自动过滤p值0.01; probes beadcount <3 in at least 5% of samples;NoCG;probes with SNPs; MultiHit; probes located on X,Y chromosome。
在读入数据之后,最好保存,后续重复读入时会加快速率。
Step 4: 质控和标准化CpG overview:质控前可以先看看CpG的分布,包括在染色体上的分布;CpG岛附近的 open sea, shelf,shore (参考图2,理解详细意思) ; UTR,TSS; I 型探针和II探针上的分布(图6),这个信息对后续DMP的剖析有帮助。
CpG.GUI(arraytype=\公众EPIC\"大众)
质控:
然后进行质控,有两种办法:champ.QC() 和 QC.GUI()。champ.QC会产生三种类型的图(点图,beta 分布图,聚类图)以pdf格式输出,QC.GUI产生5个图,多了一个I型、II型探针图和热图(图7)。所有的GUI功能都比较耗内存,且产生的是网页交互式的图片,每幅图的右上角给的都有保存按钮,要把稳的是保存时文件名要加上.png的后缀(图7)。
#champ.QC()QC.GUI(arraytype=\公众EPIC\公众)
图7 QC Overview
标准化:champ.norm 供应了四种方法:BMIQ, SWAN1, PBC2 and FunctionalNormliazation4。默认的方法是BMIQ, 且BMIQ对850K的标准化方法更好一点,以是这里我选择的是BMIQ的标准化方法,没有考试测验其他的标准化方法。
myNorm <- champ.norm(arraytype=\"大众EPIC\公众)QC.GUI(myNorm,arraytype=\"大众EPIC\"大众)save(myNorm,file=\公众myNorm.rda\"大众)SVD plot 和批次效应:
SVD(singular value decomposition) 这里用于评估数据集中变量的紧张身分。这种身分可能确实是你感兴趣的生物成分,也可能是技能来源的一些变量身分(称为批次效应)(图8)。如果存在批次效应,就进行批次效应的纠正,纠正完之后可以再看看SVD plot。
champ.SVD()
图8 SVD Plot
Step 5: 差异甲基化剖析(DMP & DMR & DMB)差异剖析是多数研究都要剖析的,这里包括三种方法:DMP,DMR,DMB。DMP代表找出Differential Methylation Probe(差异化CpG位点),DMR代表找出Differential Methylation Region(差异化CpG区域),Block代表Differential Methylation Block(更大范围的差异化region区域)
大略来说,DMP是找出一个一个的差异甲基化CpG位点,DMR便是一个连续不断都比较长的差异片段,科学家们以为,这样的连续差异片段,对付基因的影响会更加明显,只找这样的片段,可以使得打算生物学的打击精度更为准确,也可以让终极找出来的结论数据更少,便于实验职员筛选。其余一个类似的东西便是DMB,那个东西涌现的缘故原由是,有的科学家以为,DMR这样的区域还不足显著,DNA上的甲基化涌现变革,可能是绵延几千位点的!
而且只会在基因以外的区域,但是这些基因以外的区域发生变革,却会导致基因的表达发生变革。你可以想象成,北京周边的河北在大炼钢铁,然后北京也随着雾霾了,大概便是这意思。
DMP,DMR,DMB的结果都是基于的shiny的交互页面,左栏上方是 P-value 和 abs(logFC) ,可以选择想看的值,然后点submit, 右栏可以天生差异甲基化表,热图,feature&cgi, 左栏下方还有基因,CpG按钮,选择你想看的结果,submit, 右栏就会天生相应gene,CpG结果(图9)。
myDMP <- champ.DMP(arraytype=\"大众EPIC\"大众)save(myDMP,file=\"大众myDMP.rda\"大众)DMP.GUI()myDMR <- champ.DMR(arraytype = \公众EPIC\"大众,method=\"大众DMRcate\"大众,cores=1)save(myDMR,file=\公众myDMR.rda\公众)DMR.GUI(arraytype=\公众EPIC\"大众)#myBlock <- champ.Block(arraytype = \公众EPIC\"大众)#Block.GUI(arraytype=\公众EPIC\"大众,compare.group=c(\"大众PrEC_cells\"大众,\公众LNCaP_cells\公众))
图9 DMP Overview
Step 6: 基因富集和网络剖析(GSEA & EpiMod)差异甲基化剖析后,你可能想知道DMP,DMR中涉及到的基因是否可以富集到某个生物功能或通路,GSEA(Gene Set Enrichment Analysis)和EpiMod(Differential Methylated Interaction Hotspots)供应了可以探求浸染通路网络中的疾病关联小网络的功能 (图 10)。
myGSEA <- champ.GSEA(arraytype = \"大众EPIC\"大众)save(myGSEA,file=\"大众myGSEA.rda\"大众)myEpiMod <- champ.EpiMod(arraytype=\"大众EPIC\公众)save(myEpiMod,file=\"大众myEpiMod.rda\"大众)
Step 7: 拷贝数变异剖析(CNA)拷贝数变异,也便是有些基因片段被复制的此处过多或者过少,从而导致某些疾病。但是这个函数作者以为有点粗糙,精度还不足。我试着跑了一下,韶光超长(图11)。
myCNA <- champ.CNA(control = F,arraytype = \"大众EPIC\公众)save(myCNA,file=myCNA)
图11 Frequency Plot of Cancer Sample
小结:如果用ChAMP包对450K或850K甲基化数据进行剖析时,一是最好有个配置高一点的电脑;二是初始数据导入时,把稳csv文件的格式,且要和IDAT文件放在一个文件下;别的的流程很少会碰着bug, 但最关键的是理解每一步的意义,能够根据剖析的结果挖掘出想要的东西。
ps: 这次作业供应的公共数据,有IDAT文件,也有个csv文件,但是这里的csv文件和我的csv文件差别很大,不是很明白这里的csv文件是什么,有什么浸染。
有不当之处欢迎示正和补充。其余,如果还有想去南京面基的朋友,可以看看这个哈:
原文中此处为链接,暂不支持采集
一起吃个饭咯










