CHANGES IN DMRcate VERSION 3.0.9

- getCollapsedBetas() added to facilitate extraction of beta values post-annotation for EPICv2

CHANGES IN DMRcate VERSION 3.0.7

- rmSNPandCH() for EPICv2 removes all CH probes when rmcrosshyb=T, not just those with WGBS evidence

CHANGES IN DMRcate VERSION 3.0.6

- Annotation of EPICv2 now incorporates IlluminaHumanMethylationEPICv2anno.20a1.hg38
- rmPosReps rolled into cpg.annotate()
- Fisher, Stouffer, HMFDR fixed, ty Josh Scurll

CHANGES IN DMRcate VERSION 3.0.4
- Group means prettified by Braydon Meyer
- Bugfix in rmSNPandCH() ty Davide Baldazzi

CHANGES IN DMRcate VERSION 3.0.0

- Full utility for EPICv2 implemented. DMRs can now be called from the new Illumina Infinium MethylationEPIC v2.0 BeadChip same as the usual pipeline, save for replicate probe filtering (mandatory) and remapping of cross-hybridising probes (optional).
- Annotation package EPICv2manifest is used as a backend for cpg.annotate().
- A new function, rmPosReps(), gives multiple user options for filtering replicate probes mapping to the same CpG site. The mean can be taken, or, based on Peters et al. (2024) (see documentation), the probe that is most precise or sensitive to methylation change may be selected.
- Many thanks to Braydon Meyer and Ruth Pidsley for constructive input and beta testing.

CHANGES IN DMRcate VERSION 2.16.1

- DSS dependency removed

CHANGES IN DMRcate VERSION 2.15.1

- DMR.plot() updated: ellipsis removed; biomaRt gene tracks now used; collapseTranscripts="meta"; exonAnnotation="symbol"; overlapping regions plotted as optional extra
- goregion() ontology changed to KEGG and for hypomethylated DMRs only

CHANGES IN DMRcate VERSION 2.8.1

- CITATION updated.


CHANGES IN DMRcate VERSION 2.0.0
- Full utility for WGBS and RRBS assays implemented using sequencing.annotate(): Users can either input a) A BSseq object and model matrix from edgeR::modelMatrixMeth, or b) Output from DSS::DMLtest() or DSS::DMLtest.multiFactor(),
- Major reconstruction of class types in S4: a S3 "annot" object is now a S4 "CpGannotated" object and a S3 "dmrcate.output" object has had its "input" and "pcutoff" slots removed, and "results" are now represented in an S4
- Improved DMR.plot() using more detailed transcript annotation from hg19, hg38 and mm10 GeneRegionTracks from updated DMRcatedata, as well as smoothed group means (group specified via "phen.col" argument). For bisulfite sequencing assays, the CpGs argument now takes a BSseq object instead of a GRanges object
- Extra DMR-level summary statistics including Fisher's multiple comparison test and harmonic mean of individual CpG FDRs
- Addition of the changeFDR() utility function that allows the re-thresholding of a "CpGannotated" object without fitting the entire model again
- Simplification of the rmSNPandCH() function
- Overlapping.promoters in extractRanges() are now overlapping.genes
- All vignette examples use ExperimentHub data
- Extra data object from DMRcatedata needed for rmSNPandCH(), extractRanges() and DMR.plot() are now in ExperimentHub
- Removal of the "p.adjust.method" argument to dmrcate() - it is confusing since thresholding should be performed at the (cpg|sequencing).annotate level
- Removal of the "samps" argument to DMR.plot() - it is redundant and usage can be specified by subsetting "CpGs" and "phen.col"
- Multicore processing removed since WGBS DMRs should be able to be produced in serial in < 1 hour


CHANGES IN DMRcate VERSION 1.12.1
- Peak closing sped up with Segment.R

CHANGES IN DMRcate VERSION 1.10.2
- Bugfix for when there are no significant CpG sites at the given threshold

CHANGES IN DMRcate VERSION 1.10.1

- Data filtering for EPIC arrays now incorporates probe information (via DMRcatedata_1.8.3) from Pidsley and Zotenko et al. (2016) Genome Biology 17(1), 208.
- Two new modules are now available in cpg.annotate() in addition to "differential" and "variability": "ANOVA" and "diffVar". "ANOVA" will find whole-experiment DMRs from the entire set of contrasts in the design matrix; "diffVar" finds differentially variable regions (DVMRs) using functionality from the missMethyl package.
- Class GenomicRatioSet (minfi) can now be passed to cpg.annotate().

CHANGES IN DMRcate VERSION 1.8.5

- DMRs can now be called from Illumina's EPIC array. Workflow is identical to that of 450K, just with a different annotation argument to cpg.annotate() and DMR.plot().

CHANGES IN DMRcate VERSION 1.7.2

- Major changes. WGBS pipeline is now implemented with DSS as a regression step instead of limma. 450K pipeline is the same, but with slight cosmetic changes in anticipation of the transition to the EPIC array.
- DMR.plot() has been completely rewritten, now with Gviz and inbuilt transcript annotation for hg19, hg38 and mm10.
- DMRs are now ranked by the Stouffer transformations of the limma- and DSS- derived FDRs of their constituent CpG sites.

CHANGES IN DMRcate VERSION 1.4.1 

- Extra control for Type I error through DMR constituents made commensurate with # of differential limma probes
- CITATIONs added

CHANGES IN DMRcate VERSION 1.0.2

BUG FIXES
-	annotate() renamed to cpg.annotate to avoid clashes with same-named function in ggplot2

NEW FEATURES
-	Kernel estimator has been rewritten from scratch without the need for ks:::kde. Now only takes moderated t-values as cpg weights, as required by the chi-square transformation. 
-	Now allows for multi-level factor experiments, as allowed by limma. Contrasts should be specified with a contrast matrix, otherwise the design matrix MUST have an intercept. (Thanks to Tim Triche Jr. and David Martino for their advice).
-	A GRanges object can be produced from the results.
-	XY probes can also be filtered out using rmSNPandCH().
-	DMR.plot() allows group median lines to be plotted to better visualise distances between groups (Thanks to Susan van Dijk and Magnus Tobiasson for their advice).

