man/class-IcaSet.Rd
14753e6b
 \name{IcaSet}
 \docType{class}
 \alias{class:IcaSet}
 \alias{IcaSet}
 \alias{IcaSet-class}
 
 %\alias{dat}  % pour la generique
 %\alias{dat,IcaSet-method}% # avec la signature de ma classe
 %\alias{dat<-} %# la generique de remplacement
 %\alias{dat<-,IcaSet,matrix-method} %# avec la signature de la classe 
 
 \alias{[}
 \alias{[,ANY,ANY,IcaSet-method}
 \alias{[,IcaSet,ANY-method} 
 \alias{[,IcaSet,ANY,ANY-method} 
 \alias{[,IcaSet,ANY,ANY,ANY-method} 
 \alias{[<-}
 \alias{[<-,IcaSet,ANY,ANY,ANY,ANY-method} 
 \alias{[<-,IcaSet,ANY,ANY,ANY-method} 
 \alias{[<-,IcaSet,ANY,ANY-method} 
 
 \alias{organism}
 \alias{organism<-}
 \alias{organism,IcaSet-method}
 \alias{organism<-,IcaSet-method}
 
 \alias{mart}
 \alias{mart<-}
 \alias{mart,IcaSet-method}
 \alias{mart<-,IcaSet-method}
 \alias{mart<-,IcaSet,character-method}
 \alias{setMart,IcaSet-method}
 \alias{getMart,IcaSet-method}
 
 \alias{chipVersion}
 \alias{chipVersion,IcaSet-method}
 \alias{chipVersion<-}
 \alias{chipVersion<-,IcaSet-method}
 \alias{chipVersion<-,IcaSet,character-method}
 
 %\alias{indComp}
 %\alias{indComp<-}
 \alias{indComp,IcaSet-method}
 \alias{setIndComp,IcaSet-method}
 \alias{getIndComp,IcaSet-method}
 \alias{indComp<-,IcaSet,character-method}
 %\alias{compNames}
 %\alias{compNames<-}
 \alias{compNames,IcaSet-method}
 \alias{setLabelsComp,IcaSet-method}
 \alias{getLabelsComp,IcaSet-method}
 \alias{compNames<-,IcaSet,character-method}
 %\alias{witGenes}
 %\alias{witGenes<-}
 \alias{witGenes,IcaSet-method}
 %\alias{setWitGenes,IcaSet-method}
 %\alias{getWitGenes,IcaSet-method}
 \alias{witGenes<-,IcaSet,character-method}
 \alias{refSamples}
 \alias{refSamples<-}
 \alias{refSamples,IcaSet-method}
 \alias{setRefSamples,IcaSet-method}
 \alias{getRefSamples,IcaSet-method}
 \alias{refSamples<-,IcaSet-method}
 \alias{refSamples<-,IcaSet,character-method}
 \alias{typeID}
 \alias{typeID<-}
 \alias{typeID,IcaSet-method}
 \alias{typeID<-,IcaSet-method}
 \alias{setTypeID,IcaSet-method}
 \alias{getTypeID,IcaSet-method}
 \alias{typeID<-,IcaSet,list-method}
 \alias{chipManu}
 \alias{chipManu<-}
 \alias{chipManu<-,IcaSet-method}
 \alias{chipManu<-,IcaSet,character-method}
 \alias{chipManu,IcaSet-method}
 \alias{setChipManu,IcaSet-method}
 \alias{getChipManu,IcaSet-method}
 
 
 \alias{Slist,IcaSet-method}
 \alias{SlistByGene,IcaSet-method}
 \alias{Alist,IcaSet-method}
 
 
 
 \title{
   Class to Contain and Describe an ICA decomposition of High-Throughput Data.
 }
 
 \description{
   Container for high-throughput data and results of ICA decomposition
   obtained on these data. \code{IcaSet} class is derived from
   \code{\link{eSet}}, and requires a matrix named \code{dat} as
   \code{assayData} member.
 }
 \section{Extends}{
    Directly extends class \code{\link{eSet}}.
 }
 \section{Creating Objects}{
 
   \code{new("IcaSet")}
 
   \code{new("IcaSet",
     annotation = character(0),
     experimentData = new("MIAME"),
     featureData = new("AnnotatedDataFrame"),
     phenoData = new("AnnotatedDataFrame"),
     protocolData = phenoData[,integer(0)],
     dat = new("matrix"),
     A=new("data.frame"),
     S=new("data.frame"), ...)
     }
 
   This creates an \code{IcaSet} with \code{assayData} implicitly
   created to contain \code{dat}. %Additional named matrix arguments
   %with the same dimensions as \code{dat} are added to
   %\code{assayData}; the row and column names of these additional
   %matrices should match those of \code{dat}. 
 
   \code{new("IcaSet",
     annotation = character(0),
     assayData = assayDataNew(dat=new("matrix")),
     experimentData = new("MIAME"),
     featureData = new("AnnotatedDataFrame"),
     phenoData = new("AnnotatedDataFrame"),
     protocolData = phenoData[,integer(0)],
     A=new("data.frame"),
     S=new("data.frame"), ...)
   }
 
   This creates an \code{IcaSet} with \code{assayData} provided
   explicitly. %In this form, the only required named arguments are \code{assayData}.
 
 
   \code{IcaSet} instances are usually created through
   \code{new("IcaSet", ...)}. Usually the arguments to \code{new}
   include \code{dat} ('features x samples', e.g a matrix of expression
   data), \code{phenoData} ('samples x annotations', a
   matrix of sample annotations), \code{S} the Source
   matrix of the ICA decomposition ('features x comp'), \code{A} the Mixing matrix of the ICA
   decomposition ('samples x comp'), \code{annotation} the annotation
   package, \code{typeID} the description of the feature and gene IDs.  
 
   The other attributes can be missing, in which case
   they are assigned default values.
 
   The function \code{\link{buildIcaSet}} is a more convenient way to
   create \code{IcaSet} instances, and allows to automatically annotate
   the features.
 }
 \section{Slots}{
   Inherited from \code{eSet}:
   \describe{
     \item{\code{annotation}:}{See \code{\link{eSet}}}
     \item{\code{assayData}:}{Contains matrices with equal
       dimensions, and with column number equal to
       \code{nrow(phenoData)}. \code{assayData} must contain a matrix
       \code{dat} with rows representing features (e.g., reporters)
       and columns representing samples. Class:\code{\link{AssayData-class}}}
     \item{\code{experimentData}:}{See \code{\link{eSet}}}
     \item{\code{featureData}:}{See \code{\link{eSet}}}
     \item{\code{phenoData}:}{See \code{\link{eSet}}}
     \item{\code{protocolData}:}{See \code{\link{eSet}}}
   
   Specific slot:
 
     \item{\code{organism}:}{Contains the name of the species. Currently
   only Human ("Human" or "Homo sapiens") and Mouse ("Mouse" or "Mus
   musculus") are supported. Only used when \code{chipManu}="illumina"
   }
     \item{\code{mart}:}{An output of \code{\link[biomaRt]{useMart}} of package \code{biomaRt}. Only useful if no annotation package is available for argument \code{icaSet}.
   }
   
   \item{\code{datByGene}:}{Data.frame containing the data \code{dat} where
   features have been replaced by their annotations (e.g, gene IDs). Rows 
   represent annotations of the features (e.g., gene IDs) and
   columns represent samples.}
   \item{\code{A}:}{The mixing matrix of the ICA decomposition, contained
   in a data.frame whose
   column number equals the number of components and row number equals
   \code{nrow(phenoData)} (dimension: 'samples x comp').}
   \item{\code{S}:}{The source matrix of the ICA decomposition, contained
   in a data.frame whose
   column number equals the number of components and row number equals
   \code{nrow(assayData)} (dimension: 'features x comp').}
   \item{\code{SByGene}:}{The matrix Source of the ICA decomposition, contained
   in a data.frame whose
   column number equals the number of components and row number equals
   \code{nrow(datByGene)} (dimension: 'annotatedFeatures x comp').}
   \item{\code{compNames}:}{A vector of component labels with length
   equal to the number of component.}
   \item{\code{indComp}:}{A vector of component indices with length
   equal to the number of component.}
   \item{\code{witGenes}:}{A vector of gene IDs with length
   equal to the number of component.}
   \item{\code{chipManu}:}{The manufacturer of the technology the
   data originates from. Useful for the annotation of the features when
   data originates from an _illumina_ microarray.}
   \item{\code{chipVersion}:}{The version of the chip, only useful for
   when \code{chipManu}="illumina"}
    \item{\code{refSamples}:}{A vector of sample IDs including the reference samples, e.g the "normal" samples.
   Must be included in \code{sampleNames(object)}, i.e in \code{colnames(dat)}.}
    \item{\code{typeID}:}{A vector of characters providing the annotation IDs. It includes
      three elements:
  \describe{ 
  \item{geneID_annotation}{the IDs from the
  package to be used to annotate the features into genes. It will be used to
  fill the attributes \code{datByGene} and \code{SByGene} of the \code{icaSet}.
  It must match one of the objects the corresponding package supports
  (you can access the list of objects by typing ls("package:packagename")). If
  no annotation package is provided, this element is not useful.}
  \item{geneID_biomart}{the type of gene IDs, as available in
  \code{listFilters(mart)}; where mart is specified as described in \code{\link[biomaRt]{useMart}}.
  If you have directly built the IcaSet at the
  gene level (i.e if no annotation package is used), \code{featureID_biomart} and
  \code{geneID_biomart} will be identical.} 
  \item{featureID_biomart}{the
  type of feature IDs, as available in \code{listFilters(mart)}; where
  \code{mart} is specified as described in function \code{\link[biomaRt]{useMart}}.
  Not useful if you work at the gene level.} }}
 
 }
 }
 \section{Methods}{
   
   Class-specific methods.
   \describe{
    
       \item{\code{getComp(IcaSet, ind,
       level=c("features","genes"))}}{Given a component index, extract
       the corresponding sample contribution values from A, and the
       feature (\code{level}="features") or gene (\code{level}="genes")
       projections from S. Returns a list with two elements:
       \code{contrib} the sample contributions and \code{proj} the
       feature or gene projections.}
      
      Access and set any slot specific to IcaSet:
      \item{\code{slotName(IcaSet)}, and
        \code{slotName(IcaSet)<-}:}{Accessing and setting any slot
        of name \code{slotName} contained in an IcaSet object.}
      
     \item{\code{IcaSet["slotName"]}, and
        \code{IcaSet["slotName"]<-}:}{Accessing and setting any slot
        of name \code{slotName} contained in an IcaSet object.}
      
      Most used accessors and settors:
      \item{\code{A(IcaSet)}, and
        \code{A(IcaSet)<-}:}{Accessing and setting Mixing matrix \code{A}.}
      \item{\code{S(IcaSet)}, and
        \code{S(IcaSet)<-}:}{Accessing and setting
        the data.frame Source \code{S}.}
      \item{\code{Slist(IcaSet)}:}{Accessing
        the data.frame Source as a list where names are preserved.}
      \item{\code{SByGene(IcaSet)}, and
        \code{SByGene(IcaSet)<-}:}{Accessing
        and setting the _annotated_ data.frame Source \code{SByGene}.}
      \item{\code{SlistByGene(IcaSet)}:}{Accessing
        the _annotated_ Source matrix as a list where names are preserved.}
       \item{\code{organism(IcaSet)}, \code{organism(IcaSet,characte)<-}}{Access and
 	set value in the \code{organism} slot.}
      \item{\code{dat(IcaSet)}, \code{dat(IcaSet,matrix)<-}}{Access and
        set elements named \code{dat} in the \code{AssayData-class}
        slot.}
 
     }
 
    Derived from \code{\link{eSet}}:
    \describe{
      \item{\code{pData(IcaSet)}, \code{pData(IcaSet,value)<-}:}{See \code{\link{eSet}}}
      \item{\code{assayData(IcaSet)}:}{See \code{\link{eSet}}}
      \item{\code{sampleNames(IcaSet)} and \code{sampleNames(IcaSet)<-}:}{See \code{\link{eSet}}}
      \item{\code{featureNames(IcaSet)}, \code{featureNames(IcaSet, value)<-}:}{See \code{\link{eSet}}}
      \item{\code{dims(IcaSet)}:}{See \code{\link{eSet}}}
      \item{\code{phenoData(IcaSet)}, \code{phenoData(IcaSet,value)<-}:}{See \code{\link{eSet}}}
      \item{\code{varLabels(IcaSet)}, \code{varLabels(IcaSet, value)<-}:}{See \code{\link{eSet}}}
      \item{\code{varMetadata(IcaSet)}, \code{varMetadata(IcaSet,value)<-}:}{See \code{\link{eSet}}}
      \item{\code{varMetadata(IcaSet)}, \code{varMetadata(IcaSet,value)}}{See \code{\link{eSet}}}
      \item{\code{experimentData(IcaSet)},\code{experimentData(IcaSet,value)<-}:}{See \code{\link{eSet}}}
      \item{\code{pubMedIds(IcaSet)}, \code{pubMedIds(IcaSet,value)}}{See \code{\link{eSet}}}
      \item{\code{abstract(IcaSet)}:}{See \code{\link{eSet}}}
      \item{\code{annotation(IcaSet)}, \code{annotation(IcaSet,value)<-}}{See \code{\link{eSet}}}
      \item{\code{protocolData(IcaSet)}, \code{protocolData(IcaSet,value)<-}}{See \code{\link{eSet}}}
      \item{\code{combine(IcaSet,IcaSet)}:}{See \code{\link{eSet}}}
      \item{\code{storageMode(IcaSet)}, \code{storageMode(IcaSet,character)<-}:}{See \code{\link{eSet}}}
    }
   
   Standard generic methods:
   \describe{
     \item{\code{initialize(IcaSet)}:}{Object instantiation, used
       by \code{new}; not to be called directly by the user.}
     
     \item{\code{validObject(IcaSet)}:}{Validity-checking method, ensuring
       that \code{dat} is a member of
       \code{assayData}, and that the number of features, genes, samples,
       and components are consistent across all the attributes of the
       IcaSet object. \code{checkValidity(IcaSet)} imposes this
       validity check, and the validity checks of \code{eSet}.}
     \item{\code{IcaSet[slotName]}, \code{IcaSet[slotName]<-}:}{Accessing
       and setting any slot of name \code{slotName} contained in an
       IcaSet object.}
     \item{\code{IcaSet[i, j, k]}:}{Extract object of class "IcaSet"
           for features or genes with names i, samples with names or
       indices j, and components with names or indices k.}
        \item{\code{makeDataPackage(object, author, email, packageName, packageVersion, license, biocViews, filePath, description=paste(abstract(object), collapse="\n\n"), ...)}}{
       Create a data package based on an IcaSet object. See
       \code{\link{makeDataPackage}}.}
      \item{\code{show(IcaSet)}:}{See \code{\link{eSet}}}
      \item{\code{dim(IcaSet)}, \code{ncol}:}{See \code{\link{eSet}}}
      \item{\code{IcaSet[(index)]}:}{See \code{\link{eSet}}}
      \item{\code{IcaSet$}, \code{IcaSet$<-}:}{See \code{\link{eSet}}}
      \item{\code{IcaSet[[i]]}, \code{IcaSet[[i]]<-}:}{See \code{\link{eSet}}}
   }
 }
 
 \author{Anne Biton}
 
 \seealso{
   \code{\link{eSet-class}}, \code{\link{buildIcaSet}},
   \code{\link{IcaSet-class}}, \code{\link{MineICAParams-class}}.
 }
 
 \examples{
 # create an instance of IcaSet
 new("IcaSet")
 dat <- matrix(runif(100000), nrow=1000, ncol=100)
 rownames(dat) <- 1:nrow(dat)
 new("IcaSet",
     dat=dat, 
     A=as.data.frame(matrix(runif(1000), nrow=100, ncol=10)),
     S=as.data.frame(matrix(runif(10000), nrow=1000, ncol=10), row.names = 1:nrow(dat)))
 
 
 }
 
 \keyword{classes}