dmrcate(object, lambda = 1000, C=NULL, p.adjust.method = "BH", pcutoff = "fdr", consec = FALSE, conseclambda = 10, betacutoff = NULL, min.cpgs = 2, mc.cores = 1 )
cpg.annotate
.
lambda
between significant CpG sites
will be in separate DMRs. Support is truncated at 5*lambda
. Default is 1000
nucleotides. See details for further info.
lambda
/C
= sigma. Empirical testing shows that, for 450k data when lambda=1000
, near-optimal prediction of sequencing-derived DMRs is obtained when C
is approximately 2, i.e. 1 standard deviation of Gaussian kernel = 500 base pairs. Should be a lot larger for sequencing data - suggest C=50. Cannot be < 0.2.
"BH"
(Benjamini-Hochberg).
limma
or DSS
for that contrast, but can be set manually with a numeric value.
DMRcate
in consecutive mode. Treats CpG sites as equally spaced.
consec=TRUE
. When specified the variable lambda
simply
becomes the minumum distance separating DMRs.
detectCores()
and htop in your terminal to check your resource
ceiling before increasing the default.
input
and results
) and a numeric value (cutoff
). input
contains the contents of the annot
object, plus calculated p-values:
ID
: As per annotation object input
stat
: As per annotation object input
CHR
: As per annotation object input
pos
: As per annotation object input
betafc
: As per annotation object input
raw
: Raw p-values from the significance test
fdr
: Adjusted p-values from the significance test
step.dmr
: Vector denoting the start of a new DMR (TRUE),
constitutive of a DMR, but not the start (FALSE), or non-DMR (NA).
results
contains an annotated data.frame of significant
regions, ranked by Stouffer
:
coord
: Coordinates of the significant region in
hg19. IGV- and UCSC-friendly.
no.cpgs
: Number of CpG sites constituting the significant
region. Tie-breaker when sorting by Stouffer
.
minfdr
: Minimum adjusted p-value from the CpGs constituting the
significant region.
Stouffer
: Stouffer transformation of the group of
limma- or DSS-derived fdrs for individual CpG sites as DMR constituents.
maxbetafc
: Maximum absolute beta fold change within the region
meanbetafc
: Mean beta fold change within the region.
cutoff
is the signficance p-value cutoff provided in the call to dmrcate
.
The values of lambda
and C
should be chosen with care. For array data, we currently recommend that half a kilobase represent 1 standard deviation of support (lambda=1000
and C=2
), and 20bp (C=50
) for WGBS data. If lambda
is too small or C
too large then the kernel estimator will not have enough support to significantly differentiate the weighted estimate from the null distribution. If lambda
is too large then dmrcate
will report very long DMRs spanning multiple gene loci, and the large amount of support will likely give Type I errors. If you are concerned about Type I errors we recommend using the default value of pcutoff
, although this will return no DMRs if no DM CpGs are returned by limma/DSS
either.
Peters T.J., Buckley M.J., Statham, A., Pidsley R., Samaras K., Lord R.V., Clark S.J. and Molloy P.L. De novo identification of differentially methylated regions in the human genome. Epigenetics & Chromatin 2015, 8:6, doi:10.1186/1756-8935-8-6
Wand, M.P. & Jones, M.C. (1995) Kernel Smoothing. Chapman & Hall.
Duong T. (2013) Local significant differences from nonparametric two-sample tests. Journal of Nonparametric Statistics. 2013 25(3), 635-645.
## Not run:
# data(dmrcatedata)
# myMs <- logit2(myBetas)
# myMs.noSNPs <- rmSNPandCH(myMs, dist=2, mafcut=0.05)
# patient <- factor(sub("-.*", "", colnames(myMs)))
# type <- factor(sub(".*-", "", colnames(myMs)))
# design <- model.matrix(~patient + type)
# myannotation <- cpg.annotate(myMs.noSNPs, analysis.type="differential",
# design=design, coef=39)
# dmrcoutput <- dmrcate(myannotation, lambda=1000)
# ## End(Not run)
Run the code above in your browser using DataLab