Illumina 450K + CHARM/dmrFinder
0
0
Entering edit mode
Guido Hooiveld ★ 3.9k
@guido-hooiveld-2020
Last seen 1 day ago
Wageningen University, Wageningen, the …
Hello, Triggered by the paper by Andrew Jaffe et al. on bump hunting to identify DMRs, I tried to analyze one of our Illumina 450K datasets using the bump hunting methodology implemented in the package charm (dmrFinder). I found the lines of codes posted by Tim Triche on the BioC mailing list an excellent way to get started (http://comments.gmane.org/gmane. science.biology.informatics.conductor/44365). However, I now do have some practical questions/problems and would appreciate some feedback/pointers. - If SWAN-normalized data is used as input for dmrFinder, is within and between sample normalization still required? I assume it is not, but if still so, what would be the recommended method to get started for these 450K arrays (loess resp. quantile or sqn)? - Using default settings, dmrFinder didn't return any significant dmr's in my dataset, except when the minimum number of probes in a region was set at 1 (but this is equal to analyzing the CpGs one-by- one and not bump hunting). I was just wondering; did other people using dmrFinder on 450K arrays observe this as well? Or is this specific for my dataset because the effect size in my study is too small? - What exactly is the value of the cutoff used to identify a dmr reflecting? The help pages state that it is a t-statistic cutoff used to identify probes as being in a DMR, so am I correct it is equal to 1-p.value (since the default cutoff is 0.995)? - Finally, I am not able to produce some nice plots but don't understand what is going wrong. Anyone else an idea? Thanks, Guido > sample.data class: GenomicMethylSet dim: 485512 20 exptData(0): assays(2): Meth Unmeth rownames(485512): cg13869341 cg14008030 ... cg08265308 cg14273923 rowData metadata column names(0): colnames(20): 7766130001_R01C01 7766130001_R02C01 ... 7766130037_R04C02 7766130037_R05C02 colData names(13): Sample_ID Sample_Plate ... Basename filenames Annotation array: IlluminaHumanMethylation450k annotation: ilmn.v1.2 Preprocessing Method: SWAN (based on a MethylSet preprocesses as 'Raw (no normalization or bg correction)' minfi version: 1.5.2 Manifest version: 0.4.0 > # When minimum number of probes per drm set at 2. > results <- dmrFinder(eset=NULL, groups=groups, p=(assays(sample.data, withDimnames=F)$Meth)/(assays(sample.data, withDimnames=F)$Meth+assays(sample.data, withDimnames=F)$Unmeth),chr=as.character(seqnames(sample.data)), pos=start(sample.data), pns=rownames(sample.data), withinSampleNorm="none", betweenSampleNorm="none", removeIf=expression(nprobes<2), package='IlluminaHumanMethylation') Computing group medians and SDs for 2 groups: 1 2 Done. Smoothing: ====================================================================== ====================================================================== ======================== Done. Finding DMRs for each pairwise comparison. old-young ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... .................................................................0 DMR candidates found using cutoff=0.995. Done > head(results$tabs[[1]]) [1] chr start end p1 p2 regionName indexStart indexEnd nprobes area ttarea diff maxdiff <0 rows> (or 0-length row.names) > > cpg.cur = read.delim("http://rafalab.jhsph.edu/CGI/model-based-cpg- islands-hg19.txt",as.is=TRUE) > > dmrPlot(dmr=results, which.table=1, which.plot=1:5, legend.size=1, + all.lines=FALSE, all.points=FALSE, colors.l=c("blue","red"), + colors.p=c("blue","black"), outpath=".", cpg.islands=cpg.cur, Genome=Hsapiens) Smoothing: ====================================================================== ====================================================================== ======================== Done. Plotting regions in table 1 Plotting region 1 Error in plot.window(...) : need finite 'xlim' values In addition: Warning messages: 1: In min(x) : no non-missing arguments to min; returning Inf 2: In max(x) : no non-missing arguments to max; returning -Inf 3: In min(pos[Index]) : no non-missing arguments to min; returning Inf 4: In max(pos[Index]) : no non-missing arguments to max; returning -Inf ### when minimum number of probes set at 1 > results <- dmrFinder(eset=NULL, groups=groups, p=(assays(sample.data, withDimnames=F)$Meth)/(assays(sample.data, withDimnames=F)$Meth+assays(sample.data, withDimnames=F)$Unmeth),chr=as.character(seqnames(sample.data)), pos=start(sample.data), pns=rownames(sample.data), withinSampleNorm="none", betweenSampleNorm="none", removeIf=expression(nprobes<1), package='IlluminaHumanMethylation') ## Computing group medians and SDs for 2 groups: 1 2 Done. Smoothing: ====================================================================== ====================================================================== ======================== Done. Finding DMRs for each pairwise comparison. old-young ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... .................................................................7482 DMR candidates found using cutoff=0.995. Done > > head(results$tabs[[1]]) chr start end p1 p2 regionName indexStart indexEnd nprobes area ttarea diff maxdiff 159352 chr14 95046686 95046686 0.5991461 0.9343884 cg08210706 147284 147284 1 0.3352423 78.42597 -0.3352423 -0.3352423 349254 chr12 113516445 113516445 0.9081579 0.5608301 cg19353052 117535 117535 1 0.3473278 75.86928 0.3473278 0.3473278 183581 chr12 4699232 4699232 0.4798595 0.8823826 cg09581911 101344 101344 1 0.4025231 65.85157 -0.4025231 -0.4025231 459811 chr1 22425642 22425642 0.4948227 0.9094913 cg26348696 10893 10893 1 0.4146686 64.13913 -0.4146686 -0.4146686 385470 chr7 1097952 1097952 0.5278402 0.9391450 cg21655171 414247 414247 1 0.4113047 61.48937 -0.4113047 -0.4113047 217517 chr19 18273012 18273012 0.9377911 0.5412174 cg11594160 233921 233921 1 0.3965737 57.28228 0.3965737 0.3965737 > > dmrPlot(dmr=results, which.table=1, which.plot=1:5, legend.size=1, + all.lines=FALSE, all.points=FALSE, colors.l=c("blue","red"), + colors.p=c("blue","black"), outpath=".", cpg.islands=cpg.cur, Genome=Hsapiens) Smoothing: ====================================================================== ====================================================================== ======================== Done. Plotting regions in table 1 Plotting region 1 Error in matplot(pos[Index], M[Index, showpts], col = tcols, cex = 0.6, : 'x' and 'y' must have same number of rows > > > sessionInfo() R Under development (unstable) (2012-11-21 r61136) Platform: x86_64-w64-mingw32/x64 (64-bit) locale: [1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252 LC_NUMERIC=C [5] LC_TIME=English_United States.1252 attached base packages: [1] parallel stats graphics grDevices utils datasets methods base other attached packages: [1] IlluminaHumanMethylation450kannotation.ilmn.v1.2_0.1.3 IlluminaHumanMethylation450kmanifest_0.4.0 [3] minfi_1.5.2 Biostrings_2.27.7 [5] GenomicRanges_1.11.15 IRanges_1.17.15 [7] reshape_0.8.4 plyr_1.7.1 [9] lattice_0.20-10 charm_2.5.6 [11] genefilter_1.41.0 RColorBrewer_1.0-5 [13] fields_6.7 spam_0.29-2 [15] SQN_1.0.5 nor1mix_1.1-3 [17] mclust_4.0 Biobase_2.19.0 [19] BiocGenerics_0.5.1 loaded via a namespace (and not attached): [1] affxparser_1.31.1 affyio_1.27.1 annotate_1.37.2 AnnotationDbi_1.21.7 beanplot_1.1 BiocInstaller_1.9.4 bit_1.1-9 [8] BSgenome_1.27.1 codetools_0.2-8 corpcor_1.6.4 DBI_0.2-5 ff_2.2-10 foreach_1.4.0 grid_2.16.0 [15] gtools_2.7.0 illuminaio_0.1.3 iterators_1.0.6 limma_3.15.4 MASS_7.3-22 matrixStats_0.6.2 multtest_2.15.0 [22] oligo_1.23.0 oligoClasses_1.21.5 preprocessCore_1.21.0 R.methodsS3_1.4.2 RSQLite_0.11.2 siggenes_1.33.0 splines_2.16.0 [29] stats4_2.16.0 survival_2.36-14 sva_3.5.0 tools_2.16.0 XML_3.95-0.1 xtable_1.7-0 zlibbioc_1.5.0 > [[alternative HTML version deleted]]
Normalization minfi Normalization minfi • 1.6k views
ADD COMMENT

Login before adding your answer.

Traffic: 722 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6