Description Author(s) References See Also Examples
This package provides a model to deconvolute off-target confounded RNAi knockdown phentypes, and methods to investigate concordance between ranked lists of (estimated) phenotypes. The regularized linear regression model can be fitted using two different strategies. (a) Cross-validation over regularization parameters optimising the mean-squared-error of the model and (b) stability selection of covariates (genes) based on a method by Nicolai Meinshausen et al.
Fabian Schmich | Computational Biology Group, ETH ZURICH | fabian.schmich@bsse.ethz.ch
Fabian Schmich et. al, Deconvoluting Off-Target Confounded RNA Interference Screens (2014).
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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | # Read phenotypes
phenos <- lapply(LETTERS[1:4], function(x) {
sprintf("Phenotypes_screen_%s.txt", x)
})
phenos <- lapply(phenos, function(x) {
Phenotypes(system.file("extdata", x, package="gespeR"),
type = "SSP",
col.id = 1,
col.score = 2)
})
phenos
plot(phenos[[1]])
# Read target relations
tr <- lapply(LETTERS[1:4], function(x) {
sprintf("TR_screen_%s.rds", x)
})
tr <- lapply(tr, function(x) {
TargetRelations(system.file("extdata", x, package="gespeR"))
})
tr[[1]]
tempfile <- paste(tempfile(pattern = "file", tmpdir = tempdir()), ".rds", sep="")
tr[[1]] <- unloadValues(tr[[1]], writeValues = TRUE, path = tempfile)
tr[[1]]
tr[[1]] <- loadValues(tr[[1]])
tr[[1]]
# Fit gespeR models with cross validation
res.cv <- lapply(1:length(phenos), function(i) {
gespeR(phenotypes = phenos[[i]],
target.relations = tr[[i]],
mode = "cv",
alpha = 0.5,
ncores = 1)
})
summary(res.cv[[1]])
res.cv[[1]]
plot(res.cv[[1]])
# Extract scores
ssp(res.cv[[1]])
gsp(res.cv[[1]])
head(scores(res.cv[[1]]))
# Fit gespeR models with stability selection
res.stab <- lapply(1:length(phenos), function(i) {
gespeR(phenotypes = phenos[[i]],
target.relations = tr[[i]],
mode = "stability",
nbootstrap = 100,
fraction = 0.67,
threshold = 0.75,
EV = 1,
weakness = 0.8,
ncores = 1)
})
summary(res.stab[[1]])
res.stab[[1]]
plot(res.stab[[1]])
# Extract scores
ssp(res.stab[[1]])
gsp(res.stab[[1]])
head(scores(res.stab[[1]]))
# Compare concordance between stability selected GSPs and SSPs
conc.gsp <- concordance(lapply(res.stab, gsp))
conc.ssp <- concordance(lapply(res.stab, ssp))
pl.gsp <- plot(conc.gsp) + ggtitle("GSPs\n")
pl.ssp <- plot(conc.ssp) + ggtitle("SSPs\n")
if (require(grid)) {
grid.newpage()
pushViewport(viewport(layout = grid.layout(1, 2) ) )
print(pl.gsp, vp = viewport(layout.pos.row = 1, layout.pos.col = 1))
print(pl.ssp, vp = viewport(layout.pos.row = 1, layout.pos.col = 2))
} else {
plot(pl.gsp)
plot(pl.ssp)
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.