NChannelSet-class          package:Biobase          R Documentation

Class to contain data from multiple channel array technologies

Description:

     Container for high-throughput assays and experimental meta-data.
     Data are from experiments where a single 'chip' contains several
     (more than 1) different 'channels'. All channels on a chip have
     the same set of'features'. An experiment consists of a collection
     of several N-channel chips; each chip is a 'sample'.

     An 'NChannelSet' provides a way to coordinate assay data
     (expression values) with phenotype information and references to
     chip annotation data; it extends the 'eSet' class.

     An 'NChannelSet' allows channels to be extracted (using the
     'channels' method, mentioned below), and subsets of features or
     samples to be selected (using '[<features>, <samples>]').
     Selection and subsetting occur so that relevant phenotypic data is
     maintained by the selection or subset.

Objects from the Class:

     Objects can be created by calls of the form 'new("NChannelSet",
     assayData, phenoData, ...)'. See the examples below.

Slots:


     'assayData': Object of class 'AssayData', usually an environment
          containing matrices of identical size. Each matrix represents
          a single channel. Columns in each matrix correspond to
          samples, rows to features. Once created, 'NChannelSet'
          manages coordination of samples and channels.


     'phenoData': Object of class 'AnnotatedDataFrame'.

          The 'data' component of the 'AnnotatedDataFrame' is
          'data.frame' with number of rows equal to the number of
          samples. Columns of the 'data' component correspond to
          measured covariates.

          The 'varMetadata' component consists of mandatory columns
          'labelDescription' (providing a textual description of each
          column label in the 'data' component) and 'channel'. The
          'channel' of 'varMetadata' is a 'factor', with levels equal
          to the names of the 'assayData' channels, plus the special
          symbol '_ALL_'. The 'channel' column is used to indicate
          which channel(s) the corresponding column in the 'data'
          component of 'AnnotatedDataFrame' correspond;  the '_ALL_'
          symbol indicates that the 'data' column is applicable to all
          channels. 'varMetadata' may contain additional columns with
          arbitrary information.

          Once created, 'NChannelSet' coordinates selection and
          subsetting of channels in 'phenoData'.


     'featureData': Object of class 'AnnotatedDataFrame', used to
          contain feature data that is unique to this experiment;
          feature-level descriptions common to a particular chip are
          usually referenced through the 'annotation' slot.

     'experimentData': Object of class 'MIAME' containing descriptions
          of the experiment.


     'annotation': Object of class '"character"'. Usually a length-1
          character string identifying the chip technology used during
          the experiment. The annotation string is used to retrieve
          information  about features, e.g., using the 'annotation'
          package.

     'protocolData': Object of class '"character"'. A character vector
          identifying the dates the samples were scanned during the
          experiment.

     '.__classVersion__': Object of class 'Versions', containing
          automatically created information about the class definition
          Biobase package version, and other information about the user
          system at the time the instance was created. See
          'classVersion' and 'updateObject' for examples of use.


Extends:

     Class '"eSet"', directly. Class '"VersionedBiobase"', by class
     "eSet", distance 2. Class '"Versioned"', by class "eSet", distance
     3.

Methods:

     Methods with class-specific functionality:

     'channel(object, name, ...)' 'signature(object="NChannelSet",
          name="character")'. Return an 'ExperessionSet' created from
          the channel and corresponding phenotype of argument 'name'.
          'name' must have length 1. Arguments '...' are rarely used,
          but are passed to the 'ExpressionSet' constructor, for
          instance to influence 'storage.mode'.

     'channelNames(object)' 'signature(object = "NChannelSet")'. Obtain
          names of channels contained in 'object'.

     'selectChannels(object, names, ...' 'signature(object =
          "NChannelSet", names = "character")'. Create a new
          'NChannelSet' from 'object', containing only channels in
          'names'. The '...' is not used by this method.

     'object[features, samples]' 'signature(object = "NChannelSet",
          features = "ANY", samples = "ANY")'. Create a new
          'NChannelSet' from 'object', containing only elements
          matching 'features' and 'samples'; either index may be
          missing, or a character, numeric, or logical vector.

     'sampleNames(object) <- value' 'signature(object = "NChannelSet",
          value = "list")' assign each (named) element of 'value' to
          the 'sampleNames' of the correspondingly named elements of
          'assayData' in 'object'.


     Methods with functionality derived from 'eSet': 'annotation',
     'annotation<-', 'assayData', 'assayData<-', 'classVersion',
     'classVersion<-', 'dim', 'dims', 'experimentData',
     'experimentData<-', 'featureData', 'featureData<-', 'phenoData',
     'phenoData<-', 'protocolData', 'protocolData<-', 'pubMedIds',
     'pubMedIds<-', 'sampleNames', 'sampleNames<-', 'storageMode',
     'storageMode<-', 'varMetadata', 'varMetadata<-', 'isCurrent',
     'isVersioned', 'updateObject'.

     Additional methods: 'coerce' ('as', to convert between objects, if
     possible), 'initialize' (used internally for creating objects),
     'show' (invoked automatically when the object is displayed to the
     screen)

Author(s):

     Martin Morgan <mtmorgan@fhcrc.org>

See Also:

     'eSet', 'ExpressionSet'.

Examples:

     ## An empty NChannelSet
     obj <- new("NChannelSet")

     ## An NChannelSet with two channels (R, G) and no phenotypic data
     obj <- new("NChannelSet",
                R=matrix(0,10,5), G=matrix(0,10,5))
     ## An NChannelSet with two channels and channel-specific phenoData
     R <- matrix(0, 10, 3, dimnames=list(NULL, LETTERS[1:3]))
     G <- matrix(1, 10, 3, dimnames=list(NULL, LETTERS[1:3]))
     assayData <- assayDataNew(R=R, G=G)
     data <- data.frame(ChannelRData=numeric(ncol(R)),
                        ChannelGData=numeric(ncol(R)),
                        ChannelRAndG=numeric(ncol(R)))
     varMetadata <- data.frame(labelDescription=c(
                                 "R-specific phenoData",
                                 "G-specific phenoData",
                                 "Both channel phenoData"),
                               channel=factor(c("R", "G", "_ALL_")))
     phenoData <- new("AnnotatedDataFrame",
                      data=data, varMetadata=varMetadata)
     obj <- new("NChannelSet",
                assayData=assayData, phenoData=phenoData)
     obj

     ## G channel as NChannelSet
     selectChannels(obj, "G")

     ## G channel as ExpressionSet
     channel(obj, "G")

     ## Samples "A" and "C"
     obj[,c("A", "C")]

