eSet                 package:Biobase                 R Documentation

Class to Contain High-Throughput Assays and Experimental Metadata

Description:

     Container for high-throughput assays and experimental metadata.
     Classes derived from 'eSet' contain one or more identical-sized
     matrices as 'assayData' elements. Derived classes (e.g.,
     'ExpressionSet-class', 'SnpSet-class') specify which elements must
     be present in the 'assayData' slot.

     'eSet' object cannot be instantiated directly; see the examples
     for usage.

Creating Objects:

     'eSet' is a virtual class, so instances cannot be created.

     Objects created under previous definitions of 'eSet-class' can be
     coerced to the current classes derived from 'eSet' using
     'updateOldESet'.

Slots:

     Introduced in 'eSet':

     'assayData': Contains matrices with equal dimensions, and with
          column number equal to 'nrow(phenoData)'.
          Class:'AssayData-class'

     'phenoData': Contains experimenter-supplied variables describing
          sample (i.e., columns in 'assayData') phenotypes. Class:
          'AnnotatedDataFrame-class'

     'featureData': Contains variables describing features (i.e., rows
          in 'assayData') unique to this experiment. Use the
          'annotation' slot to efficiently reference feature data
          common to the annotation package used in the experiment.
          Class: 'AnnotatedDataFrame-class' 

     'experimentData': Contains details of experimental methods. Class:
          'MIAME-class'

     'annotation': Label associated with the annotation package used in
          the experiment. Class: 'character'

     'protocolData': Contains microarray equipment-generated variables
          describing sample (i.e., columns in 'assayData') phenotypes.
          Class: 'AnnotatedDataFrame-class'

     '.__classVersion__': A 'Versions' object describing the R and
          Biobase version numbers used to created the instance.
          Intended for developer use.

Methods:

     Methods defined in derived classes (e.g., 'ExpressionSet-class',
     'SnpSet-class') may override the methods described here.

     Class-specific methods:

     'sampleNames(object)' and 'sampleNames(object)<-value': Coordinate
          accessing and setting sample names in 'assayData' and
          'phenoData'

     'featureNames(object)', 'featureNames(object) <- value': 
          Coordinate accessing and setting of feature names (e.g,
          genes, probes) in 'assayData'.

     'dims(object)': Access the common dimensions ('dim') or column
          numbers ('ncol'), or dimensions of all members ('dims') of
          'assayData'.

     'phenoData(object)', 'phenoData(object) <- value': Access and set
          'phenoData'. Adding new columns to 'phenoData' is often more
          easily done with 'eSetObject[["columnName"]] <- value'.

     'pData(object)', 'pData(object) <- value': Access and set sample
          data information. Adding new columns to 'pData' is often more
          easily done with 'eSetObject[["columnName"]] <- value'.

     'varMetadata(object)', 'varMetadata(eSet,value)' Access and set
          metadata describing variables reported in 'pData'

     'varLabels(object)', 'varLabels(eSet,              value)<-': 
          Access and set variable labels in 'phenoData'.

     'featureData(object)', 'featureData(object) <- value': Access and
          set 'featureData'.

     'fData(object)', 'fData(object) <- value': Access and set feature
          data information.

     'fvarMetadata(object)', 'fvarMetadata(eSet,value)' Access and set
          metadata describing features reported in 'fData'

     'fvarLabels(object)', 'fvarLabels(eSet, value)<-': Access and set
          variable labels in 'featureData'. 

     'assayData(object), assayData(object) <- value': 'signature(object
          = "eSet", value = "AssayData")': Access and replace the
          'AssayData' slot of an 'eSet' instance. 'assayData' returns a
          list or environment; elements in 'assayData' not accessible
          in other ways (e.g., via 'exprs' applied directly to the
          'eSet') can most reliably be accessed with, e.g.,
          'assayData(obj)[["se.exprs"]]'.

     'experimentData(object)','experimentData(object) <- value': Access
          and set details of experimental methods

     'description(object)','description(object) <- value': Synonymous
          with experimentData.

     'notes(object)','notes(object) <- value': 
          'signature(object="eSet", value="list")' Retrieve and set
          unstructured notes associated with 'eSet'.
          'signature(object="eSet", value="character")' As with
          value="list", but _append_ value to current list of notes.

     'pubMedIds(object)', 'pubMedIds(eSet,value)' Access and set PMIDs
          in 'experimentData'.

     'abstract(object)': Access abstract in 'experimentData'.

     'annotation(object)', 'annotation(object) <- value' Access and set
          annotation label indicating package used in the experiment.

     'protocolData(object)', 'protocolData(object) <- value' Access and
          set the protocol data.

     'preproc(object)', 'preproc(object) <- value': 
          'signature(object="eSet", value="list")' Access and set
          'preprocessing' information in the 'MIAME-class' object
          associated with this 'eSet'.

     'combine(eSet,eSet)': Combine two 'eSet' objects. To be combined,
          eSets must have identical numbers of 'featureNames', distinct
          'sampleNames', and identical 'annotation'.

     'storageMode(object)', 'storageMode(eSet,character)<-': Change
          storage mode of 'assayData'. Can be used to 'unlock'
          environments, or to change between 'list' and 'environment'
          modes of storing 'assayData'.

     Standard generic methods:

     'initialize(object)': Object instantiation, can be called by
          derived classes but not usually by the user.

     'validObject(object)': Validity-checking method, ensuring (1) all
          assayData components have the same number of features and
          samples; (2) the number and names of 'phenoData' rows match
          the number and names of 'assayData' columns

     'as(eSet, "ExpressionSet")' Convert instance of class '"eSet"' to
          instance of 'ExpressionSet-class', if possible.

     'as(eSet, "MultiSet")' Convert instance of class '"eSet"' to
          instance of 'MultiSet-class', if possible.

     'updateObject(object, ..., verbose=FALSE)' Update instance to
          current version, if necessary. Usually called through class
          inheritance rather than directly by the user. See
          'updateObject'

     'updateObjectTo(object, template, ..., verbose=FALSE)' Update
          instance to current version by updating slots in 'template',
          if necessary. Usually call by class inheritance, rather than
          directly by the user. See 'updateObjectTo'

     'isCurrent(object)' Determine whether version of object is
          current. See 'isCurrent'

     'isVersioned(object)' Determine whether object contains a
          'version' string describing its structure . See 'isVersioned'

     'show(object)' Informatively display object contents.

     'dim(object)', 'ncol' Access the common dimensions ('dim') or
          column numbers ('ncol'), of all memebers ('dims') of
          'assayData'.

     'object[(index)': Conducts subsetting of matrices and phenoData
          components 

     'object$name', 'object$name<-value' Access and set 'name' column
          in 'phenoData'

     'object[[i, ...]]', 'object[[i, ...]]<-value' Access and set
          column 'i' (character or numeric index) in 'phenoData'. The
          ... argument can include named variables (especially
          'labelDescription') to be added to varMetadata.

     Additional functions:

     assayDataElement(object, element) Return matrix 'element' from
          'assayData' slot of 'object'.

     assayDataElement(object, element) <- value) Set element 'element'
          in 'assayData' slot of 'object' to matrix 'value'

     assayDataElementReplace(object, element, value) Set element
          'element' in 'assayData' slot of 'object' to matrix 'value'

     assayDataElementNames(object) Return element names in 'assayData'
          slot of 'object'

     'updateOldESet' Update versions of 'eSet' constructued using
          'listOrEnv' as 'assayData' slot (before May, 2006).

Author(s):

     Biocore team

See Also:

     Method use in 'ExpressionSet-class'. Related  classes
     'AssayData-class', 'AnnotatedDataFrame-class', 'MIAME-class'.
     Derived classes 'ExpressionSet-class', 'SnpSet-class'. To update
     objects from previous class versions, see 'updateOldESet'.

Examples:

     # update previous eSet-like class oldESet to existing derived class
     ## Not run: updateOldESet(oldESet, "ExpressionSet")

     # create a new, ad hoc, class, for personal use
     # all methods outlined above are available automatically
     setClass("MySet", contains="eSet")
     new("MySet")

     # Create a more robust class, with initialization and validation methods
     # to ensure assayData contains specific matricies
     setClass("TwoColorSet", contains="eSet")

     setMethod("initialize", "TwoColorSet",
               function(.Object,
                        phenoData = new("AnnotatedDataFrame"),
                        experimentData = new("MIAME"),
                        annotation = character(),
                        R = new("matrix"),
                        G = new("matrix"),
                        Rb = new("matrix"),
                        Gb = new("matrix"),
                        ... ) {
                 callNextMethod(.Object,
                                phenoData = phenoData,
                                experimentData = experimentData,
                                annotation = annotation,
                                R=R, G=G, Rb=Rb, Gb=Gb,
                                ...)
               })

     setValidity("TwoColorSet", function(object) {
       assayDataValidMembers(assayData(object), c("R", "G", "Rb", "Gb"))
     })

     new("TwoColorSet")

     # eSet objects cannot be instantiated directly, only derived objects
     try(new("eSet"))

     removeClass("MySet")
     removeClass("TwoColorSet")
     removeMethod("initialize", "TwoColorSet")

