Description Usage Arguments Details Value Author(s) References Examples
Screens for genes with sample variance above user-specified threshold. Consolidates data for duplicate genes by averaging across duplicates.
1 | screenExpr(Yexpr, sdCutoff)
|
Yexpr |
Expression data. |
sdCutoff |
std dev threshold. |
Screens for genes with sample variance above user-specified threshold. Consolidates data for duplicate genes by averaging across duplicates.
Returns expression data with unique gene names and variance greater than psecified threshold
Anguraj Sadanandam anguraj.sadanandam@icr.ac.uk
Anguraj Sadanandam, et all (2015). A cross-species analysis in pancreatic neuroendocrine tumors reveals molecular subtypes with distinctive clinical, metastatic, developmental, and metabolic characteristics. Cancer Discovery.
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 38 39 40 41 42 43 44 45 46 47 48 | ##---- Should be DIRECTLY executable !! ----
##-- ==> Define data, use random,
##-- or do help(data=index) for the standard data sets.
## The function is currently defined as
function (Yexpr, sdCutoff)
{
data.all <- Yexpr
print(paste(" Read expression data for ", dim(data.all)[1],
" genes.", sep = ""))
data.mapped <- data.all[toupper(data.all[, 1]) != "UNMAPPED" &
!is.na(data.all[, 1]), ]
print(paste(" Mapped data to ", dim(data.mapped)[1], " genes IDs.",
sep = ""))
nLastCol <- dim(data.mapped)[2]
print("Removing genes with low sample variance...")
sampleVar <- apply(data.mapped[, 2:nLastCol], 1, var)
idxHighVar <- sampleVar > sdCutoff^2
data.highVar <- data.mapped[idxHighVar, ]
sampleVar.highVar <- sampleVar[idxHighVar]
print(paste(" Found ", dim(data.highVar)[1], " genes exceeding SD threshold of ",
sdCutoff, ".", sep = ""))
nGenesHighVar <- dim(data.highVar)[1]
genesUnique <- as.vector(unique(data.highVar[, 1]))
nGenesUnique <- length(genesUnique)
nSamples <- dim(data.highVar)[2] - 1
data <- array(dim = c(nGenesUnique, nLastCol))
data[, 1] <- genesUnique
colnames(data) <- colnames(data.highVar)
print("Removing duplicate genes (selecting for max standard deviation)...")
for (gene in genesUnique) {
idxGenes <- seq(along = 1:nGenesHighVar)[data.highVar[,
1] == gene]
data.slice <- data.highVar[idxGenes, 2:nLastCol]
if (length(idxGenes) > 1) {
idxMaxVar <- which.max(sampleVar.highVar[idxGenes])
data.slice <- data.slice[idxMaxVar, ]
}
data[data[, 1] == gene, 2:nLastCol] <- as.matrix(data.slice)
}
print(paste(" ", nGenesUnique, " unique genes IDs remain.",
sep = ""))
print("Screened data is the output:... ")
print("")
rm(data.all, data.mapped, data.highVar)
sdata <- data
sdata
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.