library("R.utils") # Arguments
verbose <- Arguments$getVerbose(TRUE)
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# 1. Scan for existing CEL files
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# a) Scan current directory for CEL files
files <- list.files(pattern="[.](cel|CEL)$")
files <- files[!file.info(files)$isdir]
if (length(files) > 0 && require("affxparser")) {
# b) Corresponding APD filenames
celNames <- files
apdNames <- gsub(pattern, ".apd", files)
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# 1. Copy the probe intensities from a CEL to an APD file
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
for (kk in 1) {
verbose && enter(verbose, "Reading CEL file #", kk)
cel <- readCel(celNames[kk])
verbose && exit(verbose)
if (!file.exists(apdNames[kk])) {
verbose && enter(verbose, "Creating APD file #", kk)
chipType <- cel$header$chiptype
writeApd(apdNames[kk], data=cel$intensities, chipType=chipType)
verbose && exit(verbose)
}
verbose && enter(verbose, "Verifying APD file #", kk)
apd <- readApd(apdNames[kk])
verbose && exit(verbose)
stopifnot(identical(apd$intensities, cel$intensities))
}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# 2. Read a subset of the units
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
units <- c(1, 20:205)
cel <- readCelUnits(celNames[1], units=units)
apd <- readApdUnits(apdNames[1], units=units)
stopifnot(identical(apd, cel))
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# 3. The same, but stratified on PMs and MMs
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
apd <- readApdUnits(apdNames[1], units=units, stratifyBy="pmmm",
addDimnames=TRUE)
} # if (length(files) > 0)
Run the code above in your browser using DataLab