help(char)
help(plot)
help(par)
sortdata <- function(datalist, dye="R", method="subtrbg") { vals <- NULL tmp.datalist <- datalist[[dye]] - datalist[[paste(dye, "b", sep="")]] for (p in 1:dim(tmp.datalist)[1]) vals <- c(vals, max(tmp.datalist[p,])) for (f in names(datalist)) if (length(dim(datalist[[f]]))>1) datalist[[f]] <- datalist[[f]][sort.list(vals, decreasing=T),] else datalist[[f]] <- datalist[[f]][sort.list(vals, decreasing=T)] return(datalist) }
sortdata(scans)[1:10]
sortdata(scans)$R[1:10]
sortdata(scans)$R[1:10, ]
sortdata(scans)$ID[1:10]
sortdata(scans, dye=G)$ID[1:10]
sortdata(scans, dye="G")$ID[1:25]
levels(sortdata(scans, dye="G")$ID[1:25])
factor(sortdata(scans, dye="G")$ID[1:25])
levels(factor(sortdata(scans, dye="G")$ID[1:25]))
for (p in levels(factor(sortdata(scans, dye="G")$ID[1:25])))
plotmeltingcurve(scans, probe=p)
plotmeltingcurve <- function(datalist, dye="R", probe=NULL) { phyl <- attr(datalist, "probes") if (length(probe)==0) probe <- phyl$Probename[1] vals <- list() maximum <- 0 for (m in names(phyl)[2:dim(phyl)[2]]) { vals[[m]] <- list() tmp.vals <- NULL for (p in levels(phyl[[m]])[phyl[[m]][phyl$Probename==probe]]) { tmp.vals <- datalist[[dye]][datalist$ID==p,]/datalist[[paste(dye,"b",sep="")]][datalist$ID==p,] maximum <- max(maximum, tmp.vals) if (dim(tmp.vals)[1] > 1) vals[[m]][[p]] <- data.frame(rbind(apply(tmp.vals, 2, mean), apply(tmp.vals,2,sd)), row.names=c("Mean", "SD")) else vals[[m]][[p]] <- tmp.vals colnames(vals[[m]][[p]]) <- colnames(tmp.vals) } } plot(as.numeric(vals[[1]][[1]]["Mean",]) ~ as.numeric(colnames(vals[[1]][[1]])), ylim=c(0, maximum), xlab="Temperature", ylab="Signal/Background") if (dim(vals[[1]][[1]])[1] > 1) arrows(as.numeric(colnames(vals[[1]][[1]])), as.numeric(vals[[1]][[1]]["Mean",]) - as.numeric(vals[[1]][[1]]["SD",]), as.numeric(colnames(vals[[1]][[1]])), as.numeric(vals[[1]][[1]]["Mean",]) + as.numeric(vals[[1]][[1]]["SD",]), code=3, angle=90, length=0.05) character <- 1 color <- 1 for (m in names(vals)) { for (p in names(vals[[m]])) { if (length(vals[[m]][[p]]) > 0) { lines(as.numeric(vals[[m]][[p]]["Mean",]) ~ as.numeric(colnames(vals[[m]][[p]])), pch=character, col=color, type="p") if (dim(vals[[m]][[p]])[1] > 1) arrows(as.numeric(colnames(vals[[1]][[1]])), as.numeric(vals[[m]][[p]]["Mean",]) - as.numeric(vals[[m]][[p]]["SD",]), as.numeric(colnames(vals[[m]][[p]])), as.numeric(vals[[m]][[p]]["Mean",]) + as.numeric(vals[[m]][[p]]["SD",]), code=3, angle=90, length=0.05, col=color) character <- character+1 } } character <- 1 color <- color+1 } }
for (p in levels(factor(sortdata(scans, dye="G")$ID[1:25])))
plotmeltingcurve(scans, probe=p)
for (p in levels(factor(sortdata(scans, dye="G")$ID[1:25])))
plotmeltingcurve(scans, "G", probe=p)
plotmeltingcurve(scans, "NONEUB_338")
plotmeltingcurve(scans, probe="NONEUB_338")
probes2probenames <- function(datalist, probe) { phyl <- attr(datalist, "probes") vals <- NULL for (i in probe) for (p in 2:length(names(phyl))) vals <- c(vals, levels(phyl$Probename)[phyl$Probename[phyl[[p]]==i]]) return(levels(factor(vals))) }
probes2probenames(sortdata(scans, dye="G")$ID[1:25])
probes2probenames(scans, sortdata(scans, dye="G")$ID[1:25])
plotprobes<-probes2probenames(scans, sortdata(scans, dye="G")$ID[1:25])
for (p in plotprobes) plotmeltingcurve(scans, dye="G", p)
load("./Scandataraw.RData")
ls()
load("./Phylodata.RData")
ls()
q()
