library("aroma.affymetrix")
verbose <- Arguments$getVerbose(-4, timestamp=TRUE)
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Setup
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
dataSet <- "GSE8605"
chipType <- "Mapping10K_Xba142"
csR <- AffymetrixCelSet$byName(dataSet, chipType=chipType, verbose=verbose)
print(csR)
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# (a) AS-CRMAv2
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
res <- doASCRMAv2(csR, drop=FALSE, verbose=verbose)
print(res)
cesN <- res$cesN
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Extraction test
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Extract unit and group name and indices together with chip effects
data <- extractDataFrame(cesN, units=1:50, addNames=TRUE, verbose=verbose)
print(data[1:50,1:8])
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Extract (thetaA, thetaB)
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
theta <- extractTheta(cesN, groups=1:2, verbose=verbose)
dimnames(theta)[[2]] <- c("A", "B")
thetaA <- theta[,"A",]
thetaB <- theta[,"B",]
theta <- thetaA + thetaB
freqB <- thetaB / theta
tlim <- c(8,15)
Blim <- c(0,1)
tlab <- expression(log[2](theta))
Blab <- expression(theta[B]/theta)
nbrOfArrays <- ncol(theta)
toPNG(getFullName(cesN), tags="BAFvsTheta", width=1024, {
layout(matrix(1:nbrOfArrays, ncol=2, byrow=TRUE))
par(mar=c(3.8,4,3,1)+0.1)
for (ii in seq_len(nbrOfArrays)) {
name <- colnames(theta)[ii]
smoothScatter(log2(theta[,ii]), freqB[,ii],
xlim=tlim, ylim=Blim, xlab=tlab, ylab=Blab, main=name)
}
})
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Extract (log2(total), freqB)
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
data <- extractTotalAndFreqB(cesN, verbose=verbose)
data[,1,] <- log2(data[,1,])
tlim <- c(9,15)
upperPanel <- function(x,y, pch=".", ...) {
xy <- data[,1,c(x,y)]
xy <- (xy - tlim[1])/diff(tlim)
abline(a=0,b=1, col="#999999")
points(xy, pch=pch)
}
lowerPanel <- function(x,y, pch=".", ...) {
xy <- data[,2,c(x,y)]
abline(a=0,b=1, col="#999999")
abline(a=1,b=-1, col="#999999")
points(xy, pch=pch)
}
diagPanel <- function(x, pch=".", ...) {
xy <- data[,,x]
xy[,1] <- (xy[,1] - tlim[1])/diff(tlim)
smoothScatter(xy, add=TRUE)
abline(h=1/2, col="#999999")
}
pairs <- matrix(1:nbrOfArrays, nrow=1, ncol=nbrOfArrays)
colnames(pairs) <- dimnames(data)[[length(dim)]]
toPNG(getFullName(cesN), tags="pairs", width=1024, {
pairs(pairs, upper.panel=upperPanel, lower.panel=lowerPanel,
diag.panel=diagPanel, xlim=c(0,1), ylim=c(0,1))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.