Mercurial > repos > iuc > dexseq
view plotdexseq.R @ 12:74ec758e63a4 draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/dexseq commit ed4091f895ae0f46323534ca42da290c6e103598
author | iuc |
---|---|
date | Fri, 31 Jan 2025 18:00:45 +0000 |
parents | 9a7c5b6d8f1e |
children |
line wrap: on
line source
## Setup R error handling to go to stderr options(show.error.messages = FALSE, error = function() { cat(geterrmessage(), file = stderr()) q("no", 1, FALSE) }) # we need that to not crash galaxy with an UTF8 error on German LC settings. Sys.setlocale("LC_MESSAGES", "en_US.UTF-8") suppressPackageStartupMessages({ library("DEXSeq") library("getopt") }) options(stringAsfactors = FALSE, useFancyQuotes = FALSE) args <- commandArgs(trailingOnly = TRUE) # get options, using the spec as defined by the enclosed list. # we read the options from the default: commandArgs(TRUE). spec <- matrix(c( "rdata", "r", 1, "character", "primaryfactor", "p", 1, "character", "geneid", "g", 1, "character", "genefile", "f", 1, "character", "fdr", "c", 1, "double", "transcripts", "t", 1, "logical", "names", "a", 1, "logical", "normcounts", "n", 1, "logical", "splicing", "s", 1, "logical", "pl_width", "w", 2, "integer", "pl_height", "h", 2, "integer" ), byrow = TRUE, ncol = 4) opt <- getopt(spec) res <- readRDS(opt$rdata) if (!is.null(opt$genefile)) { genes <- read.delim(opt$genefile, header = FALSE) genes <- genes[, 1] } else { genes <- opt$geneid } pl_width <- pl_height <- 7 if (!is.null(opt$pl_width)) pl_width <- opt$pl_width if (!is.null(opt$pl_height)) pl_height <- opt$pl_height pdf("plot.pdf", width = pl_width, height = pl_height) for (i in genes) { par(oma = c(pl_height * 0.2, pl_width * 0.2, pl_height * 0.2, pl_width * 0.2)) plotDEXSeq(res, i, FDR = opt$fdr, fitExpToVar = opt$primaryfactor, norCounts = opt$normcounts, expression = TRUE, splicing = opt$splicing, displayTranscripts = opt$transcripts, names = opt$names, legend = TRUE, color = NULL, color.samples = NULL, transcriptDb = NULL ) } dev.off() sessionInfo()