# HG changeset patch # User devteam # Date 1594081547 14400 # Node ID c3b54a4b7741eb3ad8bdbaacfd5d904a9462ac2c # Parent 78fcfc04fcfe57a4c51fdedbfd19903e9c76027a "planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/cummerbund commit f929353ffb0623f2218d7dec459c7da62f3b0d24" diff -r 78fcfc04fcfe -r c3b54a4b7741 cummeRbund.R --- a/cummeRbund.R Thu Feb 23 20:24:03 2017 -0500 +++ b/cummeRbund.R Mon Jul 06 20:25:47 2020 -0400 @@ -1,44 +1,44 @@ ## Feature Selection ## -options(echo=TRUE) -get_features <- function(myGenes, f="gene") { +options(echo = TRUE) +get_features <- function(my_genes, f = "gene") { if (f == "isoforms") - return(isoforms(myGenes)) + return(isoforms(my_genes)) else if (f == "tss") - return(TSS(myGenes)) + return(TSS(my_genes)) else if (f == "cds") - return(CDS(myGenes)) + return(CDS(my_genes)) else - return(myGenes) + return(my_genes) } ## Main Function ## library(argparse) -parser <- ArgumentParser(description='Create a plot with cummeRbund') +parser <- ArgumentParser(description = "Create a plot with cummeRbund") -parser$add_argument('--type', dest='plotType', default='Density', required=TRUE) -parser$add_argument('--height', dest='height', type='integer', default=960, required=TRUE) -parser$add_argument('--width', dest='width', type='integer', default=1280, required=TRUE) -parser$add_argument('--outfile', dest='filename', default="plot-unknown-0.png", required=TRUE) -parser$add_argument('--input', dest='input_database', default="cuffData.db", required=TRUE) -parser$add_argument('--smooth', dest='smooth', action="store_true", default=FALSE) -parser$add_argument('--gene_selector', dest='gene_selector', action="store_true", default=FALSE) -parser$add_argument('--replicates', dest='replicates', action="store_true", default=FALSE) -parser$add_argument('--labcol', dest='labcol', action="store_true", default=FALSE) -parser$add_argument('--labrow', dest='labrow', action="store_true", default=FALSE) -parser$add_argument('--border', dest='border', action="store_true", default=FALSE) -parser$add_argument('--summary', dest='summary', action="store_true", default=FALSE) -parser$add_argument('--count', dest='count', action="store_true", default=FALSE) -parser$add_argument('--error_bars', dest='error_bars', action="store_true", default=FALSE) -parser$add_argument('--log10', dest='log10', action="store_true", default=FALSE) -parser$add_argument('--features', dest='features', action="store", default="genes") -parser$add_argument('--clustering', dest='clustering', action="store", default="both") -parser$add_argument('--iter_max', dest='iter_max', action="store") -parser$add_argument('--genes', dest='genes', action="append") -parser$add_argument('--k', dest='k', action="store") -parser$add_argument('--x', dest='x', action="store") -parser$add_argument('--y', dest='y', action="store") +parser$add_argument("--type", dest = "plotType", default = "Density", required = TRUE) +parser$add_argument("--height", dest = "height", type = "integer", default = 960, required = TRUE) +parser$add_argument("--width", dest = "width", type = "integer", default = 1280, required = TRUE) +parser$add_argument("--outfile", dest = "filename", default = "plot-unknown-0.png", required = TRUE) +parser$add_argument("--input", dest = "input_database", default = "cuffData.db", required = TRUE) +parser$add_argument("--smooth", dest = "smooth", action = "store_true", default = FALSE) +parser$add_argument("--gene_selector", dest = "gene_selector", action = "store_true", default = FALSE) +parser$add_argument("--replicates", dest = "replicates", action = "store_true", default = FALSE) +parser$add_argument("--labcol", dest = "labcol", action = "store_true", default = FALSE) +parser$add_argument("--labrow", dest = "labrow", action = "store_true", default = FALSE) +parser$add_argument("--border", dest = "border", action = "store_true", default = FALSE) +parser$add_argument("--summary", dest = "summary", action = "store_true", default = FALSE) +parser$add_argument("--count", dest = "count", action = "store_true", default = FALSE) +parser$add_argument("--error_bars", dest = "error_bars", action = "store_true", default = FALSE) +parser$add_argument("--log10", dest = "log10", action = "store_true", default = FALSE) +parser$add_argument("--features", dest = "features", action = "store", default = "genes") +parser$add_argument("--clustering", dest = "clustering", action = "store", default = "both") +parser$add_argument("--iter_max", dest = "iter_max", action = "store") +parser$add_argument("--genes", dest = "genes", action = "append") +parser$add_argument("--k", dest = "k", action = "store") +parser$add_argument("--x", dest = "x", action = "store") +parser$add_argument("--y", dest = "y", action = "store") args <- parser$parse_args() @@ -58,90 +58,71 @@ replicates(cuff) print("FEATURES:") print(annotation(genes(cuff))) -cat(annotation(genes(cuff))[[1]],sep=",") +cat(annotation(genes(cuff))[[1]], sep = ",") sink() -png(filename = args$filename, width = args$width, height = args$height, type=c('cairo-png')) +png(filename = args$filename, width = args$width, height = args$height) tryCatch({ - if (args$plotType == 'density') { - csDensity(genes(cuff), replicates=args$replicates, logMode=args$log10) - } - else if (args$plotType == 'boxplot') { - csBoxplot(genes(cuff), replicates=args$replicates, logMode=args$log10) - } - else if (args$plotType == 'mds') { - MDSplot(genes(cuff), replicates=args$replicates) - } - else if (args$plotType == 'pca') { - PCAplot(genes(cuff), "PC1", "PC2", replicates=args$replicates) - } - else if (args$plotType == 'dendrogram') { - csDendro(genes(cuff), replicates=args$replicates) - } - else if (args$plotType == 'scatter') { + if (args$plotType == "density") { + csDensity(genes(cuff), replicates = args$replicates, logMode = args$log10) + } else if (args$plotType == "boxplot") { + csBoxplot(genes(cuff), replicates = args$replicates, logMode = args$log10) + } else if (args$plotType == "mds") { + MDSplot(genes(cuff), replicates = args$replicates) + } else if (args$plotType == "pca") { + PCAplot(genes(cuff), "PC1", "PC2", replicates = args$replicates) + } else if (args$plotType == "dendrogram") { + csDendro(genes(cuff), replicates = args$replicates) + } else if (args$plotType == "scatter") { if (args$gene_selector) { - myGenes <- getGenes(cuff, args$genes) - csScatter(get_features(myGenes, args$features), args$x, args$y, smooth=args$smooth, logMode=args$log10) + my_genes <- get_features(getGenes(cuff, args$genes), args$features) + } else { + my_genes <- genes(cuff) } - else { - csScatter(genes(cuff), args$x, args$y, smooth=args$smooth, logMode=args$log10) - } - } - else if (args$plotType == 'volcano') { + csScatter(my_genes, args$x, args$y, smooth = args$smooth, logMode = args$log10) + } else if (args$plotType == "volcano") { if (args$gene_selector) { - myGenes <- get_features(getGenes(cuff, args$genes), args$features) - } - else { - myGenes <- genes(cuff) - } - csVolcano(myGenes, args$x, args$y) - } - else if (args$plotType == 'heatmap') { - if (args$gene_selector) { - myGenes <- getGenes(cuff, args$genes) + my_genes <- get_features(getGenes(cuff, args$genes), args$features) + } else { + my_genes <- genes(cuff) } - else { - myGenes <- getGenes(cuff,annotation(genes(cuff))[[1]]) + csVolcano(my_genes, args$x, args$y) + } else if (args$plotType == "heatmap") { + if (args$gene_selector) { + my_genes <- getGenes(cuff, args$genes) + } else { + my_genes <- getGenes(cuff, annotation(genes(cuff))[[1]]) } - csHeatmap(get_features(myGenes, args$features), clustering=args$clustering, labCol=args$labcol, labRow=args$labrow, border=args$border, logMode=args$log10) - } - else if (args$plotType == 'cluster') { - myGenes <- getGenes(cuff, args$genes) - csCluster(get_features(myGenes, args$features), k=args$k) - } - else if (args$plotType == 'dispersion') { + csHeatmap(get_features(my_genes, args$features), clustering = args$clustering, labCol = args$labcol, labRow = args$labrow, border = args$border, logMode = args$log10) + } else if (args$plotType == "cluster") { + my_genes <- getGenes(cuff, args$genes) + csCluster(get_features(my_genes, args$features), k = args$k) + } else if (args$plotType == "dispersion") { dispersionPlot(genes(cuff)) - } - else if (args$plotType == 'fpkmSCV') { + } else if (args$plotType == "fpkmSCV") { fpkmSCVPlot(genes(cuff)) - } - else if (args$plotType == 'scatterMatrix') { + } else if (args$plotType == "scatterMatrix") { csScatterMatrix(genes(cuff)) + } else if (args$plotType == "expressionplot") { + my_genes <- getGenes(cuff, args$genes) + expressionPlot(get_features(my_genes, args$features), drawSummary = args$summary, showErrorbars = args$error_bars, replicates = args$replicates) + } else if (args$plotType == "expressionbarplot") { + my_gene_id <- args$genes + my_genes <- getGenes(cuff, my_gene_id) + expressionBarplot(get_features(my_genes, args$features), showErrorbars = args$error_bars, replicates = args$replicates) + } else if (args$plotType == "mds") { + MDSplot(genes(cuff), replicates = args$replicates) + } else if (args$plotType == "pca") { + PCAplot(genes(cuff), "PC1", "PC2", replicates = args$replicates) + } else if (args$plotType == "maplot") { + MAplot(genes(cuff), args$x, args$y, useCount = args$count) + } else if (args$plotType == "genetrack") { + my_gene <- getGene(cuff, args$genes) + plotTracks(makeGeneRegionTrack(my_gene)) } - else if (args$plotType == 'expressionplot') { - myGenes <- getGenes(cuff, args$genes) - expressionPlot(get_features(myGenes, args$features), drawSummary=args$summary, showErrorbars=args$error_bars, replicates=args$replicates) - } - else if (args$plotType == 'expressionbarplot') { - myGeneId <- args$genes - myGenes <- getGenes(cuff, myGeneId) - expressionBarplot(get_features(myGenes, args$features), showErrorbars=args$error_bars, replicates=args$replicates) - } - else if (args$plotType == 'mds') { - MDSplot(genes(cuff),replicates=args$replicates) - } - else if (args$plotType == 'pca') { - PCAplot(genes(cuff),"PC1","PC2", replicates=args$replicates) - } - else if (args$plotType == 'maplot') { - MAplot(genes(cuff), args$x, args$y, useCount=args$count) - } - else if (args$plotType == 'genetrack') { - myGene <- getGene(cuff, args$genes) - plotTracks(makeGeneRegionTrack(myGene)) - } -},error = function(e) { - write(paste("Failed:", e, sep=" "), stderr()) +}, error = function(e) { + write(paste("Failed:", e, sep = " "), stderr()) q("no", 1, TRUE) }) -devname = dev.off() +devname <- dev.off() +print("cummeRbund finished") diff -r 78fcfc04fcfe -r c3b54a4b7741 cummeRbund.xml --- a/cummeRbund.xml Thu Feb 23 20:24:03 2017 -0500 +++ b/cummeRbund.xml Mon Jul 06 20:25:47 2020 -0400 @@ -1,20 +1,22 @@ - + visualize Cuffdiff output cummeRbund_macros.xml - r-argparse - bioconductor-cummerbund + fonts-conda-ecosystem + r-argparse + r-base + bioconductor-cummerbund 0: --gene_selector #for gene in $p.plot.genes: - --genes ${gene.gene_id} + --genes '$gene.gene_id' #end for #end if #elif $p.plot.type == "cluster": --features $p.plot.features --k $p.plot.k --iter_max $p.plot.iter_max #if len($p.plot.genes) > 0: #for gene in $p.plot.genes: - --genes ${gene.gene_id} + --genes '$gene.gene_id' #end for #end if #elif $p.plot.type in [ "expressionplot", "expressionbarplot" ]: #if $p.plot.type == "expressionplot": $p.plot.draw_summary #end if - --features $p.plot.features $p.plot.error_bars --genes ${p.plot.gene_id} $p.plot.replicates $p.plot.log10 + --features $p.plot.features $p.plot.error_bars --genes '$p.plot.gene_id' $p.plot.replicates $p.plot.log10 #end if #if $p.plot.type == "density": $p.plot.log10 #end if - > "${output}" 2>&1 ; + > '${output}' 2>&1 ; #end for ]]> @@ -175,7 +177,8 @@ - + + @@ -190,7 +193,8 @@ - + + @@ -203,7 +207,8 @@ - + + @@ -216,7 +221,8 @@ - + + @@ -229,7 +235,8 @@ - + + @@ -244,7 +251,8 @@ - + + @@ -259,7 +267,8 @@ - + + @@ -278,7 +287,8 @@ - + + @@ -291,7 +301,8 @@ - + + @@ -304,7 +315,8 @@ - + + @@ -319,7 +331,8 @@ - + + @@ -332,7 +345,8 @@ - + + @@ -345,7 +359,8 @@ - + + diff -r 78fcfc04fcfe -r c3b54a4b7741 cummeRbund_macros.xml --- a/cummeRbund_macros.xml Thu Feb 23 20:24:03 2017 -0500 +++ b/cummeRbund_macros.xml Mon Jul 06 20:25:47 2020 -0400 @@ -1,5 +1,6 @@ + 2.16.0 diff -r 78fcfc04fcfe -r c3b54a4b7741 cummeRbund_options.py --- a/cummeRbund_options.py Thu Feb 23 20:24:03 2017 -0500 +++ b/cummeRbund_options.py Mon Jul 06 20:25:47 2020 -0400 @@ -1,11 +1,13 @@ import sqlite3 -def get_genes( database_path ): - conn = sqlite3.connect( database_path ) - gene_ids = conn.execute( 'SELECT gene_short_name, gene_id FROM genes ORDER BY gene_short_name' ) - return [ ( gene_id[ 0 ], gene_id[ 1 ], False ) for gene_id in gene_ids ] + +def get_genes(database_path): + conn = sqlite3.connect(database_path) + gene_ids = conn.execute('SELECT gene_short_name, gene_id FROM genes ORDER BY gene_short_name') + return [(gene_id[0], gene_id[1], False) for gene_id in gene_ids] -def get_samples( database_path ): - conn = sqlite3.connect( database_path ) - samples = conn.execute( 'SELECT sample_name FROM samples ORDER BY sample_name' ) - return [ ( sample[ 0 ], sample[ 0 ], False ) for sample in samples ] + +def get_samples(database_path): + conn = sqlite3.connect(database_path) + samples = conn.execute('SELECT sample_name FROM samples ORDER BY sample_name') + return [(sample[0], sample[0], False) for sample in samples] diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/boxplot.png Binary file test-data/boxplot.png has changed diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/boxplot.txt --- a/test-data/boxplot.txt Thu Feb 23 20:24:03 2017 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,279 +0,0 @@ -> get_features <- function(myGenes, f="gene") { -+ if (f == "isoforms") -+ return(isoforms(myGenes)) -+ else if (f == "tss") -+ return(TSS(myGenes)) -+ else if (f == "cds") -+ return(CDS(myGenes)) -+ else -+ return(myGenes) -+ } -> -> ## Main Function ## -> -> library(argparse) -Loading required package: proto -> -> parser <- ArgumentParser(description='Create a plot with cummeRbund') -> -> parser$add_argument('--type', dest='plotType', default='Density', required=TRUE) -> parser$add_argument('--height', dest='height', type='integer', default=960, required=TRUE) -> parser$add_argument('--width', dest='width', type='integer', default=1280, required=TRUE) -> parser$add_argument('--outfile', dest='filename', default="plot-unknown-0.png", required=TRUE) -> parser$add_argument('--input', dest='input_database', default="cuffData.db", required=TRUE) -> parser$add_argument('--smooth', dest='smooth', action="store_true", default=FALSE) -> parser$add_argument('--gene_selector', dest='gene_selector', action="store_true", default=FALSE) -> parser$add_argument('--replicates', dest='replicates', action="store_true", default=FALSE) -> parser$add_argument('--labcol', dest='labcol', action="store_true", default=FALSE) -> parser$add_argument('--labrow', dest='labrow', action="store_true", default=FALSE) -> parser$add_argument('--border', dest='border', action="store_true", default=FALSE) -> parser$add_argument('--summary', dest='summary', action="store_true", default=FALSE) -> parser$add_argument('--count', dest='count', action="store_true", default=FALSE) -> parser$add_argument('--error_bars', dest='error_bars', action="store_true", default=FALSE) -> parser$add_argument('--log10', dest='log10', action="store_true", default=FALSE) -> parser$add_argument('--features', dest='features', action="store", default="genes") -> parser$add_argument('--clustering', dest='clustering', action="store", default="both") -> parser$add_argument('--iter_max', dest='iter_max', action="store") -> parser$add_argument('--genes', dest='genes', action="append") -> parser$add_argument('--k', dest='k', action="store") -> parser$add_argument('--x', dest='x', action="store") -> parser$add_argument('--y', dest='y', action="store") -> -> args <- parser$parse_args() -> -> ## Load cummeRbund library -> library("cummeRbund") -Loading required package: BiocGenerics -Loading required package: methods -Loading required package: parallel - -Attaching package: ‘BiocGenerics’ - -The following objects are masked from ‘package:parallel’: - - clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, - clusterExport, clusterMap, parApply, parCapply, parLapply, - parLapplyLB, parRapply, parSapply, parSapplyLB - -The following objects are masked from ‘package:stats’: - - IQR, mad, xtabs - -The following objects are masked from ‘package:base’: - - anyDuplicated, append, as.data.frame, cbind, colnames, do.call, - duplicated, eval, evalq, Filter, Find, get, grep, grepl, intersect, - is.unsorted, lapply, lengths, Map, mapply, match, mget, order, - paste, pmax, pmax.int, pmin, pmin.int, Position, rank, rbind, - Reduce, rownames, sapply, setdiff, sort, table, tapply, union, - unique, unsplit, which, which.max, which.min - -Loading required package: RSQLite -Loading required package: DBI -Loading required package: ggplot2 -Loading required package: reshape2 -Loading required package: fastcluster - -Attaching package: ‘fastcluster’ - -The following object is masked from ‘package:stats’: - - hclust - -Loading required package: rtracklayer -Loading required package: GenomicRanges -Loading required package: stats4 -Loading required package: S4Vectors - -Attaching package: ‘S4Vectors’ - -The following objects are masked from ‘package:base’: - - colMeans, colSums, expand.grid, rowMeans, rowSums - -Loading required package: IRanges -Loading required package: GenomeInfoDb -Loading required package: Gviz -Loading required package: grid -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ - -Attaching package: ‘cummeRbund’ - -The following object is masked from ‘package:GenomicRanges’: - - promoters - -The following object is masked from ‘package:IRanges’: - - promoters - -The following object is masked from ‘package:BiocGenerics’: - - conditions - -> -> ## Initialize cuff object -> cuff <- readCufflinks(dir = "", dbFile = args$input_database, rebuild = FALSE) -> -> ## Print out info -> print(cuff) -CuffSet instance with: - 2 samples - 87 genes - 90 isoforms - 88 TSS - 0 CDS - 87 promoters - 88 splicing - 0 relCDS -> sink("cuffdb_info.txt") -> print(cuff) -> print("SAMPLES:") -> samples(cuff) -> print("REPLICATES:") -> replicates(cuff) -> print("FEATURES:") -> print(annotation(genes(cuff))) -> cat(annotation(genes(cuff))[[1]],sep=",") -> sink() -> -> png(filename = args$filename, width = args$width, height = args$height, type=c('cairo-png')) -> tryCatch({ -+ if (args$plotType == 'density') { -+ csDensity(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'boxplot') { -+ csBoxplot(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff), "PC1", "PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'dendrogram') { -+ csDendro(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'scatter') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ csScatter(get_features(myGenes, args$features), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ else { -+ csScatter(genes(cuff), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ } -+ else if (args$plotType == 'volcano') { -+ if (args$gene_selector) { -+ myGenes <- get_features(getGenes(cuff, args$genes), args$features) -+ } -+ else { -+ myGenes <- genes(cuff) -+ } -+ csVolcano(myGenes, args$x, args$y) -+ } -+ else if (args$plotType == 'heatmap') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ } -+ else { -+ myGenes <- getGenes(cuff,annotation(genes(cuff))[[1]]) -+ } -+ csHeatmap(get_features(myGenes, args$features), clustering=args$clustering, labCol=args$labcol, labRow=args$labrow, border=args$border, logMode=args$log10) -+ } -+ else if (args$plotType == 'cluster') { -+ myGenes <- getGenes(cuff, args$genes) -+ csCluster(get_features(myGenes, args$features), k=args$k) -+ } -+ else if (args$plotType == 'dispersion') { -+ dispersionPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'fpkmSCV') { -+ fpkmSCVPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'scatterMatrix') { -+ csScatterMatrix(genes(cuff)) -+ } -+ else if (args$plotType == 'expressionplot') { -+ myGenes <- getGenes(cuff, args$genes) -+ expressionPlot(get_features(myGenes, args$features), drawSummary=args$summary, showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'expressionbarplot') { -+ myGeneId <- args$genes -+ myGenes <- getGenes(cuff, myGeneId) -+ expressionBarplot(get_features(myGenes, args$features), showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff),replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff),"PC1","PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'maplot') { -+ MAplot(genes(cuff), args$x, args$y, useCount=args$count) -+ } -+ else if (args$plotType == 'genetrack') { -+ myGene <- getGene(cuff, args$genes) -+ plotTracks(makeGeneRegionTrack(myGene)) -+ } -+ },error = function(e) { -+ write(paste("Failed:", e, sep=" "), stderr()) -+ q("no", 1, TRUE) -+ }) -> devname = dev.off() -> diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/dendrogram.png Binary file test-data/dendrogram.png has changed diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/dendrogram.txt --- a/test-data/dendrogram.txt Thu Feb 23 20:24:03 2017 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,280 +0,0 @@ -> get_features <- function(myGenes, f="gene") { -+ if (f == "isoforms") -+ return(isoforms(myGenes)) -+ else if (f == "tss") -+ return(TSS(myGenes)) -+ else if (f == "cds") -+ return(CDS(myGenes)) -+ else -+ return(myGenes) -+ } -> -> ## Main Function ## -> -> library(argparse) -Loading required package: proto -> -> parser <- ArgumentParser(description='Create a plot with cummeRbund') -> -> parser$add_argument('--type', dest='plotType', default='Density', required=TRUE) -> parser$add_argument('--height', dest='height', type='integer', default=960, required=TRUE) -> parser$add_argument('--width', dest='width', type='integer', default=1280, required=TRUE) -> parser$add_argument('--outfile', dest='filename', default="plot-unknown-0.png", required=TRUE) -> parser$add_argument('--input', dest='input_database', default="cuffData.db", required=TRUE) -> parser$add_argument('--smooth', dest='smooth', action="store_true", default=FALSE) -> parser$add_argument('--gene_selector', dest='gene_selector', action="store_true", default=FALSE) -> parser$add_argument('--replicates', dest='replicates', action="store_true", default=FALSE) -> parser$add_argument('--labcol', dest='labcol', action="store_true", default=FALSE) -> parser$add_argument('--labrow', dest='labrow', action="store_true", default=FALSE) -> parser$add_argument('--border', dest='border', action="store_true", default=FALSE) -> parser$add_argument('--summary', dest='summary', action="store_true", default=FALSE) -> parser$add_argument('--count', dest='count', action="store_true", default=FALSE) -> parser$add_argument('--error_bars', dest='error_bars', action="store_true", default=FALSE) -> parser$add_argument('--log10', dest='log10', action="store_true", default=FALSE) -> parser$add_argument('--features', dest='features', action="store", default="genes") -> parser$add_argument('--clustering', dest='clustering', action="store", default="both") -> parser$add_argument('--iter_max', dest='iter_max', action="store") -> parser$add_argument('--genes', dest='genes', action="append") -> parser$add_argument('--k', dest='k', action="store") -> parser$add_argument('--x', dest='x', action="store") -> parser$add_argument('--y', dest='y', action="store") -> -> args <- parser$parse_args() -> -> ## Load cummeRbund library -> library("cummeRbund") -Loading required package: BiocGenerics -Loading required package: methods -Loading required package: parallel - -Attaching package: ‘BiocGenerics’ - -The following objects are masked from ‘package:parallel’: - - clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, - clusterExport, clusterMap, parApply, parCapply, parLapply, - parLapplyLB, parRapply, parSapply, parSapplyLB - -The following objects are masked from ‘package:stats’: - - IQR, mad, xtabs - -The following objects are masked from ‘package:base’: - - anyDuplicated, append, as.data.frame, cbind, colnames, do.call, - duplicated, eval, evalq, Filter, Find, get, grep, grepl, intersect, - is.unsorted, lapply, lengths, Map, mapply, match, mget, order, - paste, pmax, pmax.int, pmin, pmin.int, Position, rank, rbind, - Reduce, rownames, sapply, setdiff, sort, table, tapply, union, - unique, unsplit, which, which.max, which.min - -Loading required package: RSQLite -Loading required package: DBI -Loading required package: ggplot2 -Loading required package: reshape2 -Loading required package: fastcluster - -Attaching package: ‘fastcluster’ - -The following object is masked from ‘package:stats’: - - hclust - -Loading required package: rtracklayer -Loading required package: GenomicRanges -Loading required package: stats4 -Loading required package: S4Vectors - -Attaching package: ‘S4Vectors’ - -The following objects are masked from ‘package:base’: - - colMeans, colSums, expand.grid, rowMeans, rowSums - -Loading required package: IRanges -Loading required package: GenomeInfoDb -Loading required package: Gviz -Loading required package: grid -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ - -Attaching package: ‘cummeRbund’ - -The following object is masked from ‘package:GenomicRanges’: - - promoters - -The following object is masked from ‘package:IRanges’: - - promoters - -The following object is masked from ‘package:BiocGenerics’: - - conditions - -> -> ## Initialize cuff object -> cuff <- readCufflinks(dir = "", dbFile = args$input_database, rebuild = FALSE) -> -> ## Print out info -> print(cuff) -CuffSet instance with: - 2 samples - 87 genes - 90 isoforms - 88 TSS - 0 CDS - 87 promoters - 88 splicing - 0 relCDS -> sink("cuffdb_info.txt") -> print(cuff) -> print("SAMPLES:") -> samples(cuff) -> print("REPLICATES:") -> replicates(cuff) -> print("FEATURES:") -> print(annotation(genes(cuff))) -> cat(annotation(genes(cuff))[[1]],sep=",") -> sink() -> -> png(filename = args$filename, width = args$width, height = args$height, type=c('cairo-png')) -> tryCatch({ -+ if (args$plotType == 'density') { -+ csDensity(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'boxplot') { -+ csBoxplot(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff), "PC1", "PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'dendrogram') { -+ csDendro(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'scatter') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ csScatter(get_features(myGenes, args$features), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ else { -+ csScatter(genes(cuff), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ } -+ else if (args$plotType == 'volcano') { -+ if (args$gene_selector) { -+ myGenes <- get_features(getGenes(cuff, args$genes), args$features) -+ } -+ else { -+ myGenes <- genes(cuff) -+ } -+ csVolcano(myGenes, args$x, args$y) -+ } -+ else if (args$plotType == 'heatmap') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ } -+ else { -+ myGenes <- getGenes(cuff,annotation(genes(cuff))[[1]]) -+ } -+ csHeatmap(get_features(myGenes, args$features), clustering=args$clustering, labCol=args$labcol, labRow=args$labrow, border=args$border, logMode=args$log10) -+ } -+ else if (args$plotType == 'cluster') { -+ myGenes <- getGenes(cuff, args$genes) -+ csCluster(get_features(myGenes, args$features), k=args$k) -+ } -+ else if (args$plotType == 'dispersion') { -+ dispersionPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'fpkmSCV') { -+ fpkmSCVPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'scatterMatrix') { -+ csScatterMatrix(genes(cuff)) -+ } -+ else if (args$plotType == 'expressionplot') { -+ myGenes <- getGenes(cuff, args$genes) -+ expressionPlot(get_features(myGenes, args$features), drawSummary=args$summary, showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'expressionbarplot') { -+ myGeneId <- args$genes -+ myGenes <- getGenes(cuff, myGeneId) -+ expressionBarplot(get_features(myGenes, args$features), showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff),replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff),"PC1","PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'maplot') { -+ MAplot(genes(cuff), args$x, args$y, useCount=args$count) -+ } -+ else if (args$plotType == 'genetrack') { -+ myGene <- getGene(cuff, args$genes) -+ plotTracks(makeGeneRegionTrack(myGene)) -+ } -+ },error = function(e) { -+ write(paste("Failed:", e, sep=" "), stderr()) -+ q("no", 1, TRUE) -+ }) -'dendrogram' with 2 branches and 2 members total, at height 0.7672512 -> devname = dev.off() -> diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/density.png Binary file test-data/density.png has changed diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/density.txt --- a/test-data/density.txt Thu Feb 23 20:24:03 2017 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,281 +0,0 @@ -> get_features <- function(myGenes, f="gene") { -+ if (f == "isoforms") -+ return(isoforms(myGenes)) -+ else if (f == "tss") -+ return(TSS(myGenes)) -+ else if (f == "cds") -+ return(CDS(myGenes)) -+ else -+ return(myGenes) -+ } -> -> ## Main Function ## -> -> library(argparse) -Loading required package: proto -> -> parser <- ArgumentParser(description='Create a plot with cummeRbund') -> -> parser$add_argument('--type', dest='plotType', default='Density', required=TRUE) -> parser$add_argument('--height', dest='height', type='integer', default=960, required=TRUE) -> parser$add_argument('--width', dest='width', type='integer', default=1280, required=TRUE) -> parser$add_argument('--outfile', dest='filename', default="plot-unknown-0.png", required=TRUE) -> parser$add_argument('--input', dest='input_database', default="cuffData.db", required=TRUE) -> parser$add_argument('--smooth', dest='smooth', action="store_true", default=FALSE) -> parser$add_argument('--gene_selector', dest='gene_selector', action="store_true", default=FALSE) -> parser$add_argument('--replicates', dest='replicates', action="store_true", default=FALSE) -> parser$add_argument('--labcol', dest='labcol', action="store_true", default=FALSE) -> parser$add_argument('--labrow', dest='labrow', action="store_true", default=FALSE) -> parser$add_argument('--border', dest='border', action="store_true", default=FALSE) -> parser$add_argument('--summary', dest='summary', action="store_true", default=FALSE) -> parser$add_argument('--count', dest='count', action="store_true", default=FALSE) -> parser$add_argument('--error_bars', dest='error_bars', action="store_true", default=FALSE) -> parser$add_argument('--log10', dest='log10', action="store_true", default=FALSE) -> parser$add_argument('--features', dest='features', action="store", default="genes") -> parser$add_argument('--clustering', dest='clustering', action="store", default="both") -> parser$add_argument('--iter_max', dest='iter_max', action="store") -> parser$add_argument('--genes', dest='genes', action="append") -> parser$add_argument('--k', dest='k', action="store") -> parser$add_argument('--x', dest='x', action="store") -> parser$add_argument('--y', dest='y', action="store") -> -> args <- parser$parse_args() -> -> ## Load cummeRbund library -> library("cummeRbund") -Loading required package: BiocGenerics -Loading required package: methods -Loading required package: parallel - -Attaching package: ‘BiocGenerics’ - -The following objects are masked from ‘package:parallel’: - - clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, - clusterExport, clusterMap, parApply, parCapply, parLapply, - parLapplyLB, parRapply, parSapply, parSapplyLB - -The following objects are masked from ‘package:stats’: - - IQR, mad, xtabs - -The following objects are masked from ‘package:base’: - - anyDuplicated, append, as.data.frame, cbind, colnames, do.call, - duplicated, eval, evalq, Filter, Find, get, grep, grepl, intersect, - is.unsorted, lapply, lengths, Map, mapply, match, mget, order, - paste, pmax, pmax.int, pmin, pmin.int, Position, rank, rbind, - Reduce, rownames, sapply, setdiff, sort, table, tapply, union, - unique, unsplit, which, which.max, which.min - -Loading required package: RSQLite -Loading required package: DBI -Loading required package: ggplot2 -Loading required package: reshape2 -Loading required package: fastcluster - -Attaching package: ‘fastcluster’ - -The following object is masked from ‘package:stats’: - - hclust - -Loading required package: rtracklayer -Loading required package: GenomicRanges -Loading required package: stats4 -Loading required package: S4Vectors - -Attaching package: ‘S4Vectors’ - -The following objects are masked from ‘package:base’: - - colMeans, colSums, expand.grid, rowMeans, rowSums - -Loading required package: IRanges -Loading required package: GenomeInfoDb -Loading required package: Gviz -Loading required package: grid -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ - -Attaching package: ‘cummeRbund’ - -The following object is masked from ‘package:GenomicRanges’: - - promoters - -The following object is masked from ‘package:IRanges’: - - promoters - -The following object is masked from ‘package:BiocGenerics’: - - conditions - -> -> ## Initialize cuff object -> cuff <- readCufflinks(dir = "", dbFile = args$input_database, rebuild = FALSE) -> -> ## Print out info -> print(cuff) -CuffSet instance with: - 2 samples - 87 genes - 90 isoforms - 88 TSS - 0 CDS - 87 promoters - 88 splicing - 0 relCDS -> sink("cuffdb_info.txt") -> print(cuff) -> print("SAMPLES:") -> samples(cuff) -> print("REPLICATES:") -> replicates(cuff) -> print("FEATURES:") -> print(annotation(genes(cuff))) -> cat(annotation(genes(cuff))[[1]],sep=",") -> sink() -> -> png(filename = args$filename, width = args$width, height = args$height, type=c('cairo-png')) -> tryCatch({ -+ if (args$plotType == 'density') { -+ csDensity(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'boxplot') { -+ csBoxplot(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff), "PC1", "PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'dendrogram') { -+ csDendro(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'scatter') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ csScatter(get_features(myGenes, args$features), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ else { -+ csScatter(genes(cuff), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ } -+ else if (args$plotType == 'volcano') { -+ if (args$gene_selector) { -+ myGenes <- get_features(getGenes(cuff, args$genes), args$features) -+ } -+ else { -+ myGenes <- genes(cuff) -+ } -+ csVolcano(myGenes, args$x, args$y) -+ } -+ else if (args$plotType == 'heatmap') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ } -+ else { -+ myGenes <- getGenes(cuff,annotation(genes(cuff))[[1]]) -+ } -+ csHeatmap(get_features(myGenes, args$features), clustering=args$clustering, labCol=args$labcol, labRow=args$labrow, border=args$border, logMode=args$log10) -+ } -+ else if (args$plotType == 'cluster') { -+ myGenes <- getGenes(cuff, args$genes) -+ csCluster(get_features(myGenes, args$features), k=args$k) -+ } -+ else if (args$plotType == 'dispersion') { -+ dispersionPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'fpkmSCV') { -+ fpkmSCVPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'scatterMatrix') { -+ csScatterMatrix(genes(cuff)) -+ } -+ else if (args$plotType == 'expressionplot') { -+ myGenes <- getGenes(cuff, args$genes) -+ expressionPlot(get_features(myGenes, args$features), drawSummary=args$summary, showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'expressionbarplot') { -+ myGeneId <- args$genes -+ myGenes <- getGenes(cuff, myGeneId) -+ expressionBarplot(get_features(myGenes, args$features), showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff),replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff),"PC1","PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'maplot') { -+ MAplot(genes(cuff), args$x, args$y, useCount=args$count) -+ } -+ else if (args$plotType == 'genetrack') { -+ myGene <- getGene(cuff, args$genes) -+ plotTracks(makeGeneRegionTrack(myGene)) -+ } -+ },error = function(e) { -+ write(paste("Failed:", e, sep=" "), stderr()) -+ q("no", 1, TRUE) -+ }) -Warning message: -Removed 128 rows containing non-finite values (stat_density). -> devname = dev.off() -> diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/dispersion.png Binary file test-data/dispersion.png has changed diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/dispersion.txt --- a/test-data/dispersion.txt Thu Feb 23 20:24:03 2017 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,282 +0,0 @@ -> get_features <- function(myGenes, f="gene") { -+ if (f == "isoforms") -+ return(isoforms(myGenes)) -+ else if (f == "tss") -+ return(TSS(myGenes)) -+ else if (f == "cds") -+ return(CDS(myGenes)) -+ else -+ return(myGenes) -+ } -> -> ## Main Function ## -> -> library(argparse) -Loading required package: proto -> -> parser <- ArgumentParser(description='Create a plot with cummeRbund') -> -> parser$add_argument('--type', dest='plotType', default='Density', required=TRUE) -> parser$add_argument('--height', dest='height', type='integer', default=960, required=TRUE) -> parser$add_argument('--width', dest='width', type='integer', default=1280, required=TRUE) -> parser$add_argument('--outfile', dest='filename', default="plot-unknown-0.png", required=TRUE) -> parser$add_argument('--input', dest='input_database', default="cuffData.db", required=TRUE) -> parser$add_argument('--smooth', dest='smooth', action="store_true", default=FALSE) -> parser$add_argument('--gene_selector', dest='gene_selector', action="store_true", default=FALSE) -> parser$add_argument('--replicates', dest='replicates', action="store_true", default=FALSE) -> parser$add_argument('--labcol', dest='labcol', action="store_true", default=FALSE) -> parser$add_argument('--labrow', dest='labrow', action="store_true", default=FALSE) -> parser$add_argument('--border', dest='border', action="store_true", default=FALSE) -> parser$add_argument('--summary', dest='summary', action="store_true", default=FALSE) -> parser$add_argument('--count', dest='count', action="store_true", default=FALSE) -> parser$add_argument('--error_bars', dest='error_bars', action="store_true", default=FALSE) -> parser$add_argument('--log10', dest='log10', action="store_true", default=FALSE) -> parser$add_argument('--features', dest='features', action="store", default="genes") -> parser$add_argument('--clustering', dest='clustering', action="store", default="both") -> parser$add_argument('--iter_max', dest='iter_max', action="store") -> parser$add_argument('--genes', dest='genes', action="append") -> parser$add_argument('--k', dest='k', action="store") -> parser$add_argument('--x', dest='x', action="store") -> parser$add_argument('--y', dest='y', action="store") -> -> args <- parser$parse_args() -> -> ## Load cummeRbund library -> library("cummeRbund") -Loading required package: BiocGenerics -Loading required package: methods -Loading required package: parallel - -Attaching package: ‘BiocGenerics’ - -The following objects are masked from ‘package:parallel’: - - clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, - clusterExport, clusterMap, parApply, parCapply, parLapply, - parLapplyLB, parRapply, parSapply, parSapplyLB - -The following objects are masked from ‘package:stats’: - - IQR, mad, xtabs - -The following objects are masked from ‘package:base’: - - anyDuplicated, append, as.data.frame, cbind, colnames, do.call, - duplicated, eval, evalq, Filter, Find, get, grep, grepl, intersect, - is.unsorted, lapply, lengths, Map, mapply, match, mget, order, - paste, pmax, pmax.int, pmin, pmin.int, Position, rank, rbind, - Reduce, rownames, sapply, setdiff, sort, table, tapply, union, - unique, unsplit, which, which.max, which.min - -Loading required package: RSQLite -Loading required package: DBI -Loading required package: ggplot2 -Loading required package: reshape2 -Loading required package: fastcluster - -Attaching package: ‘fastcluster’ - -The following object is masked from ‘package:stats’: - - hclust - -Loading required package: rtracklayer -Loading required package: GenomicRanges -Loading required package: stats4 -Loading required package: S4Vectors - -Attaching package: ‘S4Vectors’ - -The following objects are masked from ‘package:base’: - - colMeans, colSums, expand.grid, rowMeans, rowSums - -Loading required package: IRanges -Loading required package: GenomeInfoDb -Loading required package: Gviz -Loading required package: grid -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ - -Attaching package: ‘cummeRbund’ - -The following object is masked from ‘package:GenomicRanges’: - - promoters - -The following object is masked from ‘package:IRanges’: - - promoters - -The following object is masked from ‘package:BiocGenerics’: - - conditions - -> -> ## Initialize cuff object -> cuff <- readCufflinks(dir = "", dbFile = args$input_database, rebuild = FALSE) -> -> ## Print out info -> print(cuff) -CuffSet instance with: - 2 samples - 87 genes - 90 isoforms - 88 TSS - 0 CDS - 87 promoters - 88 splicing - 0 relCDS -> sink("cuffdb_info.txt") -> print(cuff) -> print("SAMPLES:") -> samples(cuff) -> print("REPLICATES:") -> replicates(cuff) -> print("FEATURES:") -> print(annotation(genes(cuff))) -> cat(annotation(genes(cuff))[[1]],sep=",") -> sink() -> -> png(filename = args$filename, width = args$width, height = args$height, type=c('cairo-png')) -> tryCatch({ -+ if (args$plotType == 'density') { -+ csDensity(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'boxplot') { -+ csBoxplot(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff), "PC1", "PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'dendrogram') { -+ csDendro(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'scatter') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ csScatter(get_features(myGenes, args$features), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ else { -+ csScatter(genes(cuff), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ } -+ else if (args$plotType == 'volcano') { -+ if (args$gene_selector) { -+ myGenes <- get_features(getGenes(cuff, args$genes), args$features) -+ } -+ else { -+ myGenes <- genes(cuff) -+ } -+ csVolcano(myGenes, args$x, args$y) -+ } -+ else if (args$plotType == 'heatmap') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ } -+ else { -+ myGenes <- getGenes(cuff,annotation(genes(cuff))[[1]]) -+ } -+ csHeatmap(get_features(myGenes, args$features), clustering=args$clustering, labCol=args$labcol, labRow=args$labrow, border=args$border, logMode=args$log10) -+ } -+ else if (args$plotType == 'cluster') { -+ myGenes <- getGenes(cuff, args$genes) -+ csCluster(get_features(myGenes, args$features), k=args$k) -+ } -+ else if (args$plotType == 'dispersion') { -+ dispersionPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'fpkmSCV') { -+ fpkmSCVPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'scatterMatrix') { -+ csScatterMatrix(genes(cuff)) -+ } -+ else if (args$plotType == 'expressionplot') { -+ myGenes <- getGenes(cuff, args$genes) -+ expressionPlot(get_features(myGenes, args$features), drawSummary=args$summary, showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'expressionbarplot') { -+ myGeneId <- args$genes -+ myGenes <- getGenes(cuff, myGeneId) -+ expressionBarplot(get_features(myGenes, args$features), showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff),replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff),"PC1","PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'maplot') { -+ MAplot(genes(cuff), args$x, args$y, useCount=args$count) -+ } -+ else if (args$plotType == 'genetrack') { -+ myGene <- getGene(cuff, args$genes) -+ plotTracks(makeGeneRegionTrack(myGene)) -+ } -+ },error = function(e) { -+ write(paste("Failed:", e, sep=" "), stderr()) -+ q("no", 1, TRUE) -+ }) -Warning messages: -1: Transformation introduced infinite values in continuous x-axis -2: Transformation introduced infinite values in continuous y-axis -> devname = dev.off() -> diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/expressionbarplot.png Binary file test-data/expressionbarplot.png has changed diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/expressionbarplot.txt --- a/test-data/expressionbarplot.txt Thu Feb 23 20:24:03 2017 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,311 +0,0 @@ -> get_features <- function(myGenes, f="gene") { -+ if (f == "isoforms") -+ return(isoforms(myGenes)) -+ else if (f == "tss") -+ return(TSS(myGenes)) -+ else if (f == "cds") -+ return(CDS(myGenes)) -+ else -+ return(myGenes) -+ } -> -> ## Main Function ## -> -> library(argparse) -Loading required package: proto -> -> parser <- ArgumentParser(description='Create a plot with cummeRbund') -> -> parser$add_argument('--type', dest='plotType', default='Density', required=TRUE) -> parser$add_argument('--height', dest='height', type='integer', default=960, required=TRUE) -> parser$add_argument('--width', dest='width', type='integer', default=1280, required=TRUE) -> parser$add_argument('--outfile', dest='filename', default="plot-unknown-0.png", required=TRUE) -> parser$add_argument('--input', dest='input_database', default="cuffData.db", required=TRUE) -> parser$add_argument('--smooth', dest='smooth', action="store_true", default=FALSE) -> parser$add_argument('--gene_selector', dest='gene_selector', action="store_true", default=FALSE) -> parser$add_argument('--replicates', dest='replicates', action="store_true", default=FALSE) -> parser$add_argument('--labcol', dest='labcol', action="store_true", default=FALSE) -> parser$add_argument('--labrow', dest='labrow', action="store_true", default=FALSE) -> parser$add_argument('--border', dest='border', action="store_true", default=FALSE) -> parser$add_argument('--summary', dest='summary', action="store_true", default=FALSE) -> parser$add_argument('--count', dest='count', action="store_true", default=FALSE) -> parser$add_argument('--error_bars', dest='error_bars', action="store_true", default=FALSE) -> parser$add_argument('--log10', dest='log10', action="store_true", default=FALSE) -> parser$add_argument('--features', dest='features', action="store", default="genes") -> parser$add_argument('--clustering', dest='clustering', action="store", default="both") -> parser$add_argument('--iter_max', dest='iter_max', action="store") -> parser$add_argument('--genes', dest='genes', action="append") -> parser$add_argument('--k', dest='k', action="store") -> parser$add_argument('--x', dest='x', action="store") -> parser$add_argument('--y', dest='y', action="store") -> -> args <- parser$parse_args() -> -> ## Load cummeRbund library -> library("cummeRbund") -Loading required package: BiocGenerics -Loading required package: methods -Loading required package: parallel - -Attaching package: ‘BiocGenerics’ - -The following objects are masked from ‘package:parallel’: - - clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, - clusterExport, clusterMap, parApply, parCapply, parLapply, - parLapplyLB, parRapply, parSapply, parSapplyLB - -The following objects are masked from ‘package:stats’: - - IQR, mad, xtabs - -The following objects are masked from ‘package:base’: - - anyDuplicated, append, as.data.frame, cbind, colnames, do.call, - duplicated, eval, evalq, Filter, Find, get, grep, grepl, intersect, - is.unsorted, lapply, lengths, Map, mapply, match, mget, order, - paste, pmax, pmax.int, pmin, pmin.int, Position, rank, rbind, - Reduce, rownames, sapply, setdiff, sort, table, tapply, union, - unique, unsplit, which, which.max, which.min - -Loading required package: RSQLite -Loading required package: DBI -Loading required package: ggplot2 -Loading required package: reshape2 -Loading required package: fastcluster - -Attaching package: ‘fastcluster’ - -The following object is masked from ‘package:stats’: - - hclust - -Loading required package: rtracklayer -Loading required package: GenomicRanges -Loading required package: stats4 -Loading required package: S4Vectors - -Attaching package: ‘S4Vectors’ - -The following objects are masked from ‘package:base’: - - colMeans, colSums, expand.grid, rowMeans, rowSums - -Loading required package: IRanges -Loading required package: GenomeInfoDb -Loading required package: Gviz -Loading required package: grid -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ - -Attaching package: ‘cummeRbund’ - -The following object is masked from ‘package:GenomicRanges’: - - promoters - -The following object is masked from ‘package:IRanges’: - - promoters - -The following object is masked from ‘package:BiocGenerics’: - - conditions - -> -> ## Initialize cuff object -> cuff <- readCufflinks(dir = "", dbFile = args$input_database, rebuild = FALSE) -> -> ## Print out info -> print(cuff) -CuffSet instance with: - 2 samples - 87 genes - 90 isoforms - 88 TSS - 0 CDS - 87 promoters - 88 splicing - 0 relCDS -> sink("cuffdb_info.txt") -> print(cuff) -> print("SAMPLES:") -> samples(cuff) -> print("REPLICATES:") -> replicates(cuff) -> print("FEATURES:") -> print(annotation(genes(cuff))) -> cat(annotation(genes(cuff))[[1]],sep=",") -> sink() -> -> png(filename = args$filename, width = args$width, height = args$height, type=c('cairo-png')) -> tryCatch({ -+ if (args$plotType == 'density') { -+ csDensity(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'boxplot') { -+ csBoxplot(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff), "PC1", "PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'dendrogram') { -+ csDendro(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'scatter') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ csScatter(get_features(myGenes, args$features), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ else { -+ csScatter(genes(cuff), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ } -+ else if (args$plotType == 'volcano') { -+ if (args$gene_selector) { -+ myGenes <- get_features(getGenes(cuff, args$genes), args$features) -+ } -+ else { -+ myGenes <- genes(cuff) -+ } -+ csVolcano(myGenes, args$x, args$y) -+ } -+ else if (args$plotType == 'heatmap') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ } -+ else { -+ myGenes <- getGenes(cuff,annotation(genes(cuff))[[1]]) -+ } -+ csHeatmap(get_features(myGenes, args$features), clustering=args$clustering, labCol=args$labcol, labRow=args$labrow, border=args$border, logMode=args$log10) -+ } -+ else if (args$plotType == 'cluster') { -+ myGenes <- getGenes(cuff, args$genes) -+ csCluster(get_features(myGenes, args$features), k=args$k) -+ } -+ else if (args$plotType == 'dispersion') { -+ dispersionPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'fpkmSCV') { -+ fpkmSCVPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'scatterMatrix') { -+ csScatterMatrix(genes(cuff)) -+ } -+ else if (args$plotType == 'expressionplot') { -+ myGenes <- getGenes(cuff, args$genes) -+ expressionPlot(get_features(myGenes, args$features), drawSummary=args$summary, showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'expressionbarplot') { -+ myGeneId <- args$genes -+ myGenes <- getGenes(cuff, myGeneId) -+ expressionBarplot(get_features(myGenes, args$features), showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff),replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff),"PC1","PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'maplot') { -+ MAplot(genes(cuff), args$x, args$y, useCount=args$count) -+ } -+ else if (args$plotType == 'genetrack') { -+ myGene <- getGene(cuff, args$genes) -+ plotTracks(makeGeneRegionTrack(myGene)) -+ } -+ },error = function(e) { -+ write(paste("Failed:", e, sep=" "), stderr()) -+ q("no", 1, TRUE) -+ }) -Getting gene information: - FPKM - Differential Expression Data - Annotation Data - Replicate FPKMs - Counts -Getting isoforms information: - FPKM - Differential Expression Data - Annotation Data - Replicate FPKMs - Counts -Getting CDS information: - FPKM - Differential Expression Data - Annotation Data - Replicate FPKMs - Counts -Getting TSS information: - FPKM - Differential Expression Data - Annotation Data - Replicate FPKMs - Counts -Getting promoter information: - distData -Getting splicing information: - distData -Getting relCDS information: - distData -Scale for 'colour' is already present. Adding another scale for 'colour', -which will replace the existing scale. -> devname = dev.off() -> diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/expressionplot.png Binary file test-data/expressionplot.png has changed diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/expressionplot.txt --- a/test-data/expressionplot.txt Thu Feb 23 20:24:03 2017 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,309 +0,0 @@ -> get_features <- function(myGenes, f="gene") { -+ if (f == "isoforms") -+ return(isoforms(myGenes)) -+ else if (f == "tss") -+ return(TSS(myGenes)) -+ else if (f == "cds") -+ return(CDS(myGenes)) -+ else -+ return(myGenes) -+ } -> -> ## Main Function ## -> -> library(argparse) -Loading required package: proto -> -> parser <- ArgumentParser(description='Create a plot with cummeRbund') -> -> parser$add_argument('--type', dest='plotType', default='Density', required=TRUE) -> parser$add_argument('--height', dest='height', type='integer', default=960, required=TRUE) -> parser$add_argument('--width', dest='width', type='integer', default=1280, required=TRUE) -> parser$add_argument('--outfile', dest='filename', default="plot-unknown-0.png", required=TRUE) -> parser$add_argument('--input', dest='input_database', default="cuffData.db", required=TRUE) -> parser$add_argument('--smooth', dest='smooth', action="store_true", default=FALSE) -> parser$add_argument('--gene_selector', dest='gene_selector', action="store_true", default=FALSE) -> parser$add_argument('--replicates', dest='replicates', action="store_true", default=FALSE) -> parser$add_argument('--labcol', dest='labcol', action="store_true", default=FALSE) -> parser$add_argument('--labrow', dest='labrow', action="store_true", default=FALSE) -> parser$add_argument('--border', dest='border', action="store_true", default=FALSE) -> parser$add_argument('--summary', dest='summary', action="store_true", default=FALSE) -> parser$add_argument('--count', dest='count', action="store_true", default=FALSE) -> parser$add_argument('--error_bars', dest='error_bars', action="store_true", default=FALSE) -> parser$add_argument('--log10', dest='log10', action="store_true", default=FALSE) -> parser$add_argument('--features', dest='features', action="store", default="genes") -> parser$add_argument('--clustering', dest='clustering', action="store", default="both") -> parser$add_argument('--iter_max', dest='iter_max', action="store") -> parser$add_argument('--genes', dest='genes', action="append") -> parser$add_argument('--k', dest='k', action="store") -> parser$add_argument('--x', dest='x', action="store") -> parser$add_argument('--y', dest='y', action="store") -> -> args <- parser$parse_args() -> -> ## Load cummeRbund library -> library("cummeRbund") -Loading required package: BiocGenerics -Loading required package: methods -Loading required package: parallel - -Attaching package: ‘BiocGenerics’ - -The following objects are masked from ‘package:parallel’: - - clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, - clusterExport, clusterMap, parApply, parCapply, parLapply, - parLapplyLB, parRapply, parSapply, parSapplyLB - -The following objects are masked from ‘package:stats’: - - IQR, mad, xtabs - -The following objects are masked from ‘package:base’: - - anyDuplicated, append, as.data.frame, cbind, colnames, do.call, - duplicated, eval, evalq, Filter, Find, get, grep, grepl, intersect, - is.unsorted, lapply, lengths, Map, mapply, match, mget, order, - paste, pmax, pmax.int, pmin, pmin.int, Position, rank, rbind, - Reduce, rownames, sapply, setdiff, sort, table, tapply, union, - unique, unsplit, which, which.max, which.min - -Loading required package: RSQLite -Loading required package: DBI -Loading required package: ggplot2 -Loading required package: reshape2 -Loading required package: fastcluster - -Attaching package: ‘fastcluster’ - -The following object is masked from ‘package:stats’: - - hclust - -Loading required package: rtracklayer -Loading required package: GenomicRanges -Loading required package: stats4 -Loading required package: S4Vectors - -Attaching package: ‘S4Vectors’ - -The following objects are masked from ‘package:base’: - - colMeans, colSums, expand.grid, rowMeans, rowSums - -Loading required package: IRanges -Loading required package: GenomeInfoDb -Loading required package: Gviz -Loading required package: grid -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ - -Attaching package: ‘cummeRbund’ - -The following object is masked from ‘package:GenomicRanges’: - - promoters - -The following object is masked from ‘package:IRanges’: - - promoters - -The following object is masked from ‘package:BiocGenerics’: - - conditions - -> -> ## Initialize cuff object -> cuff <- readCufflinks(dir = "", dbFile = args$input_database, rebuild = FALSE) -> -> ## Print out info -> print(cuff) -CuffSet instance with: - 2 samples - 87 genes - 90 isoforms - 88 TSS - 0 CDS - 87 promoters - 88 splicing - 0 relCDS -> sink("cuffdb_info.txt") -> print(cuff) -> print("SAMPLES:") -> samples(cuff) -> print("REPLICATES:") -> replicates(cuff) -> print("FEATURES:") -> print(annotation(genes(cuff))) -> cat(annotation(genes(cuff))[[1]],sep=",") -> sink() -> -> png(filename = args$filename, width = args$width, height = args$height, type=c('cairo-png')) -> tryCatch({ -+ if (args$plotType == 'density') { -+ csDensity(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'boxplot') { -+ csBoxplot(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff), "PC1", "PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'dendrogram') { -+ csDendro(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'scatter') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ csScatter(get_features(myGenes, args$features), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ else { -+ csScatter(genes(cuff), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ } -+ else if (args$plotType == 'volcano') { -+ if (args$gene_selector) { -+ myGenes <- get_features(getGenes(cuff, args$genes), args$features) -+ } -+ else { -+ myGenes <- genes(cuff) -+ } -+ csVolcano(myGenes, args$x, args$y) -+ } -+ else if (args$plotType == 'heatmap') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ } -+ else { -+ myGenes <- getGenes(cuff,annotation(genes(cuff))[[1]]) -+ } -+ csHeatmap(get_features(myGenes, args$features), clustering=args$clustering, labCol=args$labcol, labRow=args$labrow, border=args$border, logMode=args$log10) -+ } -+ else if (args$plotType == 'cluster') { -+ myGenes <- getGenes(cuff, args$genes) -+ csCluster(get_features(myGenes, args$features), k=args$k) -+ } -+ else if (args$plotType == 'dispersion') { -+ dispersionPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'fpkmSCV') { -+ fpkmSCVPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'scatterMatrix') { -+ csScatterMatrix(genes(cuff)) -+ } -+ else if (args$plotType == 'expressionplot') { -+ myGenes <- getGenes(cuff, args$genes) -+ expressionPlot(get_features(myGenes, args$features), drawSummary=args$summary, showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'expressionbarplot') { -+ myGeneId <- args$genes -+ myGenes <- getGenes(cuff, myGeneId) -+ expressionBarplot(get_features(myGenes, args$features), showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff),replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff),"PC1","PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'maplot') { -+ MAplot(genes(cuff), args$x, args$y, useCount=args$count) -+ } -+ else if (args$plotType == 'genetrack') { -+ myGene <- getGene(cuff, args$genes) -+ plotTracks(makeGeneRegionTrack(myGene)) -+ } -+ },error = function(e) { -+ write(paste("Failed:", e, sep=" "), stderr()) -+ q("no", 1, TRUE) -+ }) -Getting gene information: - FPKM - Differential Expression Data - Annotation Data - Replicate FPKMs - Counts -Getting isoforms information: - FPKM - Differential Expression Data - Annotation Data - Replicate FPKMs - Counts -Getting CDS information: - FPKM - Differential Expression Data - Annotation Data - Replicate FPKMs - Counts -Getting TSS information: - FPKM - Differential Expression Data - Annotation Data - Replicate FPKMs - Counts -Getting promoter information: - distData -Getting splicing information: - distData -Getting relCDS information: - distData -> devname = dev.off() -> diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/fpkmSCV.png Binary file test-data/fpkmSCV.png has changed diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/fpkmSCV.txt --- a/test-data/fpkmSCV.txt Thu Feb 23 20:24:03 2017 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,285 +0,0 @@ -> get_features <- function(myGenes, f="gene") { -+ if (f == "isoforms") -+ return(isoforms(myGenes)) -+ else if (f == "tss") -+ return(TSS(myGenes)) -+ else if (f == "cds") -+ return(CDS(myGenes)) -+ else -+ return(myGenes) -+ } -> -> ## Main Function ## -> -> library(argparse) -Loading required package: proto -> -> parser <- ArgumentParser(description='Create a plot with cummeRbund') -> -> parser$add_argument('--type', dest='plotType', default='Density', required=TRUE) -> parser$add_argument('--height', dest='height', type='integer', default=960, required=TRUE) -> parser$add_argument('--width', dest='width', type='integer', default=1280, required=TRUE) -> parser$add_argument('--outfile', dest='filename', default="plot-unknown-0.png", required=TRUE) -> parser$add_argument('--input', dest='input_database', default="cuffData.db", required=TRUE) -> parser$add_argument('--smooth', dest='smooth', action="store_true", default=FALSE) -> parser$add_argument('--gene_selector', dest='gene_selector', action="store_true", default=FALSE) -> parser$add_argument('--replicates', dest='replicates', action="store_true", default=FALSE) -> parser$add_argument('--labcol', dest='labcol', action="store_true", default=FALSE) -> parser$add_argument('--labrow', dest='labrow', action="store_true", default=FALSE) -> parser$add_argument('--border', dest='border', action="store_true", default=FALSE) -> parser$add_argument('--summary', dest='summary', action="store_true", default=FALSE) -> parser$add_argument('--count', dest='count', action="store_true", default=FALSE) -> parser$add_argument('--error_bars', dest='error_bars', action="store_true", default=FALSE) -> parser$add_argument('--log10', dest='log10', action="store_true", default=FALSE) -> parser$add_argument('--features', dest='features', action="store", default="genes") -> parser$add_argument('--clustering', dest='clustering', action="store", default="both") -> parser$add_argument('--iter_max', dest='iter_max', action="store") -> parser$add_argument('--genes', dest='genes', action="append") -> parser$add_argument('--k', dest='k', action="store") -> parser$add_argument('--x', dest='x', action="store") -> parser$add_argument('--y', dest='y', action="store") -> -> args <- parser$parse_args() -> -> ## Load cummeRbund library -> library("cummeRbund") -Loading required package: BiocGenerics -Loading required package: methods -Loading required package: parallel - -Attaching package: ‘BiocGenerics’ - -The following objects are masked from ‘package:parallel’: - - clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, - clusterExport, clusterMap, parApply, parCapply, parLapply, - parLapplyLB, parRapply, parSapply, parSapplyLB - -The following objects are masked from ‘package:stats’: - - IQR, mad, xtabs - -The following objects are masked from ‘package:base’: - - anyDuplicated, append, as.data.frame, cbind, colnames, do.call, - duplicated, eval, evalq, Filter, Find, get, grep, grepl, intersect, - is.unsorted, lapply, lengths, Map, mapply, match, mget, order, - paste, pmax, pmax.int, pmin, pmin.int, Position, rank, rbind, - Reduce, rownames, sapply, setdiff, sort, table, tapply, union, - unique, unsplit, which, which.max, which.min - -Loading required package: RSQLite -Loading required package: DBI -Loading required package: ggplot2 -Loading required package: reshape2 -Loading required package: fastcluster - -Attaching package: ‘fastcluster’ - -The following object is masked from ‘package:stats’: - - hclust - -Loading required package: rtracklayer -Loading required package: GenomicRanges -Loading required package: stats4 -Loading required package: S4Vectors - -Attaching package: ‘S4Vectors’ - -The following objects are masked from ‘package:base’: - - colMeans, colSums, expand.grid, rowMeans, rowSums - -Loading required package: IRanges -Loading required package: GenomeInfoDb -Loading required package: Gviz -Loading required package: grid -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ - -Attaching package: ‘cummeRbund’ - -The following object is masked from ‘package:GenomicRanges’: - - promoters - -The following object is masked from ‘package:IRanges’: - - promoters - -The following object is masked from ‘package:BiocGenerics’: - - conditions - -> -> ## Initialize cuff object -> cuff <- readCufflinks(dir = "", dbFile = args$input_database, rebuild = FALSE) -> -> ## Print out info -> print(cuff) -CuffSet instance with: - 2 samples - 87 genes - 90 isoforms - 88 TSS - 0 CDS - 87 promoters - 88 splicing - 0 relCDS -> sink("cuffdb_info.txt") -> print(cuff) -> print("SAMPLES:") -> samples(cuff) -> print("REPLICATES:") -> replicates(cuff) -> print("FEATURES:") -> print(annotation(genes(cuff))) -> cat(annotation(genes(cuff))[[1]],sep=",") -> sink() -> -> png(filename = args$filename, width = args$width, height = args$height, type=c('cairo-png')) -> tryCatch({ -+ if (args$plotType == 'density') { -+ csDensity(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'boxplot') { -+ csBoxplot(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff), "PC1", "PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'dendrogram') { -+ csDendro(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'scatter') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ csScatter(get_features(myGenes, args$features), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ else { -+ csScatter(genes(cuff), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ } -+ else if (args$plotType == 'volcano') { -+ if (args$gene_selector) { -+ myGenes <- get_features(getGenes(cuff, args$genes), args$features) -+ } -+ else { -+ myGenes <- genes(cuff) -+ } -+ csVolcano(myGenes, args$x, args$y) -+ } -+ else if (args$plotType == 'heatmap') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ } -+ else { -+ myGenes <- getGenes(cuff,annotation(genes(cuff))[[1]]) -+ } -+ csHeatmap(get_features(myGenes, args$features), clustering=args$clustering, labCol=args$labcol, labRow=args$labrow, border=args$border, logMode=args$log10) -+ } -+ else if (args$plotType == 'cluster') { -+ myGenes <- getGenes(cuff, args$genes) -+ csCluster(get_features(myGenes, args$features), k=args$k) -+ } -+ else if (args$plotType == 'dispersion') { -+ dispersionPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'fpkmSCV') { -+ fpkmSCVPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'scatterMatrix') { -+ csScatterMatrix(genes(cuff)) -+ } -+ else if (args$plotType == 'expressionplot') { -+ myGenes <- getGenes(cuff, args$genes) -+ expressionPlot(get_features(myGenes, args$features), drawSummary=args$summary, showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'expressionbarplot') { -+ myGeneId <- args$genes -+ myGenes <- getGenes(cuff, myGeneId) -+ expressionBarplot(get_features(myGenes, args$features), showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff),replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff),"PC1","PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'maplot') { -+ MAplot(genes(cuff), args$x, args$y, useCount=args$count) -+ } -+ else if (args$plotType == 'genetrack') { -+ myGene <- getGene(cuff, args$genes) -+ plotTracks(makeGeneRegionTrack(myGene)) -+ } -+ },error = function(e) { -+ write(paste("Failed:", e, sep=" "), stderr()) -+ q("no", 1, TRUE) -+ }) -Scale for 'x' is already present. Adding another scale for 'x', which will -replace the existing scale. -`geom_smooth()` using method = 'loess' -Warning message: -In .local(object, FPKMLowerBound, ...) : - At least one of your conditions does not have enough replicates to estimate variance. Estimating variance across all conditions instead. -> devname = dev.off() -> diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/heatmap.png Binary file test-data/heatmap.png has changed diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/heatmap.txt --- a/test-data/heatmap.txt Thu Feb 23 20:24:03 2017 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,311 +0,0 @@ -> get_features <- function(myGenes, f="gene") { -+ if (f == "isoforms") -+ return(isoforms(myGenes)) -+ else if (f == "tss") -+ return(TSS(myGenes)) -+ else if (f == "cds") -+ return(CDS(myGenes)) -+ else -+ return(myGenes) -+ } -> -> ## Main Function ## -> -> library(argparse) -Loading required package: proto -> -> parser <- ArgumentParser(description='Create a plot with cummeRbund') -> -> parser$add_argument('--type', dest='plotType', default='Density', required=TRUE) -> parser$add_argument('--height', dest='height', type='integer', default=960, required=TRUE) -> parser$add_argument('--width', dest='width', type='integer', default=1280, required=TRUE) -> parser$add_argument('--outfile', dest='filename', default="plot-unknown-0.png", required=TRUE) -> parser$add_argument('--input', dest='input_database', default="cuffData.db", required=TRUE) -> parser$add_argument('--smooth', dest='smooth', action="store_true", default=FALSE) -> parser$add_argument('--gene_selector', dest='gene_selector', action="store_true", default=FALSE) -> parser$add_argument('--replicates', dest='replicates', action="store_true", default=FALSE) -> parser$add_argument('--labcol', dest='labcol', action="store_true", default=FALSE) -> parser$add_argument('--labrow', dest='labrow', action="store_true", default=FALSE) -> parser$add_argument('--border', dest='border', action="store_true", default=FALSE) -> parser$add_argument('--summary', dest='summary', action="store_true", default=FALSE) -> parser$add_argument('--count', dest='count', action="store_true", default=FALSE) -> parser$add_argument('--error_bars', dest='error_bars', action="store_true", default=FALSE) -> parser$add_argument('--log10', dest='log10', action="store_true", default=FALSE) -> parser$add_argument('--features', dest='features', action="store", default="genes") -> parser$add_argument('--clustering', dest='clustering', action="store", default="both") -> parser$add_argument('--iter_max', dest='iter_max', action="store") -> parser$add_argument('--genes', dest='genes', action="append") -> parser$add_argument('--k', dest='k', action="store") -> parser$add_argument('--x', dest='x', action="store") -> parser$add_argument('--y', dest='y', action="store") -> -> args <- parser$parse_args() -> -> ## Load cummeRbund library -> library("cummeRbund") -Loading required package: BiocGenerics -Loading required package: methods -Loading required package: parallel - -Attaching package: ‘BiocGenerics’ - -The following objects are masked from ‘package:parallel’: - - clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, - clusterExport, clusterMap, parApply, parCapply, parLapply, - parLapplyLB, parRapply, parSapply, parSapplyLB - -The following objects are masked from ‘package:stats’: - - IQR, mad, xtabs - -The following objects are masked from ‘package:base’: - - anyDuplicated, append, as.data.frame, cbind, colnames, do.call, - duplicated, eval, evalq, Filter, Find, get, grep, grepl, intersect, - is.unsorted, lapply, lengths, Map, mapply, match, mget, order, - paste, pmax, pmax.int, pmin, pmin.int, Position, rank, rbind, - Reduce, rownames, sapply, setdiff, sort, table, tapply, union, - unique, unsplit, which, which.max, which.min - -Loading required package: RSQLite -Loading required package: DBI -Loading required package: ggplot2 -Loading required package: reshape2 -Loading required package: fastcluster - -Attaching package: ‘fastcluster’ - -The following object is masked from ‘package:stats’: - - hclust - -Loading required package: rtracklayer -Loading required package: GenomicRanges -Loading required package: stats4 -Loading required package: S4Vectors - -Attaching package: ‘S4Vectors’ - -The following objects are masked from ‘package:base’: - - colMeans, colSums, expand.grid, rowMeans, rowSums - -Loading required package: IRanges -Loading required package: GenomeInfoDb -Loading required package: Gviz -Loading required package: grid -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ - -Attaching package: ‘cummeRbund’ - -The following object is masked from ‘package:GenomicRanges’: - - promoters - -The following object is masked from ‘package:IRanges’: - - promoters - -The following object is masked from ‘package:BiocGenerics’: - - conditions - -> -> ## Initialize cuff object -> cuff <- readCufflinks(dir = "", dbFile = args$input_database, rebuild = FALSE) -> -> ## Print out info -> print(cuff) -CuffSet instance with: - 2 samples - 87 genes - 90 isoforms - 88 TSS - 0 CDS - 87 promoters - 88 splicing - 0 relCDS -> sink("cuffdb_info.txt") -> print(cuff) -> print("SAMPLES:") -> samples(cuff) -> print("REPLICATES:") -> replicates(cuff) -> print("FEATURES:") -> print(annotation(genes(cuff))) -> cat(annotation(genes(cuff))[[1]],sep=",") -> sink() -> -> png(filename = args$filename, width = args$width, height = args$height, type=c('cairo-png')) -> tryCatch({ -+ if (args$plotType == 'density') { -+ csDensity(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'boxplot') { -+ csBoxplot(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff), "PC1", "PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'dendrogram') { -+ csDendro(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'scatter') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ csScatter(get_features(myGenes, args$features), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ else { -+ csScatter(genes(cuff), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ } -+ else if (args$plotType == 'volcano') { -+ if (args$gene_selector) { -+ myGenes <- get_features(getGenes(cuff, args$genes), args$features) -+ } -+ else { -+ myGenes <- genes(cuff) -+ } -+ csVolcano(myGenes, args$x, args$y) -+ } -+ else if (args$plotType == 'heatmap') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ } -+ else { -+ myGenes <- getGenes(cuff,annotation(genes(cuff))[[1]]) -+ } -+ csHeatmap(get_features(myGenes, args$features), clustering=args$clustering, labCol=args$labcol, labRow=args$labrow, border=args$border, logMode=args$log10) -+ } -+ else if (args$plotType == 'cluster') { -+ myGenes <- getGenes(cuff, args$genes) -+ csCluster(get_features(myGenes, args$features), k=args$k) -+ } -+ else if (args$plotType == 'dispersion') { -+ dispersionPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'fpkmSCV') { -+ fpkmSCVPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'scatterMatrix') { -+ csScatterMatrix(genes(cuff)) -+ } -+ else if (args$plotType == 'expressionplot') { -+ myGenes <- getGenes(cuff, args$genes) -+ expressionPlot(get_features(myGenes, args$features), drawSummary=args$summary, showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'expressionbarplot') { -+ myGeneId <- args$genes -+ myGenes <- getGenes(cuff, myGeneId) -+ expressionBarplot(get_features(myGenes, args$features), showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff),replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff),"PC1","PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'maplot') { -+ MAplot(genes(cuff), args$x, args$y, useCount=args$count) -+ } -+ else if (args$plotType == 'genetrack') { -+ myGene <- getGene(cuff, args$genes) -+ plotTracks(makeGeneRegionTrack(myGene)) -+ } -+ },error = function(e) { -+ write(paste("Failed:", e, sep=" "), stderr()) -+ q("no", 1, TRUE) -+ }) -Getting gene information: - FPKM - Differential Expression Data - Annotation Data - Replicate FPKMs - Counts -Getting isoforms information: - FPKM - Differential Expression Data - Annotation Data - Replicate FPKMs - Counts -Getting CDS information: - FPKM - Differential Expression Data - Annotation Data - Replicate FPKMs - Counts -Getting TSS information: - FPKM - Differential Expression Data - Annotation Data - Replicate FPKMs - Counts -Getting promoter information: - distData -Getting splicing information: - distData -Getting relCDS information: - distData -Using tracking_id, sample_name as id variables -No id variables; using all as measure variables -> devname = dev.off() -> diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/maplot.png Binary file test-data/maplot.png has changed diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/maplot.txt --- a/test-data/maplot.txt Thu Feb 23 20:24:03 2017 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,281 +0,0 @@ -> get_features <- function(myGenes, f="gene") { -+ if (f == "isoforms") -+ return(isoforms(myGenes)) -+ else if (f == "tss") -+ return(TSS(myGenes)) -+ else if (f == "cds") -+ return(CDS(myGenes)) -+ else -+ return(myGenes) -+ } -> -> ## Main Function ## -> -> library(argparse) -Loading required package: proto -> -> parser <- ArgumentParser(description='Create a plot with cummeRbund') -> -> parser$add_argument('--type', dest='plotType', default='Density', required=TRUE) -> parser$add_argument('--height', dest='height', type='integer', default=960, required=TRUE) -> parser$add_argument('--width', dest='width', type='integer', default=1280, required=TRUE) -> parser$add_argument('--outfile', dest='filename', default="plot-unknown-0.png", required=TRUE) -> parser$add_argument('--input', dest='input_database', default="cuffData.db", required=TRUE) -> parser$add_argument('--smooth', dest='smooth', action="store_true", default=FALSE) -> parser$add_argument('--gene_selector', dest='gene_selector', action="store_true", default=FALSE) -> parser$add_argument('--replicates', dest='replicates', action="store_true", default=FALSE) -> parser$add_argument('--labcol', dest='labcol', action="store_true", default=FALSE) -> parser$add_argument('--labrow', dest='labrow', action="store_true", default=FALSE) -> parser$add_argument('--border', dest='border', action="store_true", default=FALSE) -> parser$add_argument('--summary', dest='summary', action="store_true", default=FALSE) -> parser$add_argument('--count', dest='count', action="store_true", default=FALSE) -> parser$add_argument('--error_bars', dest='error_bars', action="store_true", default=FALSE) -> parser$add_argument('--log10', dest='log10', action="store_true", default=FALSE) -> parser$add_argument('--features', dest='features', action="store", default="genes") -> parser$add_argument('--clustering', dest='clustering', action="store", default="both") -> parser$add_argument('--iter_max', dest='iter_max', action="store") -> parser$add_argument('--genes', dest='genes', action="append") -> parser$add_argument('--k', dest='k', action="store") -> parser$add_argument('--x', dest='x', action="store") -> parser$add_argument('--y', dest='y', action="store") -> -> args <- parser$parse_args() -> -> ## Load cummeRbund library -> library("cummeRbund") -Loading required package: BiocGenerics -Loading required package: methods -Loading required package: parallel - -Attaching package: ‘BiocGenerics’ - -The following objects are masked from ‘package:parallel’: - - clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, - clusterExport, clusterMap, parApply, parCapply, parLapply, - parLapplyLB, parRapply, parSapply, parSapplyLB - -The following objects are masked from ‘package:stats’: - - IQR, mad, xtabs - -The following objects are masked from ‘package:base’: - - anyDuplicated, append, as.data.frame, cbind, colnames, do.call, - duplicated, eval, evalq, Filter, Find, get, grep, grepl, intersect, - is.unsorted, lapply, lengths, Map, mapply, match, mget, order, - paste, pmax, pmax.int, pmin, pmin.int, Position, rank, rbind, - Reduce, rownames, sapply, setdiff, sort, table, tapply, union, - unique, unsplit, which, which.max, which.min - -Loading required package: RSQLite -Loading required package: DBI -Loading required package: ggplot2 -Loading required package: reshape2 -Loading required package: fastcluster - -Attaching package: ‘fastcluster’ - -The following object is masked from ‘package:stats’: - - hclust - -Loading required package: rtracklayer -Loading required package: GenomicRanges -Loading required package: stats4 -Loading required package: S4Vectors - -Attaching package: ‘S4Vectors’ - -The following objects are masked from ‘package:base’: - - colMeans, colSums, expand.grid, rowMeans, rowSums - -Loading required package: IRanges -Loading required package: GenomeInfoDb -Loading required package: Gviz -Loading required package: grid -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ - -Attaching package: ‘cummeRbund’ - -The following object is masked from ‘package:GenomicRanges’: - - promoters - -The following object is masked from ‘package:IRanges’: - - promoters - -The following object is masked from ‘package:BiocGenerics’: - - conditions - -> -> ## Initialize cuff object -> cuff <- readCufflinks(dir = "", dbFile = args$input_database, rebuild = FALSE) -> -> ## Print out info -> print(cuff) -CuffSet instance with: - 2 samples - 87 genes - 90 isoforms - 88 TSS - 0 CDS - 87 promoters - 88 splicing - 0 relCDS -> sink("cuffdb_info.txt") -> print(cuff) -> print("SAMPLES:") -> samples(cuff) -> print("REPLICATES:") -> replicates(cuff) -> print("FEATURES:") -> print(annotation(genes(cuff))) -> cat(annotation(genes(cuff))[[1]],sep=",") -> sink() -> -> png(filename = args$filename, width = args$width, height = args$height, type=c('cairo-png')) -> tryCatch({ -+ if (args$plotType == 'density') { -+ csDensity(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'boxplot') { -+ csBoxplot(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff), "PC1", "PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'dendrogram') { -+ csDendro(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'scatter') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ csScatter(get_features(myGenes, args$features), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ else { -+ csScatter(genes(cuff), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ } -+ else if (args$plotType == 'volcano') { -+ if (args$gene_selector) { -+ myGenes <- get_features(getGenes(cuff, args$genes), args$features) -+ } -+ else { -+ myGenes <- genes(cuff) -+ } -+ csVolcano(myGenes, args$x, args$y) -+ } -+ else if (args$plotType == 'heatmap') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ } -+ else { -+ myGenes <- getGenes(cuff,annotation(genes(cuff))[[1]]) -+ } -+ csHeatmap(get_features(myGenes, args$features), clustering=args$clustering, labCol=args$labcol, labRow=args$labrow, border=args$border, logMode=args$log10) -+ } -+ else if (args$plotType == 'cluster') { -+ myGenes <- getGenes(cuff, args$genes) -+ csCluster(get_features(myGenes, args$features), k=args$k) -+ } -+ else if (args$plotType == 'dispersion') { -+ dispersionPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'fpkmSCV') { -+ fpkmSCVPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'scatterMatrix') { -+ csScatterMatrix(genes(cuff)) -+ } -+ else if (args$plotType == 'expressionplot') { -+ myGenes <- getGenes(cuff, args$genes) -+ expressionPlot(get_features(myGenes, args$features), drawSummary=args$summary, showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'expressionbarplot') { -+ myGeneId <- args$genes -+ myGenes <- getGenes(cuff, myGeneId) -+ expressionBarplot(get_features(myGenes, args$features), showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff),replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff),"PC1","PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'maplot') { -+ MAplot(genes(cuff), args$x, args$y, useCount=args$count) -+ } -+ else if (args$plotType == 'genetrack') { -+ myGene <- getGene(cuff, args$genes) -+ plotTracks(makeGeneRegionTrack(myGene)) -+ } -+ },error = function(e) { -+ write(paste("Failed:", e, sep=" "), stderr()) -+ q("no", 1, TRUE) -+ }) -Warning message: -Removed 52 rows containing missing values (geom_point). -> devname = dev.off() -> diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/pca.png Binary file test-data/pca.png has changed diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/pca.txt --- a/test-data/pca.txt Thu Feb 23 20:24:03 2017 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,280 +0,0 @@ -> get_features <- function(myGenes, f="gene") { -+ if (f == "isoforms") -+ return(isoforms(myGenes)) -+ else if (f == "tss") -+ return(TSS(myGenes)) -+ else if (f == "cds") -+ return(CDS(myGenes)) -+ else -+ return(myGenes) -+ } -> -> ## Main Function ## -> -> library(argparse) -Loading required package: proto -> -> parser <- ArgumentParser(description='Create a plot with cummeRbund') -> -> parser$add_argument('--type', dest='plotType', default='Density', required=TRUE) -> parser$add_argument('--height', dest='height', type='integer', default=960, required=TRUE) -> parser$add_argument('--width', dest='width', type='integer', default=1280, required=TRUE) -> parser$add_argument('--outfile', dest='filename', default="plot-unknown-0.png", required=TRUE) -> parser$add_argument('--input', dest='input_database', default="cuffData.db", required=TRUE) -> parser$add_argument('--smooth', dest='smooth', action="store_true", default=FALSE) -> parser$add_argument('--gene_selector', dest='gene_selector', action="store_true", default=FALSE) -> parser$add_argument('--replicates', dest='replicates', action="store_true", default=FALSE) -> parser$add_argument('--labcol', dest='labcol', action="store_true", default=FALSE) -> parser$add_argument('--labrow', dest='labrow', action="store_true", default=FALSE) -> parser$add_argument('--border', dest='border', action="store_true", default=FALSE) -> parser$add_argument('--summary', dest='summary', action="store_true", default=FALSE) -> parser$add_argument('--count', dest='count', action="store_true", default=FALSE) -> parser$add_argument('--error_bars', dest='error_bars', action="store_true", default=FALSE) -> parser$add_argument('--log10', dest='log10', action="store_true", default=FALSE) -> parser$add_argument('--features', dest='features', action="store", default="genes") -> parser$add_argument('--clustering', dest='clustering', action="store", default="both") -> parser$add_argument('--iter_max', dest='iter_max', action="store") -> parser$add_argument('--genes', dest='genes', action="append") -> parser$add_argument('--k', dest='k', action="store") -> parser$add_argument('--x', dest='x', action="store") -> parser$add_argument('--y', dest='y', action="store") -> -> args <- parser$parse_args() -> -> ## Load cummeRbund library -> library("cummeRbund") -Loading required package: BiocGenerics -Loading required package: methods -Loading required package: parallel - -Attaching package: ‘BiocGenerics’ - -The following objects are masked from ‘package:parallel’: - - clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, - clusterExport, clusterMap, parApply, parCapply, parLapply, - parLapplyLB, parRapply, parSapply, parSapplyLB - -The following objects are masked from ‘package:stats’: - - IQR, mad, xtabs - -The following objects are masked from ‘package:base’: - - anyDuplicated, append, as.data.frame, cbind, colnames, do.call, - duplicated, eval, evalq, Filter, Find, get, grep, grepl, intersect, - is.unsorted, lapply, lengths, Map, mapply, match, mget, order, - paste, pmax, pmax.int, pmin, pmin.int, Position, rank, rbind, - Reduce, rownames, sapply, setdiff, sort, table, tapply, union, - unique, unsplit, which, which.max, which.min - -Loading required package: RSQLite -Loading required package: DBI -Loading required package: ggplot2 -Loading required package: reshape2 -Loading required package: fastcluster - -Attaching package: ‘fastcluster’ - -The following object is masked from ‘package:stats’: - - hclust - -Loading required package: rtracklayer -Loading required package: GenomicRanges -Loading required package: stats4 -Loading required package: S4Vectors - -Attaching package: ‘S4Vectors’ - -The following objects are masked from ‘package:base’: - - colMeans, colSums, expand.grid, rowMeans, rowSums - -Loading required package: IRanges -Loading required package: GenomeInfoDb -Loading required package: Gviz -Loading required package: grid -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ - -Attaching package: ‘cummeRbund’ - -The following object is masked from ‘package:GenomicRanges’: - - promoters - -The following object is masked from ‘package:IRanges’: - - promoters - -The following object is masked from ‘package:BiocGenerics’: - - conditions - -> -> ## Initialize cuff object -> cuff <- readCufflinks(dir = "", dbFile = args$input_database, rebuild = FALSE) -> -> ## Print out info -> print(cuff) -CuffSet instance with: - 2 samples - 87 genes - 90 isoforms - 88 TSS - 0 CDS - 87 promoters - 88 splicing - 0 relCDS -> sink("cuffdb_info.txt") -> print(cuff) -> print("SAMPLES:") -> samples(cuff) -> print("REPLICATES:") -> replicates(cuff) -> print("FEATURES:") -> print(annotation(genes(cuff))) -> cat(annotation(genes(cuff))[[1]],sep=",") -> sink() -> -> png(filename = args$filename, width = args$width, height = args$height, type=c('cairo-png')) -> tryCatch({ -+ if (args$plotType == 'density') { -+ csDensity(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'boxplot') { -+ csBoxplot(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff), "PC1", "PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'dendrogram') { -+ csDendro(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'scatter') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ csScatter(get_features(myGenes, args$features), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ else { -+ csScatter(genes(cuff), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ } -+ else if (args$plotType == 'volcano') { -+ if (args$gene_selector) { -+ myGenes <- get_features(getGenes(cuff, args$genes), args$features) -+ } -+ else { -+ myGenes <- genes(cuff) -+ } -+ csVolcano(myGenes, args$x, args$y) -+ } -+ else if (args$plotType == 'heatmap') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ } -+ else { -+ myGenes <- getGenes(cuff,annotation(genes(cuff))[[1]]) -+ } -+ csHeatmap(get_features(myGenes, args$features), clustering=args$clustering, labCol=args$labcol, labRow=args$labrow, border=args$border, logMode=args$log10) -+ } -+ else if (args$plotType == 'cluster') { -+ myGenes <- getGenes(cuff, args$genes) -+ csCluster(get_features(myGenes, args$features), k=args$k) -+ } -+ else if (args$plotType == 'dispersion') { -+ dispersionPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'fpkmSCV') { -+ fpkmSCVPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'scatterMatrix') { -+ csScatterMatrix(genes(cuff)) -+ } -+ else if (args$plotType == 'expressionplot') { -+ myGenes <- getGenes(cuff, args$genes) -+ expressionPlot(get_features(myGenes, args$features), drawSummary=args$summary, showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'expressionbarplot') { -+ myGeneId <- args$genes -+ myGenes <- getGenes(cuff, myGeneId) -+ expressionBarplot(get_features(myGenes, args$features), showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff),replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff),"PC1","PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'maplot') { -+ MAplot(genes(cuff), args$x, args$y, useCount=args$count) -+ } -+ else if (args$plotType == 'genetrack') { -+ myGene <- getGene(cuff, args$genes) -+ plotTracks(makeGeneRegionTrack(myGene)) -+ } -+ },error = function(e) { -+ write(paste("Failed:", e, sep=" "), stderr()) -+ q("no", 1, TRUE) -+ }) -Warning: Ignoring unknown aesthetics: label -> devname = dev.off() -> diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/scatter.png Binary file test-data/scatter.png has changed diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/scatter.txt --- a/test-data/scatter.txt Thu Feb 23 20:24:03 2017 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,279 +0,0 @@ -> get_features <- function(myGenes, f="gene") { -+ if (f == "isoforms") -+ return(isoforms(myGenes)) -+ else if (f == "tss") -+ return(TSS(myGenes)) -+ else if (f == "cds") -+ return(CDS(myGenes)) -+ else -+ return(myGenes) -+ } -> -> ## Main Function ## -> -> library(argparse) -Loading required package: proto -> -> parser <- ArgumentParser(description='Create a plot with cummeRbund') -> -> parser$add_argument('--type', dest='plotType', default='Density', required=TRUE) -> parser$add_argument('--height', dest='height', type='integer', default=960, required=TRUE) -> parser$add_argument('--width', dest='width', type='integer', default=1280, required=TRUE) -> parser$add_argument('--outfile', dest='filename', default="plot-unknown-0.png", required=TRUE) -> parser$add_argument('--input', dest='input_database', default="cuffData.db", required=TRUE) -> parser$add_argument('--smooth', dest='smooth', action="store_true", default=FALSE) -> parser$add_argument('--gene_selector', dest='gene_selector', action="store_true", default=FALSE) -> parser$add_argument('--replicates', dest='replicates', action="store_true", default=FALSE) -> parser$add_argument('--labcol', dest='labcol', action="store_true", default=FALSE) -> parser$add_argument('--labrow', dest='labrow', action="store_true", default=FALSE) -> parser$add_argument('--border', dest='border', action="store_true", default=FALSE) -> parser$add_argument('--summary', dest='summary', action="store_true", default=FALSE) -> parser$add_argument('--count', dest='count', action="store_true", default=FALSE) -> parser$add_argument('--error_bars', dest='error_bars', action="store_true", default=FALSE) -> parser$add_argument('--log10', dest='log10', action="store_true", default=FALSE) -> parser$add_argument('--features', dest='features', action="store", default="genes") -> parser$add_argument('--clustering', dest='clustering', action="store", default="both") -> parser$add_argument('--iter_max', dest='iter_max', action="store") -> parser$add_argument('--genes', dest='genes', action="append") -> parser$add_argument('--k', dest='k', action="store") -> parser$add_argument('--x', dest='x', action="store") -> parser$add_argument('--y', dest='y', action="store") -> -> args <- parser$parse_args() -> -> ## Load cummeRbund library -> library("cummeRbund") -Loading required package: BiocGenerics -Loading required package: methods -Loading required package: parallel - -Attaching package: ‘BiocGenerics’ - -The following objects are masked from ‘package:parallel’: - - clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, - clusterExport, clusterMap, parApply, parCapply, parLapply, - parLapplyLB, parRapply, parSapply, parSapplyLB - -The following objects are masked from ‘package:stats’: - - IQR, mad, xtabs - -The following objects are masked from ‘package:base’: - - anyDuplicated, append, as.data.frame, cbind, colnames, do.call, - duplicated, eval, evalq, Filter, Find, get, grep, grepl, intersect, - is.unsorted, lapply, lengths, Map, mapply, match, mget, order, - paste, pmax, pmax.int, pmin, pmin.int, Position, rank, rbind, - Reduce, rownames, sapply, setdiff, sort, table, tapply, union, - unique, unsplit, which, which.max, which.min - -Loading required package: RSQLite -Loading required package: DBI -Loading required package: ggplot2 -Loading required package: reshape2 -Loading required package: fastcluster - -Attaching package: ‘fastcluster’ - -The following object is masked from ‘package:stats’: - - hclust - -Loading required package: rtracklayer -Loading required package: GenomicRanges -Loading required package: stats4 -Loading required package: S4Vectors - -Attaching package: ‘S4Vectors’ - -The following objects are masked from ‘package:base’: - - colMeans, colSums, expand.grid, rowMeans, rowSums - -Loading required package: IRanges -Loading required package: GenomeInfoDb -Loading required package: Gviz -Loading required package: grid -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ - -Attaching package: ‘cummeRbund’ - -The following object is masked from ‘package:GenomicRanges’: - - promoters - -The following object is masked from ‘package:IRanges’: - - promoters - -The following object is masked from ‘package:BiocGenerics’: - - conditions - -> -> ## Initialize cuff object -> cuff <- readCufflinks(dir = "", dbFile = args$input_database, rebuild = FALSE) -> -> ## Print out info -> print(cuff) -CuffSet instance with: - 2 samples - 87 genes - 90 isoforms - 88 TSS - 0 CDS - 87 promoters - 88 splicing - 0 relCDS -> sink("cuffdb_info.txt") -> print(cuff) -> print("SAMPLES:") -> samples(cuff) -> print("REPLICATES:") -> replicates(cuff) -> print("FEATURES:") -> print(annotation(genes(cuff))) -> cat(annotation(genes(cuff))[[1]],sep=",") -> sink() -> -> png(filename = args$filename, width = args$width, height = args$height, type=c('cairo-png')) -> tryCatch({ -+ if (args$plotType == 'density') { -+ csDensity(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'boxplot') { -+ csBoxplot(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff), "PC1", "PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'dendrogram') { -+ csDendro(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'scatter') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ csScatter(get_features(myGenes, args$features), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ else { -+ csScatter(genes(cuff), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ } -+ else if (args$plotType == 'volcano') { -+ if (args$gene_selector) { -+ myGenes <- get_features(getGenes(cuff, args$genes), args$features) -+ } -+ else { -+ myGenes <- genes(cuff) -+ } -+ csVolcano(myGenes, args$x, args$y) -+ } -+ else if (args$plotType == 'heatmap') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ } -+ else { -+ myGenes <- getGenes(cuff,annotation(genes(cuff))[[1]]) -+ } -+ csHeatmap(get_features(myGenes, args$features), clustering=args$clustering, labCol=args$labcol, labRow=args$labrow, border=args$border, logMode=args$log10) -+ } -+ else if (args$plotType == 'cluster') { -+ myGenes <- getGenes(cuff, args$genes) -+ csCluster(get_features(myGenes, args$features), k=args$k) -+ } -+ else if (args$plotType == 'dispersion') { -+ dispersionPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'fpkmSCV') { -+ fpkmSCVPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'scatterMatrix') { -+ csScatterMatrix(genes(cuff)) -+ } -+ else if (args$plotType == 'expressionplot') { -+ myGenes <- getGenes(cuff, args$genes) -+ expressionPlot(get_features(myGenes, args$features), drawSummary=args$summary, showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'expressionbarplot') { -+ myGeneId <- args$genes -+ myGenes <- getGenes(cuff, myGeneId) -+ expressionBarplot(get_features(myGenes, args$features), showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff),replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff),"PC1","PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'maplot') { -+ MAplot(genes(cuff), args$x, args$y, useCount=args$count) -+ } -+ else if (args$plotType == 'genetrack') { -+ myGene <- getGene(cuff, args$genes) -+ plotTracks(makeGeneRegionTrack(myGene)) -+ } -+ },error = function(e) { -+ write(paste("Failed:", e, sep=" "), stderr()) -+ q("no", 1, TRUE) -+ }) -> devname = dev.off() -> diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/scatterMatrix.png Binary file test-data/scatterMatrix.png has changed diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/scatterMatrix.txt --- a/test-data/scatterMatrix.txt Thu Feb 23 20:24:03 2017 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,279 +0,0 @@ -> get_features <- function(myGenes, f="gene") { -+ if (f == "isoforms") -+ return(isoforms(myGenes)) -+ else if (f == "tss") -+ return(TSS(myGenes)) -+ else if (f == "cds") -+ return(CDS(myGenes)) -+ else -+ return(myGenes) -+ } -> -> ## Main Function ## -> -> library(argparse) -Loading required package: proto -> -> parser <- ArgumentParser(description='Create a plot with cummeRbund') -> -> parser$add_argument('--type', dest='plotType', default='Density', required=TRUE) -> parser$add_argument('--height', dest='height', type='integer', default=960, required=TRUE) -> parser$add_argument('--width', dest='width', type='integer', default=1280, required=TRUE) -> parser$add_argument('--outfile', dest='filename', default="plot-unknown-0.png", required=TRUE) -> parser$add_argument('--input', dest='input_database', default="cuffData.db", required=TRUE) -> parser$add_argument('--smooth', dest='smooth', action="store_true", default=FALSE) -> parser$add_argument('--gene_selector', dest='gene_selector', action="store_true", default=FALSE) -> parser$add_argument('--replicates', dest='replicates', action="store_true", default=FALSE) -> parser$add_argument('--labcol', dest='labcol', action="store_true", default=FALSE) -> parser$add_argument('--labrow', dest='labrow', action="store_true", default=FALSE) -> parser$add_argument('--border', dest='border', action="store_true", default=FALSE) -> parser$add_argument('--summary', dest='summary', action="store_true", default=FALSE) -> parser$add_argument('--count', dest='count', action="store_true", default=FALSE) -> parser$add_argument('--error_bars', dest='error_bars', action="store_true", default=FALSE) -> parser$add_argument('--log10', dest='log10', action="store_true", default=FALSE) -> parser$add_argument('--features', dest='features', action="store", default="genes") -> parser$add_argument('--clustering', dest='clustering', action="store", default="both") -> parser$add_argument('--iter_max', dest='iter_max', action="store") -> parser$add_argument('--genes', dest='genes', action="append") -> parser$add_argument('--k', dest='k', action="store") -> parser$add_argument('--x', dest='x', action="store") -> parser$add_argument('--y', dest='y', action="store") -> -> args <- parser$parse_args() -> -> ## Load cummeRbund library -> library("cummeRbund") -Loading required package: BiocGenerics -Loading required package: methods -Loading required package: parallel - -Attaching package: ‘BiocGenerics’ - -The following objects are masked from ‘package:parallel’: - - clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, - clusterExport, clusterMap, parApply, parCapply, parLapply, - parLapplyLB, parRapply, parSapply, parSapplyLB - -The following objects are masked from ‘package:stats’: - - IQR, mad, xtabs - -The following objects are masked from ‘package:base’: - - anyDuplicated, append, as.data.frame, cbind, colnames, do.call, - duplicated, eval, evalq, Filter, Find, get, grep, grepl, intersect, - is.unsorted, lapply, lengths, Map, mapply, match, mget, order, - paste, pmax, pmax.int, pmin, pmin.int, Position, rank, rbind, - Reduce, rownames, sapply, setdiff, sort, table, tapply, union, - unique, unsplit, which, which.max, which.min - -Loading required package: RSQLite -Loading required package: DBI -Loading required package: ggplot2 -Loading required package: reshape2 -Loading required package: fastcluster - -Attaching package: ‘fastcluster’ - -The following object is masked from ‘package:stats’: - - hclust - -Loading required package: rtracklayer -Loading required package: GenomicRanges -Loading required package: stats4 -Loading required package: S4Vectors - -Attaching package: ‘S4Vectors’ - -The following objects are masked from ‘package:base’: - - colMeans, colSums, expand.grid, rowMeans, rowSums - -Loading required package: IRanges -Loading required package: GenomeInfoDb -Loading required package: Gviz -Loading required package: grid -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ - -Attaching package: ‘cummeRbund’ - -The following object is masked from ‘package:GenomicRanges’: - - promoters - -The following object is masked from ‘package:IRanges’: - - promoters - -The following object is masked from ‘package:BiocGenerics’: - - conditions - -> -> ## Initialize cuff object -> cuff <- readCufflinks(dir = "", dbFile = args$input_database, rebuild = FALSE) -> -> ## Print out info -> print(cuff) -CuffSet instance with: - 2 samples - 87 genes - 90 isoforms - 88 TSS - 0 CDS - 87 promoters - 88 splicing - 0 relCDS -> sink("cuffdb_info.txt") -> print(cuff) -> print("SAMPLES:") -> samples(cuff) -> print("REPLICATES:") -> replicates(cuff) -> print("FEATURES:") -> print(annotation(genes(cuff))) -> cat(annotation(genes(cuff))[[1]],sep=",") -> sink() -> -> png(filename = args$filename, width = args$width, height = args$height, type=c('cairo-png')) -> tryCatch({ -+ if (args$plotType == 'density') { -+ csDensity(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'boxplot') { -+ csBoxplot(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff), "PC1", "PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'dendrogram') { -+ csDendro(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'scatter') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ csScatter(get_features(myGenes, args$features), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ else { -+ csScatter(genes(cuff), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ } -+ else if (args$plotType == 'volcano') { -+ if (args$gene_selector) { -+ myGenes <- get_features(getGenes(cuff, args$genes), args$features) -+ } -+ else { -+ myGenes <- genes(cuff) -+ } -+ csVolcano(myGenes, args$x, args$y) -+ } -+ else if (args$plotType == 'heatmap') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ } -+ else { -+ myGenes <- getGenes(cuff,annotation(genes(cuff))[[1]]) -+ } -+ csHeatmap(get_features(myGenes, args$features), clustering=args$clustering, labCol=args$labcol, labRow=args$labrow, border=args$border, logMode=args$log10) -+ } -+ else if (args$plotType == 'cluster') { -+ myGenes <- getGenes(cuff, args$genes) -+ csCluster(get_features(myGenes, args$features), k=args$k) -+ } -+ else if (args$plotType == 'dispersion') { -+ dispersionPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'fpkmSCV') { -+ fpkmSCVPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'scatterMatrix') { -+ csScatterMatrix(genes(cuff)) -+ } -+ else if (args$plotType == 'expressionplot') { -+ myGenes <- getGenes(cuff, args$genes) -+ expressionPlot(get_features(myGenes, args$features), drawSummary=args$summary, showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'expressionbarplot') { -+ myGeneId <- args$genes -+ myGenes <- getGenes(cuff, myGeneId) -+ expressionBarplot(get_features(myGenes, args$features), showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff),replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff),"PC1","PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'maplot') { -+ MAplot(genes(cuff), args$x, args$y, useCount=args$count) -+ } -+ else if (args$plotType == 'genetrack') { -+ myGene <- getGene(cuff, args$genes) -+ plotTracks(makeGeneRegionTrack(myGene)) -+ } -+ },error = function(e) { -+ write(paste("Failed:", e, sep=" "), stderr()) -+ q("no", 1, TRUE) -+ }) -> devname = dev.off() -> diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/volcano.png Binary file test-data/volcano.png has changed diff -r 78fcfc04fcfe -r c3b54a4b7741 test-data/volcano.txt --- a/test-data/volcano.txt Thu Feb 23 20:24:03 2017 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,279 +0,0 @@ -> get_features <- function(myGenes, f="gene") { -+ if (f == "isoforms") -+ return(isoforms(myGenes)) -+ else if (f == "tss") -+ return(TSS(myGenes)) -+ else if (f == "cds") -+ return(CDS(myGenes)) -+ else -+ return(myGenes) -+ } -> -> ## Main Function ## -> -> library(argparse) -Loading required package: proto -> -> parser <- ArgumentParser(description='Create a plot with cummeRbund') -> -> parser$add_argument('--type', dest='plotType', default='Density', required=TRUE) -> parser$add_argument('--height', dest='height', type='integer', default=960, required=TRUE) -> parser$add_argument('--width', dest='width', type='integer', default=1280, required=TRUE) -> parser$add_argument('--outfile', dest='filename', default="plot-unknown-0.png", required=TRUE) -> parser$add_argument('--input', dest='input_database', default="cuffData.db", required=TRUE) -> parser$add_argument('--smooth', dest='smooth', action="store_true", default=FALSE) -> parser$add_argument('--gene_selector', dest='gene_selector', action="store_true", default=FALSE) -> parser$add_argument('--replicates', dest='replicates', action="store_true", default=FALSE) -> parser$add_argument('--labcol', dest='labcol', action="store_true", default=FALSE) -> parser$add_argument('--labrow', dest='labrow', action="store_true", default=FALSE) -> parser$add_argument('--border', dest='border', action="store_true", default=FALSE) -> parser$add_argument('--summary', dest='summary', action="store_true", default=FALSE) -> parser$add_argument('--count', dest='count', action="store_true", default=FALSE) -> parser$add_argument('--error_bars', dest='error_bars', action="store_true", default=FALSE) -> parser$add_argument('--log10', dest='log10', action="store_true", default=FALSE) -> parser$add_argument('--features', dest='features', action="store", default="genes") -> parser$add_argument('--clustering', dest='clustering', action="store", default="both") -> parser$add_argument('--iter_max', dest='iter_max', action="store") -> parser$add_argument('--genes', dest='genes', action="append") -> parser$add_argument('--k', dest='k', action="store") -> parser$add_argument('--x', dest='x', action="store") -> parser$add_argument('--y', dest='y', action="store") -> -> args <- parser$parse_args() -> -> ## Load cummeRbund library -> library("cummeRbund") -Loading required package: BiocGenerics -Loading required package: methods -Loading required package: parallel - -Attaching package: ‘BiocGenerics’ - -The following objects are masked from ‘package:parallel’: - - clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, - clusterExport, clusterMap, parApply, parCapply, parLapply, - parLapplyLB, parRapply, parSapply, parSapplyLB - -The following objects are masked from ‘package:stats’: - - IQR, mad, xtabs - -The following objects are masked from ‘package:base’: - - anyDuplicated, append, as.data.frame, cbind, colnames, do.call, - duplicated, eval, evalq, Filter, Find, get, grep, grepl, intersect, - is.unsorted, lapply, lengths, Map, mapply, match, mget, order, - paste, pmax, pmax.int, pmin, pmin.int, Position, rank, rbind, - Reduce, rownames, sapply, setdiff, sort, table, tapply, union, - unique, unsplit, which, which.max, which.min - -Loading required package: RSQLite -Loading required package: DBI -Loading required package: ggplot2 -Loading required package: reshape2 -Loading required package: fastcluster - -Attaching package: ‘fastcluster’ - -The following object is masked from ‘package:stats’: - - hclust - -Loading required package: rtracklayer -Loading required package: GenomicRanges -Loading required package: stats4 -Loading required package: S4Vectors - -Attaching package: ‘S4Vectors’ - -The following objects are masked from ‘package:base’: - - colMeans, colSums, expand.grid, rowMeans, rowSums - -Loading required package: IRanges -Loading required package: GenomeInfoDb -Loading required package: Gviz -Loading required package: grid -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘ensembldb’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ -Warning: namespace ‘AnnotationHub’ is not available and has been replaced -by .GlobalEnv when processing object ‘plot.index’ - -Attaching package: ‘cummeRbund’ - -The following object is masked from ‘package:GenomicRanges’: - - promoters - -The following object is masked from ‘package:IRanges’: - - promoters - -The following object is masked from ‘package:BiocGenerics’: - - conditions - -> -> ## Initialize cuff object -> cuff <- readCufflinks(dir = "", dbFile = args$input_database, rebuild = FALSE) -> -> ## Print out info -> print(cuff) -CuffSet instance with: - 2 samples - 87 genes - 90 isoforms - 88 TSS - 0 CDS - 87 promoters - 88 splicing - 0 relCDS -> sink("cuffdb_info.txt") -> print(cuff) -> print("SAMPLES:") -> samples(cuff) -> print("REPLICATES:") -> replicates(cuff) -> print("FEATURES:") -> print(annotation(genes(cuff))) -> cat(annotation(genes(cuff))[[1]],sep=",") -> sink() -> -> png(filename = args$filename, width = args$width, height = args$height, type=c('cairo-png')) -> tryCatch({ -+ if (args$plotType == 'density') { -+ csDensity(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'boxplot') { -+ csBoxplot(genes(cuff), replicates=args$replicates, logMode=args$log10) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff), "PC1", "PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'dendrogram') { -+ csDendro(genes(cuff), replicates=args$replicates) -+ } -+ else if (args$plotType == 'scatter') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ csScatter(get_features(myGenes, args$features), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ else { -+ csScatter(genes(cuff), args$x, args$y, smooth=args$smooth, logMode=args$log10) -+ } -+ } -+ else if (args$plotType == 'volcano') { -+ if (args$gene_selector) { -+ myGenes <- get_features(getGenes(cuff, args$genes), args$features) -+ } -+ else { -+ myGenes <- genes(cuff) -+ } -+ csVolcano(myGenes, args$x, args$y) -+ } -+ else if (args$plotType == 'heatmap') { -+ if (args$gene_selector) { -+ myGenes <- getGenes(cuff, args$genes) -+ } -+ else { -+ myGenes <- getGenes(cuff,annotation(genes(cuff))[[1]]) -+ } -+ csHeatmap(get_features(myGenes, args$features), clustering=args$clustering, labCol=args$labcol, labRow=args$labrow, border=args$border, logMode=args$log10) -+ } -+ else if (args$plotType == 'cluster') { -+ myGenes <- getGenes(cuff, args$genes) -+ csCluster(get_features(myGenes, args$features), k=args$k) -+ } -+ else if (args$plotType == 'dispersion') { -+ dispersionPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'fpkmSCV') { -+ fpkmSCVPlot(genes(cuff)) -+ } -+ else if (args$plotType == 'scatterMatrix') { -+ csScatterMatrix(genes(cuff)) -+ } -+ else if (args$plotType == 'expressionplot') { -+ myGenes <- getGenes(cuff, args$genes) -+ expressionPlot(get_features(myGenes, args$features), drawSummary=args$summary, showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'expressionbarplot') { -+ myGeneId <- args$genes -+ myGenes <- getGenes(cuff, myGeneId) -+ expressionBarplot(get_features(myGenes, args$features), showErrorbars=args$error_bars, replicates=args$replicates) -+ } -+ else if (args$plotType == 'mds') { -+ MDSplot(genes(cuff),replicates=args$replicates) -+ } -+ else if (args$plotType == 'pca') { -+ PCAplot(genes(cuff),"PC1","PC2", replicates=args$replicates) -+ } -+ else if (args$plotType == 'maplot') { -+ MAplot(genes(cuff), args$x, args$y, useCount=args$count) -+ } -+ else if (args$plotType == 'genetrack') { -+ myGene <- getGene(cuff, args$genes) -+ plotTracks(makeGeneRegionTrack(myGene)) -+ } -+ },error = function(e) { -+ write(paste("Failed:", e, sep=" "), stderr()) -+ q("no", 1, TRUE) -+ }) -> devname = dev.off() ->