Description Usage Arguments Details Value Author(s) References See Also Examples
View source: R/pathwayFunctions.R
The regulatory relationships between DNA copy number and gene expression within a pathway are modeled by a simulteneous-equations model. Parameters of this model are fitted by minimizing of a penalized least squares criterion. The employed penalty is that of the lasso, encouraging sparsity.
1 2 | pathway1sample(Y, X, lambda1 = 1, constr = TRUE, startCis=numeric(),
startTrans=matrix(), verbose = FALSE)
|
Y |
|
X |
|
lambda1 |
|
constr |
|
startCis |
|
startTrans |
|
verbose |
|
The model is fitted equation-by-equation. This is warranted by the assumption of independent errors. The expression levels of one gene is regressed on its own DNA copy number data and the expression levels of all other genes in the pathway.
Object of class pathwayFit
.
Wessel N. van Wieringen: w.vanwieringen@vumc.nl
Van Wieringen, W.N., Van de Wiel, M.A. (2012), "Modeling the cis- and trans-effect of DNA copy number aberrations on gene expression levels in a pathway", submitted for publication.
See also pathwayFit
and pathway2sample
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | # set number of genes (p) and samples (n)
p <- 10
n <- 1000
# sample cis-effects
beta <- abs(rnorm(p))
# sample trans-effects
Theta <- matrix(sample(c(-1,1), p^2, replace=TRUE, prob=c(0.2, 0.8)), ncol=p) *
matrix(runif(p^2), ncol=p) / 4
diag(Theta) <- 1
# sample error variances
Sigma <- diag(rchisq(p, df=1)/5 + 0.5)
# sample DNA copy number data
X <- matrix(runif(n*p, min=-2, max=2), ncol=p)
# sample gene expression data
Y <- t(apply(X, 1, function(Y, beta){ Y * beta }, beta=beta)) %*% t(solve(Theta)) +
rmvnorm(n, sigma=solve(Theta) %*% Sigma %*% t(solve(Theta)))
# fit model
pFit <- pathway1sample(Y, X, lambda1=1, verbose=TRUE)
# compare fit to "truth" for cis-effects
plot(pFit@Cis ~ beta, pch=20)
# compare fit to "truth" for trans-effects
penFits <- c(pFit@Trans[upper.tri(Theta)], pFit@Trans[lower.tri(Theta)])
truth <- c(Theta[upper.tri(Theta)], Theta[lower.tri(Theta)])
plot(penFits ~ truth, pch=20)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.