Mercurial > repos > iuc > raceid_inspectclusters
diff scripts/clusterinspect.R @ 0:9fec5dd8fbb9 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/raceid3 commit f880060c478d42202df5b78a81329f8af56b1138
author | iuc |
---|---|
date | Thu, 22 Nov 2018 04:45:41 -0500 |
parents | |
children | 20f522154663 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/clusterinspect.R Thu Nov 22 04:45:41 2018 -0500 @@ -0,0 +1,121 @@ +#!/usr/bin/env R +VERSION = "0.2" + +args = commandArgs(trailingOnly = T) + +if (length(args) != 1){ + message(paste("VERSION:", VERSION)) + stop("Please provide the config file") +} + +suppressWarnings(suppressPackageStartupMessages(require(RaceID))) +source(args[1]) + +## layout +test <- list() +test$side = 3 +test$line = 3 + +do.plotting <- function(sc){ + print(plotmap(sc, final = FALSE, fr = FALSE)) + print(do.call(mtext, c("Initial Clustering tSNE", test))) + print(plotmap(sc, final = TRUE, fr = FALSE)) + print(do.call(mtext, c("Final Clustering tSNE", test))) + print(plotmap(sc, final = FALSE, fr = TRUE)) + print(do.call(mtext, c("Initial Clustering Fruchterman-Reingold", test))) + print(plotmap(sc, final = TRUE, fr = TRUE)) + print(do.call(mtext, c("Final Clustering Fruchterman-Reingold", test))) +} + + +do.inspect.symbolmap <- function(sc){ + if (!is.null(plotsym.use.typeremoveregex)){ + plotsym$types = sub(plotsym.use.typeremoveregex, "", colnames(sc@ndata)) + + if (!is.null(plotsym.use.typeremoveregex.subselect)){ + plotsym$subset = plotsym$types[grep(plotsym.use.typeremoveregex.subselect, plotsym$types)] + } + } + plotsym$fr = FALSE + print(do.call(plotsymbolsmap, c(sc, plotsym))) + print(do.call(mtext, c("Symbols tSNE", test))) + plotsym$fr = TRUE + print(do.call(plotsymbolsmap, c(sc, plotsym))) + print(do.call(mtext, c("Symbols FR", test))) +} + +do.inspect.diffgene <- function(sc){ + + getSubNames <- function(lob, sc){ + use.names <- NULL + if (!is.null(lob$manual)){ + use.names <- lob$manual + } + else if (!is.null(lob$regex)){ + nm <- colnames(sc@ndata) + use.names <- nm[grep(lob$regex, nm)] + } + else if (!is.null(lob$cln)){ + use.names <- names(sc@cpart)[sc@cpart %in% lob$cln] + } + if (is.null(use.names)){ + stop("A or B names not given!") + } + return(use.names) + } + + A <- getSubNames(gfdat.A.use, sc) + B <- getSubNames(gfdat.B.use, sc) + + fdat <- getfdata(sc, n=c(A,B)) + dexp <- diffexpnb(fdat, A=A, B=B) + ## options for diffexpnb are mostly about DESeq, ignore + plotdiffg$x = dexp + print(do.call(plotdiffgenesnb, c(plotdiffg))) + print(do.call(mtext, c("Diff Genes", test))) +} + + +do.inspect.genesofinterest <- function(sc){ + if (is.null(plotexp$n)){ ## No title, and one gene? Use gene name + if (length(plotexp$g) == 1){ + plotexp$n <- plotexp$g + } else { + plotexp$n <- paste(plotexp$g, collapse=", ") + } + } + + title <- paste(":", plotexp$n) + plotexp$n <- "" + + plotexp$logsc=FALSE; plotexp$fr = FALSE + print(do.call(plotexpmap, c(sc, plotexp))) + print(do.call(mtext, c(paste("tSNE", title), test))) + + plotexp$logsc=TRUE; plotexp$fr = FALSE + print(do.call(plotexpmap, c(sc, plotexp))) + print(do.call(mtext, c(paste("tSNE (Log)", title), test))) + + plotexp$logsc=FALSE; plotexp$fr = TRUE + print(do.call(plotexpmap, c(sc, plotexp))) + print(do.call(mtext, c(paste("FR", title), test))) + + plotexp$logsc=TRUE; plotexp$fr = TRUE + print(do.call(plotexpmap, c(sc, plotexp))) + print(do.call(mtext, c(paste("FR (Log)", title), test))) + + if (!is.null(plotmarkg$samples)){ + reg <- plotmarkg$samples + plotmarkg$samples <- sub("(\\_\\d+)$","", colnames(sc@ndata)) + } + print(do.call(plotmarkergenes, c(sc, plotmarkg))) +} + +sc <- in.rdat + +pdf(out.pdf) +if (perform.plotting) do.plotting(sc) +if (perform.symbolmap) do.inspect.symbolmap(sc) +if (perform.genesofinterest) do.inspect.genesofinterest(sc) +if (perform.diffgene) do.inspect.diffgene(sc) +dev.off()