cytoSet-class {rflowcyt}R Documentation

'cytoSet': a class for storing raw data from a quantitative cell-based assay

Description

This class is a container for a set of cytoFrame objects

Creating Objects

Objects can be created using the function readCytoSet or via
new('cytoSet,
frames = ...., # environment with cytoFrames
phenoData = .... # object of class phenoData
colnames = .... # object of class character
)

Slots

frames:
An environment containing one or more cytoFrame objects.
phenoData:
A phenoData. Each row corresponds to one of the cytoFrames in the frames slot. It is mandatory that the pData has column named name
colnames:
A character object with the (common) column names of all the data matrices in the cytoFrames.

Methods

[, [[
subsetting. If x is cytoSet, then x[i] returns a cytoSet object, and x[[i]] a cytoFrame object. The semantics is similar to the behavior of the subsetting operators for lists.
colnames, colnames<-
extract or replace the colnames slot.
phenoData, phenoData<-
extract or replace the phenoData slot.
show
display summary.

Important note on storage and performance

The bulk of the data in a cytoSet object is stored in an environment, and is therefore not automatically copied when the cytoSet object is copied. If x is an object of class cytoSet, then the code

y <- x
will create a an object y that contains copies of the phenoData and administrative data in x, but refers to the same environment with the actual fluorescence data. See below for how to create proper copies.

The reason for this is performance. The pass-by-value semantics of function calls in R can result in numerous copies of the same data object being made in the course of a series of nested function calls. If the data object is large, this can result in a considerable cost of memory and performance. cytoSet objects are intended to contain experimental data in the order of hundreds of Megabytes, which can effectively be treated as read-only: typical tasks are the extraction of subsets and the calculation of summary statistics. This is afforded by the design of the cytoSet class: an object of that class contains a phenoData slot, some administrative information, and a reference to an environment with the fluorescence data; when it is copied, only the reference is copied, but not the potentially large set of fluorescence data themselves.

However, note that subsetting operations, such as

y <- x[i]
do create proper copies, including a copy of the appropriate part of the fluorescence data, as it should be expected. Thus, to make a proper copy of a cytoSet x, use
y <- x[seq(along=x)]

Author(s)

Wolfgang Huber http://www.ebi.ac.uk/huber

See Also

readCytoSet, cytoFrame-class

Examples

if (require(prada)) {
cset<-readCytoSet(path=system.file("extdata", package="prada"),
  pattern="[A-Z][0-9][0-9]$")
cset
pData(cset)
cset[[1]]
cset[["fas-Bcl2-plate323-04-04.A02"]]
cset["fas-Bcl2-plate323-04-04.A02"]
cset[1:3]
cset[[1]] <- exprs(cset[[1]])[1:100, ]

plot(cset[[2]])
}

if (require(rfcdmin) && require(prada)) {

 ##obtaining the location of the fcs files in the data
  pathFiles<-system.file("bccrc", package="rfcdmin")
  drugFiles<-dir(pathFiles)

 ## reading in the FCS files
  drugData<-readCytoSet(path=system.file("bccrc", package="rfcdmin"),
      pattern="[A-Z][0-9][0-9]$")
  }

[Package rflowcyt version 1.14.0 Index]