normalise             package:arrayMagic             R Documentation

_N_o_r_m_a_l_i_s_a_t_i_o_n _o_f _M_i_c_r_o_a_r_r_a_y _D_a_t_a

_D_e_s_c_r_i_p_t_i_o_n:

     An object of class 'exprSetRG' is generated which contains the
     resulting normalised data.

_U_s_a_g_e:

     normalise(arrayDataObject, subtractBackground = FALSE, method = "vsn", subGroups = NULL, channelsSeparately = FALSE, hybridisationGroups, spotIdentifier, verbose = TRUE)

_A_r_g_u_m_e_n_t_s:

arrayDataObject: object of class 'arrayData'; required; default
          missing. 'arrayDataObject' must contain the raw data, i.e. a
          three dimensional array (spot x channel x hybridisation), cf.
          the class methods 'getIntensities' and 'intensities<-', and
          must contain information on the hybridisations, cf. class
          methods 'getHybAttr' and '{hybAttrList<-}'. If the argument
          'subGroups' (see below) is specified it must also contain 
          information on the spots, cf. the class methods 'getSpotAttr'
          and 'spotAttr<-'. Note: Weights are only used by loess-type
          normalisations. 

subtractBackground: logical; default: 'FALSE'

  method: character string; required; default: "'vsn'"; possible
          values: "'none'", "'vsn'", "'quantile'", "'loess'",
          "'loessScale'", "'loessQuantile'". Note: "'quantile'" and 
          "'loess*'" normalisation transforms the data to the (natural)
          logarithmic scale. Note: Weights are only used by loess-type
          normalisations. Note: "'loessScale'" and "'loessQuantile'"
          refer to a loess normalisation followed by a between slide
          normalisation, cf. the function 'normalizeBetweenArrays' of
          the 'limma' package. Note: "'quantile'" and  "'loess*'"
          normalisations do call the corresponding methods of the
          'limma' package and "'vsn'" uses the 'vsn' package. 

subGroups: character string or 'NULL'; required; default: 'NULL';
          'subGroups' allows to define subgroups of spots of each
          hybridisation which are normalised separately like a 
          print-tip normalisation. The list must contain a column name
          refering to the 'data.frame' of
          'getSpotAttr(arrayDataObject)'. In case of GenePix data you
          may for example specify the column name "Block". The column
          itself must contain integer values. Note: In case of 'method
          == "vsn"', 'vsn' is called with the argument 'strata', which
          differs to a separate normalisation of each subgroup with
          'vsn' itself.  

channelsSeparately: logical; required; default: 'FALSE'; If
          'channelsSeparately' ist set to 'TRUE' each channel is
          normalised separately. Only meaningful for single channel
          normalisation methods like "'vsn'" and "'quantile'"
          normalisation but not for ratio based normalisation like
          "'loess'".

hybridisationGroups: list of vectors of indexes or the character string
          "slideBySlide"; optional; default: missing. Each group of
          hybridisations is normalised separately. If missing all
          hybridisations are taken as one group. Only meaningful for
          normalisation methods like "vsn" and "quantile". The indexes
          must refer to the third dimension of
          'getIntensities(arrayDataObject)' and have to contain all
          hybridisations. 

spotIdentifier: character string; optional; default missing.
          'spotIdentifier' specifies the column of
          'getSpotAttr(arrayDataObject)' which must contain non-unique
          spot or gene identifiers. The identifiers are used as names
          for the resulting 'exprSetRG'-object; cf. the function
          'geneNames' of the 'exprSetRG-class'. 

 verbose: logical; required; default: 'TRUE'

_V_a_l_u_e:

     object of class 'exprSetRG'

_A_u_t_h_o_r(_s):

     Andreas Buness <a.buness@dkfz.de>

_S_e_e _A_l_s_o:

     'exprSetRG-class', 'processArrayData', 'processArrayDataObject'

_E_x_a_m_p_l_e_s:

            intensities <- array(data=runif(720),dim=c(120,2,3))
            dimnames(intensities) <- list(NULL, c("green","red"), NULL)
            hybAttr <- data.frame(Name=I(c("hx","hy","hz")), Index=c(1:3))
             arrayDataObject <- new("arrayData",
                                   intensities=intensities,
                                   hybAttrList=list(red=hybAttr,green=hybAttr)
                                  )
            exprSetRGObject <- normalise(arrayDataObject = arrayDataObject,
                                    subtractBackground = FALSE,
                                    method = "none",
                                    verbose = TRUE
                                    )
            nRed <- exprs(getExprSetRed(exprSetRGObject))
            nGreen <- exprs(getExprSetGreen(exprSetRGObject))
            stopifnot( all.equal.numeric( nRed, intensities[,"red",] ) )
            stopifnot( all.equal.numeric( nGreen, intensities[,"green",] ) ) 

              
      

