Nothing
#' Call Differentially Methylated Regions (DMRs) between two samples
#'
#' Uses bisulfite sequencing data in two conditions and identifies
#' differentially methylated regions between the conditions in CG and
#' non-CG context. The input is the CX report files produced by Bismark
#' and the output is a list of DMRs stored as GRanges objects.
#'
#' The most important functions in the \pkg{DMRcaller} are:
#' \describe{
#' \item{\code{\link{readBismark}}}{reads the Bismark CX report files in a
#' \code{\link{GRanges}} object.}
#' \item{\code{\link{readBismarkPool}}}{Reads multiple CX report files and
#' pools them together.}
#' \item{\code{\link{saveBismark}}}{saves the methylation data stored in a
#' \code{\link{GRanges}} object into a Bismark CX report file.}
#' \item{\code{\link{poolMethylationDatasets}}}{pools together multiple
#' methylation datasets.}
#' \item{\code{\link{poolTwoMethylationDatasets}}}{pools together two
#' methylation datasets.}
#' \item{\code{\link{computeMethylationDataCoverage}}}{Computes the coverage
#' for the bisulfite sequencing data.}
#' \item{\code{\link{plotMethylationDataCoverage}}}{Plots the coverage for the
#' bisulfite sequencing data.}
#' \item{\code{\link{computeMethylationDataSpatialCorrelation}}}{Computes the
#' correlation between methylation levels as a function of the distances
#' between the Cytosines.}
#' \item{\code{\link{plotMethylationDataSpatialCorrelation}}}{Plots the
#' correlation of methylation levels for Cytosines located at a certain
#' distance apart.}
#' \item{\code{\link{computeMethylationProfile}}}{Computes the low resolution
#' profiles for the bisulfite sequencing data at certain locations.}
#' \item{\code{\link{plotMethylationProfile}}}{Plots the low resolution
#' profiles for the bisulfite sequencing data at certain locations.}
#' \item{\code{\link{plotMethylationProfileFromData}}}{Plots the low resolution
#' profiles for the loaded bisulfite sequencing data.}
#' \item{\code{\link{computeDMRs}}}{Computes the differentially methylated
#' regions between two conditions.}
#' \item{\code{\link{filterDMRs}}}{Filters a list of (potential) differentially
#' methylated regions.}
#' \item{\code{\link{mergeDMRsIteratively}}}{Merge DMRs iteratively.}
#' \item{\code{\link{analyseReadsInsideRegionsForCondition}}}{Analyse reads
#' inside regions for condition.}
#' \item{\code{\link{plotLocalMethylationProfile}}}{Plots the methylation
#' profile at one locus for the bisulfite sequencing data.}
#' \item{\code{\link{computeOverlapProfile}}}{Computes the distribution of a
#' set of subregions on a large region.}
#' \item{\code{\link{plotOverlapProfile}}}{Plots the distribution of a set of
#' subregions on a large region.}
#' \item{\code{\link{getWholeChromosomes}}}{Computes the GRanges objects with
#' each chromosome as an element from the methylationData.}
#' \item{\code{\link{joinReplicates}}}{Merges two GRanges objects with single
#' reads columns. It is necessary to start the analysis of DMRs with
#' biological replicates.}
#' \item{\code{\link{computeDMRsReplicates}}}{Computes the differentially
#' methylated regions between two conditions with multiple
#' biological replicates.}
#' }
#'
#' @author
#' Nicolae Radu Zabet \email{n.r.zabet@@gen.cam.ac.uk},
#' Jonathan Michael Foonlan Tsang \email{jmft2@@cam.ac.uk}
#' Alessandro Pio Greco \email{apgrec@@essex.ac.uk}
#'
#' Maintainer: Nicolae Radu Zabet \email{n.r.zabet@@gen.cam.ac.uk}
#' @name DMRcaller
#' @docType package
#' @import GenomicRanges
#' @import IRanges
#' @import S4Vectors
#' @import Rcpp
#' @importFrom RcppRoll roll_sum
#' @importFrom parallel mclapply
#' @examples
#' \dontrun{
#' # load the methylation data
#' data(methylationDataList)
#'
#' #plot the low resolution profile at 5 Kb resolution
#' par(mar=c(4, 4, 3, 1)+0.1)
#' plotMethylationProfileFromData(methylationDataList[["WT"]],
#' methylationDataList[["met1-3"]],
#' conditionsNames=c("WT", "met1-3"),
#' windowSize = 5000, autoscale = TRUE,
#' context = c("CG", "CHG", "CHH"),
#' labels = LETTERS)
#'
#' # compute low resolution profile in 10 Kb windows in CG context
#' lowResProfileWTCG <- computeMethylationProfile(methylationDataList[["WT"]],
#' region, windowSize = 10000, context = "CG")
#'
#' lowResProfileMet13CG <- computeMethylationProfile(
#' methylationDataList[["met1-3"]], region,
#' windowSize = 10000, context = "CG")
#'
#' lowResProfileCG <- GRangesList("WT" = lowResProfileWTCG,
#' "met1-3" = lowResProfileMet13CG)
#'
#' # compute low resolution profile in 10 Kb windows in CHG context
#' lowResProfileWTCHG <- computeMethylationProfile(methylationDataList[["WT"]],
#' region, windowSize = 10000, context = "CHG")
#'
#' lowResProfileMet13CHG <- computeMethylationProfile(
#' methylationDataList[["met1-3"]], region,
#' windowSize = 10000, context = "CHG")
#'
#' lowResProfileCHG <- GRangesList("WT" = lowResProfileWTCHG,
#' "met1-3" = lowResProfileMet13CHG)
#'
#' # plot the low resolution profile
#' par(mar=c(4, 4, 3, 1)+0.1)
#' par(mfrow=c(2,1))
#' plotMethylationProfile(lowResProfileCG, autoscale = FALSE,
#' labels = LETTERS[1],
#' title="CG methylation on Chromosome 3",
#' col=c("#D55E00","#E69F00"), pch = c(1,0),
#' lty = c(4,1))
#' plotMethylationProfile(lowResProfileCHG, autoscale = FALSE,
#' labels = LETTERS[2],
#' title="CHG methylation on Chromosome 3",
#' col=c("#0072B2", "#56B4E9"), pch = c(16,2),
#' lty = c(3,2))
#'
#' # plot the coverage in all three contexts
#' plotMethylationDataCoverage(methylationDataList[["WT"]],
#' methylationDataList[["met1-3"]],
#' breaks = 1:15, regions = NULL,
#' conditionsNames = c("WT","met1-3"),
#' context = c("CG", "CHG", "CHH"),
#' proportion = TRUE, labels = LETTERS, col = NULL,
#' pch = c(1,0,16,2,15,17), lty = c(4,1,3,2,6,5),
#' contextPerRow = FALSE)
#'
#' # plot the correlation of methylation levels as a function of distance
#' plotMethylationDataSpatialCorrelation(methylationDataList[["WT"]],
#' distances = c(1,5,10,15), regions = NULL,
#' conditionsNames = c("WT","met1-3"),
#' context = c("CG"),
#' labels = LETTERS, col = NULL,
#' pch = c(1,0,16,2,15,17), lty = c(4,1,3,2,6,5),
#' contextPerRow = FALSE)
#'
#' # the regions where to compute the DMRs
#' regions <- GRanges(seqnames = Rle("Chr3"), ranges = IRanges(1,1E6))
#'
#' # compute the DMRs in CG context with noise_filter method
#' DMRsNoiseFilterCG <- computeDMRs(methylationDataList[["WT"]],
#' methylationDataList[["met1-3"]], regions = regions,
#' context = "CG", method = "noise_filter",
#' windowSize = 100, kernelFunction = "triangular",
#' test = "score", pValueThreshold = 0.01,
#' minCytosinesCount = 4, minProportionDifference = 0.4,
#' minGap = 200, minSize = 50, minReadsPerCytosine = 4,
#' cores = 1)
#'
#' # compute the DMRs in CG context with neighbourhood method
#' DMRsNeighbourhoodCG <- computeDMRs(methylationDataList[["WT"]],
#' methylationDataList[["met1-3"]], regions = regions,
#' context = "CG", method = "neighbourhood",
#' test = "score", pValueThreshold = 0.01,
#' minCytosinesCount = 4, minProportionDifference = 0.4,
#' minGap = 200, minSize = 50, minReadsPerCytosine = 4,
#' cores = 1)
#'
#' # compute the DMRs in CG context with bins method
#' DMRsBinsCG <- computeDMRs(methylationDataList[["WT"]],
#' methylationDataList[["met1-3"]], regions = regions,
#' context = "CG", method = "bins", binSize = 100,
#' test = "score", pValueThreshold = 0.01, minCytosinesCount = 4,
#' minProportionDifference = 0.4, minGap = 200, minSize = 50,
#' minReadsPerCytosine = 4, cores = 1)
#'
#' # load the gene annotation data
#' data(GEs)
#'
#' #select the genes
#' genes <- GEs[which(GEs$type == "gene")]
#'
#' # the regions where to compute the DMRs
#' genes <- genes[overlapsAny(genes, regions)]
#'
#' # filter genes that are differntially methylated in the two conditions
#' DMRsGenesCG <- filterDMRs(methylationDataList[["WT"]],
#' methylationDataList[["met1-3"]], potentialDMRs = genes,
#' context = "CG", test = "score", pValueThreshold = 0.01,
#' minCytosinesCount = 4, minProportionDifference = 0.4,
#' minReadsPerCytosine = 3, cores = 1)
#'
#' #merge the DMRs
#' DMRsNoiseFilterCGLarger <- mergeDMRsIteratively(DMRsNoiseFilterCG,
#' minGap = 500, respectSigns = TRUE,
#' methylationDataList[["WT"]],
#' methylationDataList[["met1-3"]],
#' context = "CG", minProportionDifference=0.4,
#' minReadsPerCytosine = 1, pValueThreshold=0.01,
#' test="score",alternative = "two.sided")
#'
#' #select the genes
#' genes <- GEs[which(GEs$type == "gene")]
#'
#' # the coordinates of the area to be plotted
#' chr3Reg <- GRanges(seqnames = Rle("Chr3"), ranges = IRanges(510000,530000))
#'
#' # load the DMRs in CG context
#' data(DMRsNoiseFilterCG)
#'
#' DMRsCGlist <- list("noise filter"=DMRsNoiseFilterCG,
#' "neighbourhood"=DMRsNeighbourhoodCG,
#' "bins"=DMRsBinsCG,
#' "genes"=DMRsGenesCG)
#'
#'
#' # plot the CG methylation
#' par(mar=c(4, 4, 3, 1)+0.1)
#' par(mfrow=c(1,1))
#' plotLocalMethylationProfile(methylationDataList[["WT"]],
#' methylationDataList[["met1-3"]], chr3Reg,
#' DMRsCGlist, c("WT", "met1-3"), GEs,
#' windowSize=100, main="CG methylation")
#'
#'
#' hotspotsHypo <- computeOverlapProfile(
#' DMRsNoiseFilterCG[(DMRsNoiseFilterCG$regionType == "loss")],
#' region, windowSize=2000, binary=TRUE, cores=1)
#'
#' hotspotsHyper <- computeOverlapProfile(
#' DMRsNoiseFilterCG[(DMRsNoiseFilterCG$regionType == "gain")],
#' region, windowSize=2000, binary=TRUE, cores=1)
#'
#' plotOverlapProfile(GRangesList("Chr3"=hotspotsHypo),
#' GRangesList("Chr3"=hotspotsHyper),
#' names=c("loss", "gain"), title="CG methylation")
#' # loading synthetic data
#' data("syntheticDataReplicates")
#'
#' # creating condition vector
#' condition <- c("a", "a", "b", "b")
#'
#' # computing DMRs using the neighbourhood method
#' DMRsReplicatesNeighbourhood <- computeDMRsReplicates(methylationData = methylationData,
#' condition = condition,
#' regions = NULL,
#' context = "CHH",
#' method = "neighbourhood",
#' test = "betareg",
#' pseudocountM = 1,
#' pseudocountN = 2,
#' pValueThreshold = 0.01,
#' minCytosinesCount = 4,
#' minProportionDifference = 0.4,
#' minGap = 200,
#' minSize = 50,
#' minReadsPerCytosine = 4,
#' cores = 1)
#' }
#'
#'
#' @seealso See \code{vignette("rd", package = "DMRcaller")} for an overview
#' of the package.
NULL
#' @name syntheticDataReplicates
#' @title Simulated data for biological replicates
#' @docType data
#' @description
#' A \code{GRanges} object containing simulated date for methylation in four
#' samples. The conditions assciated witch each sample are a, a, b and b.
#'
#' @format A \code{\link{GRanges}} object containing multiple metadata
#' columns with the reads from each object passed as parameter
#'
#' @source The object was created by calling \code{\link{joinReplicates}}
#' function.
NULL
#' @name GEs
#' @title The genetic elements data
#' @docType data
#' @description
#' A \code{GRanges} object containing the annotation of the Arabidopsis thaliana
#'
#' @format A \code{GRanges} object
#'
#' @source The object was created by calling \code{import.gff3} function
#' from \code{rtracklayer} package for
#' \url{ftp://ftp.arabidopsis.org/Maps/gbrowse_data/TAIR10/TAIR10_GFF3_genes_transposons.gff}
NULL
#' @name methylationDataList
#' @title The methylation data list
#' @description
#' A \code{GRangesList} object containing the methylation data at each cytosine
#' location in the genome in Wild Type (WT) and met1-3 mutant (met1-3) in
#' Arabidopsis thaliana. The data only contains the first 1 Mbp from Chromosome 3.
#'
#' @format The \code{GRanges} elements contain four metadata columns
#' \describe{
#' \item{context}{the context in which the DMRs are computed (\code{"CG"},
#' \code{"CHG"} or \code{"CHH"}).}
#' \item{readsM}{the number of methylated reads.}
#' \item{readsN}{the total number of reads.}
#' \item{trinucleotide_context}{the specific context of the cytosine (H is
#' replaced by the actual nucleotide).}
#' }
#'
#' @source Each element was created by by calling \code{\link{readBismark}}
#' function on the CX report files generated by Bismark
#' \url{http://www.bioinformatics.babraham.ac.uk/projects/bismark/}
#' for \url{http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSM980986} dataset
#' in the case of Wild Type (WT) and
#' \url{http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSM981032}
#' dataset in the case of met1-3 mutant (met1-3).
NULL
#' @name DMRsNoiseFilterCG
#' @title The DMRs between WT and met1-3 in CG context
#' @description
#' A \code{GRangesList} object containing the DMRs between Wild Type (WT) and
#' met1-3 mutant (met1-3) in Arabidopsis thaliana
#' (see \code{\link{methylationDataList}}). The DMRs were computed on the first
#' 1 Mbp from Chromosome 3 with noise filter method using a triangular kernel
#' and a windowSize of 100 bp
#'
#' @format The \code{\link{GRanges}} element contain 11 metadata columns;
#' see \code{\link{computeDMRs}}
#' @seealso \code{\link{filterDMRs}}, \code{\link{computeDMRs}},
#' \code{\link{analyseReadsInsideRegionsForCondition}}
#' and \code{\link{mergeDMRsIteratively}}
#'
NULL
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.