甲基化阵列-实验室

表观基因组学2014
作者:Martin Morgan (mtmorgan@fhcrc.org)
日期:2014年8月24日

本案例研究快速浏览了minfiBioconductor包。主要目标是熟悉生物导体对象和方法的使用;看到装饰图案关于Illumina阵列甲基化分析的更多背景资料。

首先添加minfiminfiData包。使用browseVignettes(“minfi”)访问附加背景信息的小插图。

需要(minfi)要求(minfiData) browseVignettes(“minfi”)

任何工作流的第一步都是读取数据。在以下位置提供了一个样本数据集。

baseDir < -系统。file("extdata", package = "minfiData") baseDir . conf
# #[1]“/ home / mtmorgan / R / x86_64-unknown-linux-gnu-library / 3.1 - -2.14 / minfiData / extdata”
dir (baseDir)
## [1] "5723646052" "5723646053" "SampleSheet.csv"
dir(文件。路径(baseDir,“5723646052”))
# # 5723646052 _r02c02_grn[1]”。idat”“5723646052 _r02c02_red。idat" ## [3] "5723646052_R04C01_Grn。idat”“5723646052 _r04c01_red。idat" ## [5] "5723646052_R05C02_Grn。idat 5723646052 _r05c02_red.idat”

当然,你自己的数据会在另一个位置,你可以输入路径(与“标签补全”)而不是使用执行()。一个典型的组织是,每个“幻灯片”(包含12个数组)存储在一个单独的目录中。顶级目录包含. csv描述样本的文件;每个幻灯片目录中都有代表Illumina扫描仪输出的IDAT文件。

接下来读取示例表,然后读取原始探针级数据。花点时间使用R来研究示例表。请阅读“man”页面read.450k.sheetread.450k.exp看看有哪些选项可用。

## ` pData ` target <- read.450k.sheet(baseDir)
# # (read.450k。## [1] "/home/mtmorgan/R/x86_64-unknown-linux-gnu-library/3.1-2.14/minfiData/extdata/SampleSheet.csv"
(目标)
# # Sample_Name Sample_Well Sample_Plate Sample_Group Pool_ID人年龄性别# # 1 GroupA_3 H5 NA GroupA NA id3 83 # # 2 GroupA_2 D5 NA GroupA NA id2 58 f# # 3 GroupB_3 C6 NA GroupB NA id3 83 # # 4 GroupB_1 F7 NA GroupB NA id1 75 F # # 5 GroupA_1 G7 NA GroupA NA id1 75 F # # 6 F GroupB_2 H7 NA GroupB NA id2 58 # #幻灯片# # 1正常R02C02状态数组5.724e+09 ## 2 normal R04C01 5.724e+09 ## 3 cancer R05C02 5.724e+09 ## 4 cancer R04C02 5.724e+09 ## 5 normal R05C02 5.724e+09 ## 6 cancer R06C02 5.724e+09 ## Basename ## 1 /home/mtmorgan/R/x86_64-unknown-linux-gnu-library/3.1-2.14/minfiData/extdata/5723646052/5723646052_R02C02 ## 2 /home/mtmorgan/R/x86_64-unknown-linux-gnu-library/3.1-2.14/minfiData/extdata/5723646052/5723646052_R04C01 ## 3 /home/mtmorgan/R/x86_64-unknown-linux-gnu-library/3.1-2.14/minfiData/extdata/5723646052/5723646052_R05C02 ## 4 /home/mtmorgan/R/x86_64-unknown-linux-gnu-library/3.1-2.14/minfiData/extdata/5723646053/5723646053_R04C02 ## 5 /home/mtmorgan/R/x86_64-unknown-linux-gnu-library/3.1-2.14/minfiData/extdata/5723646053/5723646053_R05C02 ## 6 /home/mtmorgan/R/x86_64-unknown-linux-gnu-library/3.1-2.14/minfiData/extdata/5723646053/5723646053_R06C02
##原始探测级数据RGset <- read.450kexp(base = baseDir, targets = targets)

作为一个基本的质量评估,可视化beta值在每个数组中的分布,根据样本着色密度函数。对这些数据有什么担心吗?

##基本质量保证——样品之间的可比性密度?densityPlot(RGset, sampGroups = RGset$Sample_Group, main = "Beta", xlab = "Beta")

未命名的chunk-6的Plot

一个技术工件探测器的强度取决于它们的序列组成,所以有必要进行“背景校正”。此外,由于样品制备步骤的不同,探针强度的分布也会有所不同,例如,一个样本与另一个样本的初始DNA数量略有不同。因此,微阵列分析的基本步骤(其中许多步骤被其他高通量分析所共享)是如此背景校正和between-array归一化。使用preprocessIllumina ()命令执行这些步骤。这个包中还有其他可用的规范化策略吗?

##背景校正和规范化##像Illumina Genome Studio(其他可用的方法)MSet。<- preprocessIllumina(RGset, bg。correct = TRUE, normalize = "controls", reference = 2)

一旦数据经过背景校正和归一化处理,就可以比较每个样本的甲基化值向量。使用mdsPlot ()函数可视化样本之间的降维多维关系。使用参数mdsPlot ()命名并突出显示不同的样本组。

##样品之间有多相似?mdsPlot (MSet。numPositions = 1000, sampGroups = MSet。$Sample_Group, sampNames = MSet.norm$Sample_Name)

块未命名块-8的情节

取一部分数据(前100,000个探针),检索logit转换的beta值,然后使用dmpFinder ()甲基化状态与样品基相关的cpg。从帮助页,参考文献,和你自己的知识,任何关于shrinkVar吗?

##在组mset <- mset中识别甲基化状态不同的探针。## logit(beta) M <- getM(mset, type=" beta", betaThreshold = 0.001) dmp <- dmpFinder(M, pheno=mset$Sample_Group, type="categorical") head(dmp)
##拦截f pval qval ## cg18207348 3.916 4499 2.960e-07 0.01382 ## cg020255273 4.273 3630 4.545e-07 0.01382 ## cg16650529 -2.236 2739 7.977e-07 0.01382 ## cg12019520 9.964 2011 1.479e-06 0.01936 ## cg10805483 -9.964 1706 2.053e-06 0.01936

可视化差异甲基化使用plotCpg ()

plotCpg (mset cpg = rownames (dmp)[1],把= mset Sample_Group美元)

未命名的chunk-10的Plot

探针询问基因组位置。使用mapToGenome ()将探针标识符转换成基因组坐标。这个转换mset一个类的对象SummarizedExperiment。一个SummarizedExperiment类似于一个表达集,bui with农庄来注释行,而不是data.frame。使用rowData ()提取农庄SummarizedExperiment;探索它。的行数据中添加关于差异表达探针的注释SummarizedExperiment

# mset <- mset[rownames(dmp),] mse <- mapToGenome(mset) #“summary izedexper实验”rowData(mse)
# #农庄与100000和0元数据列:链# # # # seqnames范围< Rle > < IRanges > < Rle > # # cg13869341 chr1(15865、15865)* # # cg12045430 chr1(29407、29407)* # # cg20826792 chr1(29425、29425)* # # cg00381604 chr1(29435、29435)* # # cg17149495 chr1[530959、530959 ] * ## ... ... ... ...## cg02050847 chrY [22918038,22918038] * ## cg25427172 chrY [23566730, 23566730] * ## cg10267609 chrY [2445377,24453757] * ## cg08983430 chrY [24549675,24549675] * ## cg08265308 chrY[28555550,28555550] * ##—## seqlength# # chr1 chr2 chr3 chr4 chr5 chr6…chr13 chr14 chr15 chrX chrY ## NA NA NA NA NA NA NA…呐呐呐呐呐
mcols(rowData(mse)) < cbind(mcols(rowData(mse)), dmp)