Nothing
helperCadTRUEPair <- function(data, dataMetrics, metricPair, aggMethod, nC,
threshVar, threshVal, verbose, vxAxis, saveFile, boxDat, xAxisLabel,
yAxisLabel, lineAlpha, lineSize, plotName, outDir, colList) {
dendo = data
rownames(dendo) = NULL
d = suppressWarnings(dist(as.matrix(dendo)))
hC = hclust(d, method=aggMethod)
k = cutree(hC, k=nC)
seqVec = seq(nC)
plot_clusters = lapply(seq_along(seqVec), function(j){
i = rev(order(table(k)))[j]
x = as.data.frame(data[which(k==i),])
x$cluster = "color"
x$cluster2 = factor(x$cluster)
xNames = x$ID
if (!is.null(dataMetrics)){
metricFDR = metricPair[which(as.character(metricPair$ID) %in%
xNames),]
sigID = metricFDR[which(metricFDR[[threshVar]]<=threshVal),]$ID
xSig = x[which(xNames %in% sigID),]
xSigNames = rownames(xSig)
nGenes = nrow(xSig)
}
else{
xSig = x
xSigNames = rownames(x)
nGenes = nrow(x)
}
if (verbose==TRUE){
IDs = as.character(sigID)
saveRDS(IDs, file = paste(outDir, "/", plotName, "_", nC, "_",
j, ".rds", sep=""))
}
xSig$ID = xSigNames
if (nrow(xSig)>0){
lastTwoIndices = c(ncol(xSig) -1, ncol(xSig))
xSig = xSig[, -lastTwoIndices]
#New code to remove extra treatment groups
colNames = levels(boxDat$Sample)
seqVec <- seq_along(colNames)
colGroups <- vapply(seqVec, function(i){
strsplit(colNames[i],"[.]")[[1]][1]
}, character(1))
uColGroups <- unique(colGroups)
xCols = colnames(xSig[,-1])
seqVec <- seq_along(xCols)
colGroupsXSig <- vapply(seqVec, function(i){
strsplit(xCols[i],"[.]")[[1]][1]
}, character(1))
keepCol = which(colGroupsXSig %in% uColGroups) +1
xSig = xSig[,c(1,keepCol)]
pcpDat <- melt(xSig, id.vars="ID")
colnames(pcpDat) <- c("ID", "Sample", "Count")
pcpDat$Sample <- as.character(pcpDat$Sample)
pcpDat$ID <- as.factor(pcpDat$ID)
p <- ggplot(boxDat, aes_string(x = 'Sample', y = 'Count')) +
geom_boxplot() + geom_line(data=pcpDat,
aes_string(x = 'Sample', y = 'Count', group = 'ID'),
colour = colList[j], alpha=lineAlpha, size = lineSize) +
ylab(yAxisLabel) + xlab(xAxisLabel) + ggtitle(paste("Cluster ", j,
" Genes (n=", format(nGenes, big.mark=",", scientific=FALSE), ")",
sep="")) + theme(plot.title = element_text(hjust = 0.5, size=14,
face="plain"), axis.text=element_text(size=11),
axis.title=element_text(size=14))
}
else{
p <- ggplot(boxDat, aes_string(x = 'Sample', y = 'Count')) +
geom_boxplot() + ylab(yAxisLabel) + xlab(xAxisLabel) +
ggtitle(paste("Cluster ", j, " Genes (n=", format(nGenes,
big.mark = ",", scientific=FALSE), ")", sep="")) +
theme(plot.title = element_text(hjust = 0.5, size=14,
face="plain"), axis.text=element_text(size=11),
axis.title=element_text(size=14))
}
if (vxAxis == TRUE){
p <- p + theme(axis.text.x = element_text(angle=90, hjust=1))
}
if (verbose==TRUE){
fileName = paste(outDir, "/", plotName, "_", nC, "_", j, ".jpg",
sep="")
jpeg(fileName)
plot(p)
invisible(dev.off())
}
p
})
p = arrangeGrob(grobs=plot_clusters, ncol=2)
if (saveFile == TRUE || verbose == TRUE){
fileName = paste(outDir, "/", plotName, "_", nC, ".jpg", sep="")
jpeg(fileName)
grid.draw(p)
invisible(dev.off())
}
return(p)
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.