###########################################################################/**
# File type test
#
# Description:
# This test verifies that aroma.affymetrix can create AromaCellCpgFile
# and AromaCellPositionFile objects for the (promoter) tiling array.
#
# Author: Mark Robinson
# Created: 2010-02-22
# Last modified: 2012-09-02
#*/###########################################################################
library("aroma.affymetrix")
verbose <- Arguments$getVerbose(-8, timestamp=TRUE)
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Setup the chip type
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
cdf <- AffymetrixCdfFile$byChipType("Hs_PromPR_v02")
print(cdf)
cdfU <- getUniqueCdf(cdf)
print(cdfU)
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Test allocation, writing and reading of 'acp' object
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Allocate
acp <- AromaCellPositionFile$allocateFromCdf(cdfU, tags=c("*", "test"),
overwrite=TRUE, verbose=verbose)
print(acp)
nbrOfRandomCells <- 20
cells <- sample(nbrOfCells(cdfU), size=nbrOfRandomCells)
chr <- sample(1:22, size=nbrOfRandomCells)
pos <- sample(1:1e6, size=nbrOfRandomCells)
# Write
acp[cells,1] <- chr
acp[cells,2] <- pos
# Read
cp <- acp[cells,]
# Sanity check
stopifnot((cp[,1] == chr) & (cp[,2] == pos))
# Clean up
rm(chr, pos, cp)
file.remove(getPathname(acp))
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Test allocation, writing and reading of 'acc' object
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Allocate
acc <- AromaCellCpgFile$allocateFromCdf(cdfU, tags=c("*", "test"),
overwrite=TRUE, verbose=verbose)
print(acc)
cells <- sample(nbrOfCells(cdfU), size=nbrOfRandomCells)
cpg <- rnorm(nbrOfRandomCells)
# Write
acc[cells,1] <- 2^cpg
# Read
cpg2 <- acc[cells,1,drop=TRUE]
d <- (log2(cpg2) - cpg)^2
print(summary(d))
# Sanity check
stopifnot(sum(d) < 1e-8)
# Clean up
file.remove(getPathname(acc))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.