tsSample-class {TargetSearch} | R Documentation

## Class for representing samples

### Description

This is a class to represent a set of samples.

### Objects from the Class

Objects can be created by the function `ImportSamples` or by calling the object generator function.

`new("tsSample", Names = [sample names], CDFfiles = [list of CDF file names], RIfiles = [list of RI file names], CDFpath = [CDF files path], RIpath = [RI files path], days = [measurement days], data = [additional sample information], ftype = [RI file format])`

### Slots

`Names`:

  `"character"`, the sample names.

`CDFfiles`:

  `"character"`, the list of CDF file names.

`RIfiles`:

  `"character"`, the list of RI file names.

`CDFpath`:

  `"character"`, CDF files path. Deprecated. See Notes.

`RIpath`:

  `"character"`, RI file path. Deprecated. See Notes.

`days`:

  `"character"`, measurement days.

`data`:

  `"data.frame"`, additional sample information.

### Methods

`[`

  `signature(x = "tsSample")`: Selects a subset of samples.

`$name`

  `signature(x = "tsSample")`: Access column `name` of `sampleData` slot.

`CDFfiles`

  `signature(obj = "tsSample")`: list of CDF files.

`RIfiles`

  `signature(obj = "tsSample")`: list of RI files.

`RIpath`

  `signature(obj = "tsSample")`: The RI file path.

`CDFpath`

  `signature(obj = "tsSample")`: The CDF file path.

`length`

  `signature(x = "tsSample")`: number of samples.

`sampleData`

  `signature(obj = "tsSample")`: additional sample information.

`sampleDays`

  `signature(obj = "tsSample")`: measurement days.

`sampleNames`

  `signature(obj = "tsSample")`: sample names. The names must be unique

`show`

  `signature(object = "tsSample")`: the show funtion.

`fileFormat`

  `signature`obj = "tsSample": Sets or gets the RI file format. Options are either "binary" or "text". See note below.

### Notes

The method `fileFormat` only changes the internal information of the file type and not the files themselves. To actually change the files, use the functions `bin2text` and `text2bin`.

Note that the slot `Names` (i.e., the sample names/identifiers) must be unique. This allows sample selection by using sample identifiers as well as indices. Also, if columns are selected, the output will be either a vector or a `data.frame` depending on whether one or more columns were selected. More over, it is required that the rownames of the `data` slot are equal to the sample names slots. This is handled internally. If the `Names` are not provided, then the CDF files are used instead (directories and extension are removed). In this case the file names must be unique.

The slots `CDFpath` and `RIpath` are deprecated and not used. However, the methods to set or get the paths will still work. The file paths is stored on the `CDFfiles` and `RIfiles` slots.

### Author(s)

Alvaro Cuadros-Inostroza, Matthew Hannah, Henning Redestig

### See Also

`ImportSamples`

### Examples

    showClass("tsSample")

    # get a list of CDF files from a directory
    require(TargetSearchData)
    CDFpath <- system.file("gc-ms-data", package = "TargetSearchData")
    cdffiles <- dir(CDFpath, "cdf", full=TRUE)

    # define the RI file path
    RIpath  <- "."

    # create a tsSample object with minimal info
    sampleDescription <- new("tsSample", CDFfiles = cdffiles, RIpath = RIpath)

    ## ## ## ## ##

    # Alternatively, the CDF path and CDF file names can be given separatedly
    # (this was the old TargetSearch behavior)
    cdffiles <- basename(cdffiles)

    # create the sample object
    sampleDescription <- new("tsSample", CDFfiles = cdffiles, CDFpath = CDFpath, RIpath = RIpath)

    ## ## ## ## ##

    # More parameters could be defined:
    # define the RI files and the RI path
    RIfiles <- sub("cdf$", "txt", paste("RI_", cdffiles, sep = ""))
    RIpath  <- "."

    # get the measurement days (the four first numbers of the cdf files, in this
    # example)
    days <- substring(cdffiles, 1, 4)

    # sample names (must be unique)
    smp_names <- paste("Sample", 1:length(sampleDescription), sep = "_")

    # add some sample info
    smp_data <- data.frame(CDF_FILE =cdffiles, GROUP = gl(5,3))

    # create the sample object
    sampleDescription <- new("tsSample", Names = smp_names, CDFfiles = cdffiles, CDFpath = CDFpath,
        RIpath = RIpath, days = days, RIfiles = RIfiles, data = smp_data)

    # chang the file paths (relative to the working path)
    CDFpath(sampleDescription) <- "my_cdfs"
    RIpath(sampleDescription)  <- "my_RIs"

    # change sample Names
    sampleNames(sampleDescription) <- sprintf("S%03d", 1:length(sampleDescription))

    ## sample subsetting.
    # select samples 1, 3 and 5
    (sampleset <- sampleDescription[c(1, 3, 5)])

    # or use sample IDs
    (sampleset <- sampleDescription[c("S001", "S003", "S005")])

    ## extract columns
    # select column 'GROUP'
    (group <- sampleDescription$GROUP)
    # or
    (group <- sampleDescription[, 'GROUP'])

    ## change the measurement days (sets the same day for all samples)
    sampleDays(sampleDescription) <- "1"

    ## Note: the length of `measurement days` variable must be 1 or equal
    ## to the number of samples, otherwise an error will be thrown

[Package TargetSearch version 1.44.0 Index]