Learn R Programming

ClassifyR (version 1.2.4)

edgeRselection: Feature Selection Based on Differential Expression for RNA-seq

Description

Performs a differential expression analysis between classes and chooses the features which have best resubstitution performance.

Usage

"edgeRselection"(expression, classes, ...) "edgeRselection"(expression, normFactorsOptions = NULL, dispOptions = NULL, fitOptions = NULL, trainParams, predictParams, resubstituteParams, verbose = 3)

Arguments

expression
Either a matrix or ExpressionSet containing the expression values.
classes
A vector of class labels.
normFactorsOptions
A named list of any options to be passed to calcNormFactors.
dispOptions
A named list of any options to be passed to estimateDisp.
fitOptions
A named list of any options to be passed to glmFit.
trainParams
A container of class TrainParams describing the classifier to use for training.
predictParams
A container of class PredictParams describing how prediction is to be done.
resubstituteParams
An object of class ResubstituteParams describing the performance measure to consider and the numbers of top features to try for resubstitution classification.
...
Unused variables from the matrix method passed to the ExpressionSet method.
verbose
A number between 0 and 3 for the amount of progress messages to give. This function only prints progress messages if the value is 3.

Value

A list of length 2. The first element has the features ranked from most important to least important. The second element has the features that were selected to be used for classification.

Details

The differential expression analysis follows the standard edgeR steps of estimating library size normalisation factors, calculating dispersion, in this case robustly, and then fitting a generalised linear model followed by a likelihood ratio test.

References

edgeR: a Bioconductor package for differential expression analysis of digital gene expression data, Mark D. Robinson, Davis McCarthy, and Gordon Smyth, 2010, Bioinformatics, Volume 26 Issue 1, bioinformatics.oxfordjournals.org/content/26/1/139.

Examples

Run this code
  if(require(parathyroidSE) && require(sparsediscrim) && require(PoiClaClu))
  {
    data(parathyroidGenesSE)
    expression <- assays(parathyroidGenesSE)[[1]]
    DPN <- which(colData(parathyroidGenesSE)[, "treatment"] == "DPN")
    control <- which(colData(parathyroidGenesSE)[, "treatment"] == "Control")
    expression <- expression[, c(control, DPN)]
    classes <- rep(c("Contol", "DPN"), c(length(control), length(DPN)))
    expression <- expression[rowSums(expression > 10) > 8, ]
    selected <- edgeRselection(expression, classes,
                               trainParams = TrainParams(classifyInterface, TRUE, TRUE),
                               predictParams = PredictParams(function(){}, TRUE, 
                                                             getClasses = function(result) result[["ytehat"]]),
                               resubstituteParams = ResubstituteParams(nFeatures = seq(10, 100, 10), performanceType = "balanced", better = "lower"))
  }

Run the code above in your browser using DataLab