Title: | Model-based analysis of DNA methylation data |
---|---|
Description: | This package provides a function for reconstructing DNA methylation values from raw measurements. It iteratively implements the group fused lars to smooth related-by-location methylation values and the constrained least squares to remove probe affinity effect across multiple sequences. |
Authors: | Tao Wang, Mengjie Chen |
Maintainer: | Tao Wang <[email protected]> |
License: | Artistic-2.0 |
Version: | 1.41.0 |
Built: | 2024-11-27 04:39:09 UTC |
Source: | https://github.com/bioc/MBAmethyl |
This package provides functions for reconstructing DNA methylation values from raw measurements. It utilize both the information from biological replicates and neighboring probes by explicitly modeling the probe-specific effect and encouraging the neighboring similarity by a group fused lasso penalty.
Package: | MBAmethyl |
Type: | Package |
Version: | 0.99.0 |
Date: | 2014-08-24 |
License: | Artistic-2.0 |
Tao Wang, Mengjie Chen
Maintainer: Tao Wang <[email protected]>
~~ Literature or other references for background information ~~
p <- 80 n <- 40 K <- 2 k <- K - 1 cp <- numeric() L <- c(0, floor(p / K) * (1 : k), p) cp <- floor(p / K) * (1 : k) + 1 ## phi0: probe effects; theta0: true methylation values; part: partition of probe indices phi0 <- runif(p, 0.5, 2.0) theta0 <- matrix(0, p, n) part <- list() for (s in 1 : K) { part[[s]] <- (L[s] + 1) : L[s + 1] phi0[part[[s]]] <- phi0[part[[s]]] / sqrt(mean(phi0[part[[s]]]^2)) } theta0[part[[1]], ] <- rep(1, length(part[[1]])) theta0[part[[2]], ] <- rep(1, length(part[[2]])) error <- matrix(runif(p * n, 0, 0.1), p, n) Y <- theta0 * phi0 + error fit <- MBAmethyl(Y, steps = 10)
p <- 80 n <- 40 K <- 2 k <- K - 1 cp <- numeric() L <- c(0, floor(p / K) * (1 : k), p) cp <- floor(p / K) * (1 : k) + 1 ## phi0: probe effects; theta0: true methylation values; part: partition of probe indices phi0 <- runif(p, 0.5, 2.0) theta0 <- matrix(0, p, n) part <- list() for (s in 1 : K) { part[[s]] <- (L[s] + 1) : L[s + 1] phi0[part[[s]]] <- phi0[part[[s]]] / sqrt(mean(phi0[part[[s]]]^2)) } theta0[part[[1]], ] <- rep(1, length(part[[1]])) theta0[part[[2]], ] <- rep(1, length(part[[2]])) error <- matrix(runif(p * n, 0, 0.1), p, n) Y <- theta0 * phi0 + error fit <- MBAmethyl(Y, steps = 10)
This function reconstructs DNA methylation values from raw measurements. It iteratively implements the group fused lars to smooth related-by-location methylation values and the constrained least squares to remove probe affinity effect across multiple sequences. It also contains a criterion-based method (AIC or BIC) for selecting the tuning paramter.
MBAmethyl(Y, wts = .defaultWeights(nrow(Y)), steps = min(dim(Y)) - 1)
MBAmethyl(Y, wts = .defaultWeights(nrow(Y)), steps = min(dim(Y)) - 1)
Y |
An observed matrix (p x n) of methylation values (beta values); p is the number of probes and n is the number of samples; |
wts |
A pre-specified vector of weights. By default, we use the probe index-dependent weight scheme, $wts_i = sqrt(p / i / (p - i))$ for $i = 1, ... , p$; |
steps |
Limit the number of steps taken. One can use this option to perform early stopping. |
ans.aic |
A list corresponds to the AIC, containing estimated beta values, estimated probed effects, estimated change-point locations, residual sum of squares, and degree of freedom. |
ans.bic |
A list corresponds to the BIC, containing estimated beta values, estimated probed effects, estimated change-point locations, residual sum of squares, and degree of freedom. |
Tao Wang, Mengjie Chen
paper under review
p <- 80 n <- 40 K <- 2 k <- K - 1 cp <- numeric() L <- c(0, floor(p / K) * (1 : k), p) cp <- floor(p / K) * (1 : k) + 1 ## phi0: probe effects; theta0: true methylation values; part: partition of probe indices phi0 <- runif(p, 0.5, 2.0) theta0 <- matrix(0, p, n) part <- list() for (s in 1 : K) { part[[s]] <- (L[s] + 1) : L[s + 1] phi0[part[[s]]] <- phi0[part[[s]]] / sqrt(mean(phi0[part[[s]]]^2)) } theta0[part[[1]], ] <- rep(1, length(part[[1]])) theta0[part[[2]], ] <- rep(1, length(part[[2]])) error <- matrix(runif(p * n, 0, 0.1), p, n) Y <- theta0 * phi0 + error fit <- MBAmethyl(Y, steps = 10)
p <- 80 n <- 40 K <- 2 k <- K - 1 cp <- numeric() L <- c(0, floor(p / K) * (1 : k), p) cp <- floor(p / K) * (1 : k) + 1 ## phi0: probe effects; theta0: true methylation values; part: partition of probe indices phi0 <- runif(p, 0.5, 2.0) theta0 <- matrix(0, p, n) part <- list() for (s in 1 : K) { part[[s]] <- (L[s] + 1) : L[s + 1] phi0[part[[s]]] <- phi0[part[[s]]] / sqrt(mean(phi0[part[[s]]]^2)) } theta0[part[[1]], ] <- rep(1, length(part[[1]])) theta0[part[[2]], ] <- rep(1, length(part[[2]])) error <- matrix(runif(p * n, 0, 0.1), p, n) Y <- theta0 * phi0 + error fit <- MBAmethyl(Y, steps = 10)