gespeR-package {gespeR} | R Documentation

## Package: Gene-Specific Phenotype EstimatoR

### Description

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.

### Author(s)

Fabian Schmich | Computational Biology Group, ETH ZURICH | fabian.schmich@bsse.ethz.ch

### References

Fabian Schmich et. al, Deconvoluting Off-Target Confounded RNA Interference Screens (2014).

### See Also

`gespeR`

### Examples

    # 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)
    }

[Package gespeR version 1.18.0 Index]