Description Usage Arguments Details Author(s) See Also Examples
View source: R/intensityOutliersPlot.R
intensityOutliersPlot
is a function to plot mean
intensity for chromosome i vs mean of intensities for autosomes
(excluding i) and highlight outliers
1 2 | intensityOutliersPlot(mean.intensities, sex, outliers,
sep = FALSE, label, ...)
|
mean.intensities |
scan x chromosome matrix of mean intensities |
sex |
vector with values of "M" or "F" corresponding to scans in the rows of |
outliers |
list of outliers, each member corresponds to a chromosome (member "X" is itself a list of female and male outliers) |
sep |
plot outliers within a chromosome separately (TRUE) or together (FALSE) |
label |
list of plot labels (to be positioned below X axis) corresponding to list of outliers |
... |
additional arguments to |
Outliers must be determined in advance and stored as a list, with one
element per chromosome. The X chromosome must be a list of two
elements, "M" and "F". Each element should contain a vector of
ids corresponding to the row names of mean.intensities
.
If sep=TRUE
, labels
must also be specified.
labels
should be a list that corresponds exactly to the elements
of outliers
.
Cathy Laurie
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | # calculate mean intensity
library(GWASdata)
file <- system.file("extdata", "illumina_qxy.gds", package="GWASdata")
gds <- GdsIntensityReader(file)
data(illuminaScanADF)
intenData <- IntensityData(gds, scanAnnot=illuminaScanADF)
meanInten <- meanIntensityByScanChrom(intenData)
intenMatrix <- meanInten$mean.intensity
# find outliers
outliers <- list()
sex <- illuminaScanADF$sex
id <- illuminaScanADF$scanID
allequal(id, rownames(intenMatrix))
for (i in colnames(intenMatrix)) {
if (i != "X") {
imean <- intenMatrix[,i]
imin <- id[imean == min(imean)]
imax <- id[imean == max(imean)]
outliers[[i]] <- c(imin, imax)
} else {
idf <- id[sex == "F"]
fmean <- intenMatrix[sex == "F", i]
fmin <- idf[fmean == min(fmean)]
fmax <- idf[fmean == max(fmean)]
outliers[[i]][["F"]] <- c(fmin, fmax)
idm <- id[sex == "M"]
mmean <- intenMatrix[sex == "M", i]
mmin <- idm[mmean == min(mmean)]
mmax <- idm[mmean == max(mmean)]
outliers[[i]][["M"]] <- c(mmin, mmax)
}
}
par(mfrow=c(2,4))
intensityOutliersPlot(intenMatrix, sex, outliers)
close(intenData)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.