# HG changeset patch # User devteam # Date 1419368307 18000 # Node ID 587c425b4e762f157404b1b02dad1812b168fff8 Initial commit with version 1.0.0 of the cummeRbund wrapper. diff -r 000000000000 -r 587c425b4e76 cummeRbund.R --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cummeRbund.R Tue Dec 23 15:58:27 2014 -0500 @@ -0,0 +1,146 @@ +## Feature Selection ## +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) + +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") + +## Initialize cuff object +cuff <- readCufflinks(dir = "", dbFile = args$input_database, rebuild = FALSE) + +## Print out info +print(cuff) +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 000000000000 -r 587c425b4e76 cummeRbund.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cummeRbund.xml Tue Dec 23 15:58:27 2014 -0500 @@ -0,0 +1,359 @@ + + + data with cummeRbund + + CUMMERBUND_SCRIPT_PATH + R + cummeRbund + + + + cummeRbund_macros.xml + + + + 0: + #for gene in $p.plot.genes: + --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} + #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 + #end if + #if $p.plot.type == "density": + $p.plot.log10 + #end if + > "${output}" 2>&1 ; +#end for +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + `_ written by James E. Johnson of the Minnesota Supercomputing Institute. + ]]> + + doi:10.1038/nprot.2012.016 + + \ No newline at end of file diff -r 000000000000 -r 587c425b4e76 cummeRbund_macros.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cummeRbund_macros.xml Tue Dec 23 15:58:27 2014 -0500 @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 000000000000 -r 587c425b4e76 cummeRbund_options.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cummeRbund_options.py Tue Dec 23 15:58:27 2014 -0500 @@ -0,0 +1,24 @@ +from galaxy import eggs +eggs.require( 'SQLAlchemy' ) +eggs.require( 'pysqlite>=2' ) +from sqlalchemy import * +from sqlalchemy.sql import and_ +from sqlalchemy import exceptions as sa_exceptions +from sqlalchemy.orm import sessionmaker +from sqlalchemy.orm import scoped_session + +def get_genes( database_path ): + dburi = 'sqlite:///%s' % database_path + engine = create_engine( dburi ) + meta = MetaData( bind=engine ) + db_session = Session = scoped_session( sessionmaker( bind=engine, autoflush=False, autocommit=True ) ) + gene_ids = db_session.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 ): + dburi = 'sqlite:///%s' % database_path + engine = create_engine( dburi ) + meta = MetaData( bind=engine ) + db_session = Session = scoped_session( sessionmaker( bind=engine, autoflush=False, autocommit=True ) ) + samples = db_session.execute( 'select sample_name from samples order by sample_name' ) + return [ ( sample[ 0 ], sample[ 0 ], False ) for sample in samples ] diff -r 000000000000 -r 587c425b4e76 test-data/boxplot.png Binary file test-data/boxplot.png has changed diff -r 000000000000 -r 587c425b4e76 test-data/boxplot.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/boxplot.txt Tue Dec 23 15:58:27 2014 -0500 @@ -0,0 +1,308 @@ + +R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet" +Copyright (C) 2014 The R Foundation for Statistical Computing +Platform: x86_64-unknown-linux-gnu (64-bit) + +R is free software and comes with ABSOLUTELY NO WARRANTY. +You are welcome to redistribute it under certain conditions. +Type 'license()' or 'licence()' for distribution details. + + Natural language support but running in an English locale + +R is a collaborative project with many contributors. +Type 'contributors()' for more information and +'citation()' on how to cite R or R packages in publications. + +Type 'demo()' for some demos, 'help()' for on-line help, or +'help.start()' for an HTML browser interface to help. +Type 'q()' to quit R. + +> ## Feature Selection ## +> 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() +> +> print(args) +$border +[1] FALSE + +$clustering +[1] "both" + +$count +[1] FALSE + +$error_bars +[1] FALSE + +$features +[1] "genes" + +$filename +[1] "plot-boxplot-0.png" + +$gene_selector +[1] FALSE + +$genes +NULL + +$height +[1] 960 + +$input_database +[1] "/tmp/tmpCu9yWT/tmpPy7OpW/database/files/000/dataset_34.dat" + +$iter_max +NULL + +$k +NULL + +$labcol +[1] FALSE + +$labrow +[1] FALSE + +$log10 +[1] FALSE + +$plotType +[1] "boxplot" + +$replicates +[1] TRUE + +$smooth +[1] FALSE + +$summary +[1] FALSE + +$width +[1] 1280 + +$x +NULL + +$y +NULL + +> +> #q() +> +> ## Load cummeRbund library +> library("cummeRbund") +Loading required package: BiocGenerics +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 object is masked from ‘package:stats’: + + xtabs + +The following objects are masked from ‘package:base’: + + anyDuplicated, append, as.data.frame, as.vector, cbind, colnames, + do.call, duplicated, eval, evalq, Filter, Find, get, intersect, + is.unsorted, lapply, Map, mapply, match, mget, order, paste, pmax, + pmax.int, pmin, pmin.int, Position, rank, rbind, Reduce, rep.int, + rownames, sapply, setdiff, sort, table, tapply, union, unique, + unlist, unsplit + +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: S4Vectors +Loading required package: stats4 +Loading required package: IRanges +Loading required package: GenomeInfoDb +Loading required package: Gviz +Loading required package: grid + +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) ++ }) +Fontconfig error: Cannot load default config file +> devname = dev.off() +> +> #end for +> diff -r 000000000000 -r 587c425b4e76 test-data/cuffdiff_out.sqlite Binary file test-data/cuffdiff_out.sqlite has changed diff -r 000000000000 -r 587c425b4e76 test-data/dendrogram.png Binary file test-data/dendrogram.png has changed diff -r 000000000000 -r 587c425b4e76 test-data/dendrogram.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/dendrogram.txt Tue Dec 23 15:58:27 2014 -0500 @@ -0,0 +1,309 @@ + +R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet" +Copyright (C) 2014 The R Foundation for Statistical Computing +Platform: x86_64-unknown-linux-gnu (64-bit) + +R is free software and comes with ABSOLUTELY NO WARRANTY. +You are welcome to redistribute it under certain conditions. +Type 'license()' or 'licence()' for distribution details. + + Natural language support but running in an English locale + +R is a collaborative project with many contributors. +Type 'contributors()' for more information and +'citation()' on how to cite R or R packages in publications. + +Type 'demo()' for some demos, 'help()' for on-line help, or +'help.start()' for an HTML browser interface to help. +Type 'q()' to quit R. + +> ## Feature Selection ## +> 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() +> +> print(args) +$border +[1] FALSE + +$clustering +[1] "both" + +$count +[1] FALSE + +$error_bars +[1] FALSE + +$features +[1] "genes" + +$filename +[1] "plot-dendrogram-0.png" + +$gene_selector +[1] FALSE + +$genes +NULL + +$height +[1] 960 + +$input_database +[1] "/tmp/tmp3exXG8/tmpuNktUy/database/files/000/dataset_43.dat" + +$iter_max +NULL + +$k +NULL + +$labcol +[1] FALSE + +$labrow +[1] FALSE + +$log10 +[1] FALSE + +$plotType +[1] "dendrogram" + +$replicates +[1] TRUE + +$smooth +[1] FALSE + +$summary +[1] FALSE + +$width +[1] 1280 + +$x +NULL + +$y +NULL + +> +> #q() +> +> ## Load cummeRbund library +> library("cummeRbund") +Loading required package: BiocGenerics +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 object is masked from ‘package:stats’: + + xtabs + +The following objects are masked from ‘package:base’: + + anyDuplicated, append, as.data.frame, as.vector, cbind, colnames, + do.call, duplicated, eval, evalq, Filter, Find, get, intersect, + is.unsorted, lapply, Map, mapply, match, mget, order, paste, pmax, + pmax.int, pmin, pmin.int, Position, rank, rbind, Reduce, rep.int, + rownames, sapply, setdiff, sort, table, tapply, union, unique, + unlist, unsplit + +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: S4Vectors +Loading required package: stats4 +Loading required package: IRanges +Loading required package: GenomeInfoDb +Loading required package: Gviz +Loading required package: grid + +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) ++ }) +Fontconfig error: Cannot load default config file +'dendrogram' with 2 branches and 2 members total, at height 0.7672512 +> devname = dev.off() +> +> #end for +> diff -r 000000000000 -r 587c425b4e76 test-data/density.png Binary file test-data/density.png has changed diff -r 000000000000 -r 587c425b4e76 test-data/density.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/density.txt Tue Dec 23 15:58:27 2014 -0500 @@ -0,0 +1,311 @@ + +R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet" +Copyright (C) 2014 The R Foundation for Statistical Computing +Platform: x86_64-unknown-linux-gnu (64-bit) + +R is free software and comes with ABSOLUTELY NO WARRANTY. +You are welcome to redistribute it under certain conditions. +Type 'license()' or 'licence()' for distribution details. + + Natural language support but running in an English locale + +R is a collaborative project with many contributors. +Type 'contributors()' for more information and +'citation()' on how to cite R or R packages in publications. + +Type 'demo()' for some demos, 'help()' for on-line help, or +'help.start()' for an HTML browser interface to help. +Type 'q()' to quit R. + +> ## Feature Selection ## +> 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() +> +> print(args) +$border +[1] FALSE + +$clustering +[1] "both" + +$count +[1] FALSE + +$error_bars +[1] FALSE + +$features +[1] "genes" + +$filename +[1] "plot-density-0.png" + +$gene_selector +[1] FALSE + +$genes +NULL + +$height +[1] 960 + +$input_database +[1] "/tmp/tmpqBHFSU/tmpJRwxiS/database/files/001/dataset_1450.dat" + +$iter_max +NULL + +$k +NULL + +$labcol +[1] FALSE + +$labrow +[1] FALSE + +$log10 +[1] TRUE + +$plotType +[1] "density" + +$replicates +[1] TRUE + +$smooth +[1] FALSE + +$summary +[1] FALSE + +$width +[1] 1280 + +$x +NULL + +$y +NULL + +> +> #q() +> +> ## Load cummeRbund library +> library("cummeRbund") +Loading required package: BiocGenerics +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 object is masked from ‘package:stats’: + + xtabs + +The following objects are masked from ‘package:base’: + + anyDuplicated, append, as.data.frame, as.vector, cbind, colnames, + do.call, duplicated, eval, evalq, Filter, Find, get, intersect, + is.unsorted, lapply, Map, mapply, match, mget, order, paste, pmax, + pmax.int, pmin, pmin.int, Position, rank, rbind, Reduce, rep.int, + rownames, sapply, setdiff, sort, table, tapply, union, unique, + unlist, unsplit + +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: S4Vectors +Loading required package: stats4 +Loading required package: IRanges +Loading required package: GenomeInfoDb +Loading required package: Gviz +Loading required package: grid + +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) ++ }) +Fontconfig error: Cannot load default config file +Warning messages: +1: Removed 65 rows containing non-finite values (stat_density). +2: Removed 63 rows containing non-finite values (stat_density). +> devname = dev.off() +> +> #end for +> diff -r 000000000000 -r 587c425b4e76 test-data/dispersion.png Binary file test-data/dispersion.png has changed diff -r 000000000000 -r 587c425b4e76 test-data/dispersion.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/dispersion.txt Tue Dec 23 15:58:27 2014 -0500 @@ -0,0 +1,308 @@ + +R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet" +Copyright (C) 2014 The R Foundation for Statistical Computing +Platform: x86_64-unknown-linux-gnu (64-bit) + +R is free software and comes with ABSOLUTELY NO WARRANTY. +You are welcome to redistribute it under certain conditions. +Type 'license()' or 'licence()' for distribution details. + + Natural language support but running in an English locale + +R is a collaborative project with many contributors. +Type 'contributors()' for more information and +'citation()' on how to cite R or R packages in publications. + +Type 'demo()' for some demos, 'help()' for on-line help, or +'help.start()' for an HTML browser interface to help. +Type 'q()' to quit R. + +> ## Feature Selection ## +> 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() +> +> print(args) +$border +[1] FALSE + +$clustering +[1] "both" + +$count +[1] FALSE + +$error_bars +[1] FALSE + +$features +[1] "genes" + +$filename +[1] "plot-dispersion-0.png" + +$gene_selector +[1] FALSE + +$genes +NULL + +$height +[1] 960 + +$input_database +[1] "/tmp/tmp3exXG8/tmpuNktUy/database/files/000/dataset_25.dat" + +$iter_max +NULL + +$k +NULL + +$labcol +[1] FALSE + +$labrow +[1] FALSE + +$log10 +[1] FALSE + +$plotType +[1] "dispersion" + +$replicates +[1] FALSE + +$smooth +[1] FALSE + +$summary +[1] FALSE + +$width +[1] 1280 + +$x +NULL + +$y +NULL + +> +> #q() +> +> ## Load cummeRbund library +> library("cummeRbund") +Loading required package: BiocGenerics +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 object is masked from ‘package:stats’: + + xtabs + +The following objects are masked from ‘package:base’: + + anyDuplicated, append, as.data.frame, as.vector, cbind, colnames, + do.call, duplicated, eval, evalq, Filter, Find, get, intersect, + is.unsorted, lapply, Map, mapply, match, mget, order, paste, pmax, + pmax.int, pmin, pmin.int, Position, rank, rbind, Reduce, rep.int, + rownames, sapply, setdiff, sort, table, tapply, union, unique, + unlist, unsplit + +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: S4Vectors +Loading required package: stats4 +Loading required package: IRanges +Loading required package: GenomeInfoDb +Loading required package: Gviz +Loading required package: grid + +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) ++ }) +Fontconfig error: Cannot load default config file +> devname = dev.off() +> +> #end for +> diff -r 000000000000 -r 587c425b4e76 test-data/expressionbarplot.png Binary file test-data/expressionbarplot.png has changed diff -r 000000000000 -r 587c425b4e76 test-data/expressionbarplot.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/expressionbarplot.txt Tue Dec 23 15:58:27 2014 -0500 @@ -0,0 +1,340 @@ + +R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet" +Copyright (C) 2014 The R Foundation for Statistical Computing +Platform: x86_64-unknown-linux-gnu (64-bit) + +R is free software and comes with ABSOLUTELY NO WARRANTY. +You are welcome to redistribute it under certain conditions. +Type 'license()' or 'licence()' for distribution details. + + Natural language support but running in an English locale + +R is a collaborative project with many contributors. +Type 'contributors()' for more information and +'citation()' on how to cite R or R packages in publications. + +Type 'demo()' for some demos, 'help()' for on-line help, or +'help.start()' for an HTML browser interface to help. +Type 'q()' to quit R. + +> ## Feature Selection ## +> 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() +> +> print(args) +$border +[1] FALSE + +$clustering +[1] "both" + +$count +[1] FALSE + +$error_bars +[1] TRUE + +$features +[1] "gene" + +$filename +[1] "plot-expressionbarplot-0.png" + +$gene_selector +[1] FALSE + +$genes +[1] "XLOC_000039" + +$height +[1] 960 + +$input_database +[1] "/tmp/tmpCu9yWT/tmpPy7OpW/database/files/000/dataset_19.dat" + +$iter_max +NULL + +$k +NULL + +$labcol +[1] FALSE + +$labrow +[1] FALSE + +$log10 +[1] TRUE + +$plotType +[1] "expressionbarplot" + +$replicates +[1] TRUE + +$smooth +[1] FALSE + +$summary +[1] FALSE + +$width +[1] 1280 + +$x +NULL + +$y +NULL + +> +> #q() +> +> ## Load cummeRbund library +> library("cummeRbund") +Loading required package: BiocGenerics +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 object is masked from ‘package:stats’: + + xtabs + +The following objects are masked from ‘package:base’: + + anyDuplicated, append, as.data.frame, as.vector, cbind, colnames, + do.call, duplicated, eval, evalq, Filter, Find, get, intersect, + is.unsorted, lapply, Map, mapply, match, mget, order, paste, pmax, + pmax.int, pmin, pmin.int, Position, rank, rbind, Reduce, rep.int, + rownames, sapply, setdiff, sort, table, tapply, union, unique, + unlist, unsplit + +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: S4Vectors +Loading required package: stats4 +Loading required package: IRanges +Loading required package: GenomeInfoDb +Loading required package: Gviz +Loading required package: grid + +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. +ymax not defined: adjusting position using y instead +Fontconfig error: Cannot load default config file +> devname = dev.off() +> +> #end for +> diff -r 000000000000 -r 587c425b4e76 test-data/expressionplot.png Binary file test-data/expressionplot.png has changed diff -r 000000000000 -r 587c425b4e76 test-data/expressionplot.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/expressionplot.txt Tue Dec 23 15:58:27 2014 -0500 @@ -0,0 +1,338 @@ + +R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet" +Copyright (C) 2014 The R Foundation for Statistical Computing +Platform: x86_64-unknown-linux-gnu (64-bit) + +R is free software and comes with ABSOLUTELY NO WARRANTY. +You are welcome to redistribute it under certain conditions. +Type 'license()' or 'licence()' for distribution details. + + Natural language support but running in an English locale + +R is a collaborative project with many contributors. +Type 'contributors()' for more information and +'citation()' on how to cite R or R packages in publications. + +Type 'demo()' for some demos, 'help()' for on-line help, or +'help.start()' for an HTML browser interface to help. +Type 'q()' to quit R. + +> ## Feature Selection ## +> 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() +> +> print(args) +$border +[1] FALSE + +$clustering +[1] "both" + +$count +[1] FALSE + +$error_bars +[1] TRUE + +$features +[1] "gene" + +$filename +[1] "plot-expressionplot-0.png" + +$gene_selector +[1] FALSE + +$genes +[1] "XLOC_000059" + +$height +[1] 960 + +$input_database +[1] "/tmp/tmpNZmIuK/tmpbebRiN/database/files/000/dataset_94.dat" + +$iter_max +NULL + +$k +NULL + +$labcol +[1] FALSE + +$labrow +[1] FALSE + +$log10 +[1] TRUE + +$plotType +[1] "expressionplot" + +$replicates +[1] TRUE + +$smooth +[1] FALSE + +$summary +[1] FALSE + +$width +[1] 1280 + +$x +NULL + +$y +NULL + +> +> #q() +> +> ## Load cummeRbund library +> library("cummeRbund") +Loading required package: BiocGenerics +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 object is masked from ‘package:stats’: + + xtabs + +The following objects are masked from ‘package:base’: + + anyDuplicated, append, as.data.frame, as.vector, cbind, colnames, + do.call, duplicated, eval, evalq, Filter, Find, get, intersect, + is.unsorted, lapply, Map, mapply, match, mget, order, paste, pmax, + pmax.int, pmin, pmin.int, Position, rank, rbind, Reduce, rep.int, + rownames, sapply, setdiff, sort, table, tapply, union, unique, + unlist, unsplit + +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: S4Vectors +Loading required package: stats4 +Loading required package: IRanges +Loading required package: GenomeInfoDb +Loading required package: Gviz +Loading required package: grid + +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 +Fontconfig error: Cannot load default config file +> devname = dev.off() +> +> #end for +> diff -r 000000000000 -r 587c425b4e76 test-data/fpkmSCV.png Binary file test-data/fpkmSCV.png has changed diff -r 000000000000 -r 587c425b4e76 test-data/fpkmSCV.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/fpkmSCV.txt Tue Dec 23 15:58:27 2014 -0500 @@ -0,0 +1,313 @@ + +R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet" +Copyright (C) 2014 The R Foundation for Statistical Computing +Platform: x86_64-unknown-linux-gnu (64-bit) + +R is free software and comes with ABSOLUTELY NO WARRANTY. +You are welcome to redistribute it under certain conditions. +Type 'license()' or 'licence()' for distribution details. + + Natural language support but running in an English locale + +R is a collaborative project with many contributors. +Type 'contributors()' for more information and +'citation()' on how to cite R or R packages in publications. + +Type 'demo()' for some demos, 'help()' for on-line help, or +'help.start()' for an HTML browser interface to help. +Type 'q()' to quit R. + +> ## Feature Selection ## +> 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() +> +> print(args) +$border +[1] FALSE + +$clustering +[1] "both" + +$count +[1] FALSE + +$error_bars +[1] FALSE + +$features +[1] "genes" + +$filename +[1] "plot-fpkmSCV-0.png" + +$gene_selector +[1] FALSE + +$genes +NULL + +$height +[1] 960 + +$input_database +[1] "/tmp/tmp3exXG8/tmpuNktUy/database/files/000/dataset_49.dat" + +$iter_max +NULL + +$k +NULL + +$labcol +[1] FALSE + +$labrow +[1] FALSE + +$log10 +[1] FALSE + +$plotType +[1] "fpkmSCV" + +$replicates +[1] FALSE + +$smooth +[1] FALSE + +$summary +[1] FALSE + +$width +[1] 1280 + +$x +NULL + +$y +NULL + +> +> #q() +> +> ## Load cummeRbund library +> library("cummeRbund") +Loading required package: BiocGenerics +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 object is masked from ‘package:stats’: + + xtabs + +The following objects are masked from ‘package:base’: + + anyDuplicated, append, as.data.frame, as.vector, cbind, colnames, + do.call, duplicated, eval, evalq, Filter, Find, get, intersect, + is.unsorted, lapply, Map, mapply, match, mget, order, paste, pmax, + pmax.int, pmin, pmin.int, Position, rank, rbind, Reduce, rep.int, + rownames, sapply, setdiff, sort, table, tapply, union, unique, + unlist, unsplit + +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: S4Vectors +Loading required package: stats4 +Loading required package: IRanges +Loading required package: GenomeInfoDb +Loading required package: Gviz +Loading required package: grid + +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: method="auto" and size of largest group is <1000, so using loess. Use 'method = x' to change the smoothing method. +Fontconfig error: Cannot load default config file +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() +> +> #end for +> diff -r 000000000000 -r 587c425b4e76 test-data/heatmap.png Binary file test-data/heatmap.png has changed diff -r 000000000000 -r 587c425b4e76 test-data/heatmap.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/heatmap.txt Tue Dec 23 15:58:27 2014 -0500 @@ -0,0 +1,340 @@ + +R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet" +Copyright (C) 2014 The R Foundation for Statistical Computing +Platform: x86_64-unknown-linux-gnu (64-bit) + +R is free software and comes with ABSOLUTELY NO WARRANTY. +You are welcome to redistribute it under certain conditions. +Type 'license()' or 'licence()' for distribution details. + + Natural language support but running in an English locale + +R is a collaborative project with many contributors. +Type 'contributors()' for more information and +'citation()' on how to cite R or R packages in publications. + +Type 'demo()' for some demos, 'help()' for on-line help, or +'help.start()' for an HTML browser interface to help. +Type 'q()' to quit R. + +> ## Feature Selection ## +> 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() +> +> print(args) +$border +[1] FALSE + +$clustering +[1] "both" + +$count +[1] FALSE + +$error_bars +[1] FALSE + +$features +[1] "gene" + +$filename +[1] "plot-heatmap-0.png" + +$gene_selector +[1] FALSE + +$genes +[1] "XLOC_000078" + +$height +[1] 960 + +$input_database +[1] "/tmp/tmpCu9yWT/tmpPy7OpW/database/files/000/dataset_22.dat" + +$iter_max +NULL + +$k +NULL + +$labcol +[1] TRUE + +$labrow +[1] TRUE + +$log10 +[1] TRUE + +$plotType +[1] "heatmap" + +$replicates +[1] FALSE + +$smooth +[1] FALSE + +$summary +[1] FALSE + +$width +[1] 1280 + +$x +NULL + +$y +NULL + +> +> #q() +> +> ## Load cummeRbund library +> library("cummeRbund") +Loading required package: BiocGenerics +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 object is masked from ‘package:stats’: + + xtabs + +The following objects are masked from ‘package:base’: + + anyDuplicated, append, as.data.frame, as.vector, cbind, colnames, + do.call, duplicated, eval, evalq, Filter, Find, get, intersect, + is.unsorted, lapply, Map, mapply, match, mget, order, paste, pmax, + pmax.int, pmin, pmin.int, Position, rank, rbind, Reduce, rep.int, + rownames, sapply, setdiff, sort, table, tapply, union, unique, + unlist, unsplit + +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: S4Vectors +Loading required package: stats4 +Loading required package: IRanges +Loading required package: GenomeInfoDb +Loading required package: Gviz +Loading required package: grid + +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 +Fontconfig error: Cannot load default config file +> devname = dev.off() +> +> #end for +> diff -r 000000000000 -r 587c425b4e76 test-data/maplot.png Binary file test-data/maplot.png has changed diff -r 000000000000 -r 587c425b4e76 test-data/maplot.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/maplot.txt Tue Dec 23 15:58:27 2014 -0500 @@ -0,0 +1,310 @@ + +R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet" +Copyright (C) 2014 The R Foundation for Statistical Computing +Platform: x86_64-unknown-linux-gnu (64-bit) + +R is free software and comes with ABSOLUTELY NO WARRANTY. +You are welcome to redistribute it under certain conditions. +Type 'license()' or 'licence()' for distribution details. + + Natural language support but running in an English locale + +R is a collaborative project with many contributors. +Type 'contributors()' for more information and +'citation()' on how to cite R or R packages in publications. + +Type 'demo()' for some demos, 'help()' for on-line help, or +'help.start()' for an HTML browser interface to help. +Type 'q()' to quit R. + +> ## Feature Selection ## +> 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() +> +> print(args) +$border +[1] FALSE + +$clustering +[1] "both" + +$count +[1] FALSE + +$error_bars +[1] FALSE + +$features +[1] "genes" + +$filename +[1] "plot-maplot-0.png" + +$gene_selector +[1] FALSE + +$genes +NULL + +$height +[1] 960 + +$input_database +[1] "/tmp/tmpk0xwrM/tmpNNuxXE/database/files/000/dataset_1.dat" + +$iter_max +NULL + +$k +NULL + +$labcol +[1] FALSE + +$labrow +[1] FALSE + +$log10 +[1] FALSE + +$plotType +[1] "maplot" + +$replicates +[1] FALSE + +$smooth +[1] FALSE + +$summary +[1] FALSE + +$width +[1] 1280 + +$x +[1] "q1" + +$y +[1] "q2" + +> +> #q() +> +> ## Load cummeRbund library +> library("cummeRbund") +Loading required package: BiocGenerics +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 object is masked from ‘package:stats’: + + xtabs + +The following objects are masked from ‘package:base’: + + anyDuplicated, append, as.data.frame, as.vector, cbind, colnames, + do.call, duplicated, eval, evalq, Filter, Find, get, intersect, + is.unsorted, lapply, Map, mapply, match, mget, order, paste, pmax, + pmax.int, pmin, pmin.int, Position, rank, rbind, Reduce, rep.int, + rownames, sapply, setdiff, sort, table, tapply, union, unique, + unlist, unsplit + +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: S4Vectors +Loading required package: stats4 +Loading required package: IRanges +Loading required package: GenomeInfoDb +Loading required package: Gviz +Loading required package: grid + +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) ++ }) +Fontconfig error: Cannot load default config file +Warning message: +Removed 52 rows containing missing values (geom_point). +> devname = dev.off() +> +> #end for +> diff -r 000000000000 -r 587c425b4e76 test-data/pca.png Binary file test-data/pca.png has changed diff -r 000000000000 -r 587c425b4e76 test-data/pca.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/pca.txt Tue Dec 23 15:58:27 2014 -0500 @@ -0,0 +1,308 @@ + +R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet" +Copyright (C) 2014 The R Foundation for Statistical Computing +Platform: x86_64-unknown-linux-gnu (64-bit) + +R is free software and comes with ABSOLUTELY NO WARRANTY. +You are welcome to redistribute it under certain conditions. +Type 'license()' or 'licence()' for distribution details. + + Natural language support but running in an English locale + +R is a collaborative project with many contributors. +Type 'contributors()' for more information and +'citation()' on how to cite R or R packages in publications. + +Type 'demo()' for some demos, 'help()' for on-line help, or +'help.start()' for an HTML browser interface to help. +Type 'q()' to quit R. + +> ## Feature Selection ## +> 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() +> +> print(args) +$border +[1] FALSE + +$clustering +[1] "both" + +$count +[1] FALSE + +$error_bars +[1] FALSE + +$features +[1] "genes" + +$filename +[1] "plot-pca-0.png" + +$gene_selector +[1] FALSE + +$genes +NULL + +$height +[1] 960 + +$input_database +[1] "/tmp/tmpY6OfpX/tmpXqSg_D/database/files/000/dataset_13.dat" + +$iter_max +NULL + +$k +NULL + +$labcol +[1] FALSE + +$labrow +[1] FALSE + +$log10 +[1] FALSE + +$plotType +[1] "pca" + +$replicates +[1] TRUE + +$smooth +[1] FALSE + +$summary +[1] FALSE + +$width +[1] 1280 + +$x +NULL + +$y +NULL + +> +> #q() +> +> ## Load cummeRbund library +> library("cummeRbund") +Loading required package: BiocGenerics +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 object is masked from ‘package:stats’: + + xtabs + +The following objects are masked from ‘package:base’: + + anyDuplicated, append, as.data.frame, as.vector, cbind, colnames, + do.call, duplicated, eval, evalq, Filter, Find, get, intersect, + is.unsorted, lapply, Map, mapply, match, mget, order, paste, pmax, + pmax.int, pmin, pmin.int, Position, rank, rbind, Reduce, rep.int, + rownames, sapply, setdiff, sort, table, tapply, union, unique, + unlist, unsplit + +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: S4Vectors +Loading required package: stats4 +Loading required package: IRanges +Loading required package: GenomeInfoDb +Loading required package: Gviz +Loading required package: grid + +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) ++ }) +Fontconfig error: Cannot load default config file +> devname = dev.off() +> +> #end for +> diff -r 000000000000 -r 587c425b4e76 test-data/scatter.png Binary file test-data/scatter.png has changed diff -r 000000000000 -r 587c425b4e76 test-data/scatter.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/scatter.txt Tue Dec 23 15:58:27 2014 -0500 @@ -0,0 +1,308 @@ + +R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet" +Copyright (C) 2014 The R Foundation for Statistical Computing +Platform: x86_64-unknown-linux-gnu (64-bit) + +R is free software and comes with ABSOLUTELY NO WARRANTY. +You are welcome to redistribute it under certain conditions. +Type 'license()' or 'licence()' for distribution details. + + Natural language support but running in an English locale + +R is a collaborative project with many contributors. +Type 'contributors()' for more information and +'citation()' on how to cite R or R packages in publications. + +Type 'demo()' for some demos, 'help()' for on-line help, or +'help.start()' for an HTML browser interface to help. +Type 'q()' to quit R. + +> ## Feature Selection ## +> 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() +> +> print(args) +$border +[1] FALSE + +$clustering +[1] "both" + +$count +[1] FALSE + +$error_bars +[1] FALSE + +$features +[1] "genes" + +$filename +[1] "plot-scatter-0.png" + +$gene_selector +[1] FALSE + +$genes +NULL + +$height +[1] 960 + +$input_database +[1] "/tmp/tmp_cslqP/tmpQijFOJ/database/files/000/dataset_55.dat" + +$iter_max +NULL + +$k +NULL + +$labcol +[1] FALSE + +$labrow +[1] FALSE + +$log10 +[1] TRUE + +$plotType +[1] "scatter" + +$replicates +[1] FALSE + +$smooth +[1] TRUE + +$summary +[1] FALSE + +$width +[1] 1280 + +$x +[1] "q1" + +$y +[1] "q2" + +> +> #q() +> +> ## Load cummeRbund library +> library("cummeRbund") +Loading required package: BiocGenerics +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 object is masked from ‘package:stats’: + + xtabs + +The following objects are masked from ‘package:base’: + + anyDuplicated, append, as.data.frame, as.vector, cbind, colnames, + do.call, duplicated, eval, evalq, Filter, Find, get, intersect, + is.unsorted, lapply, Map, mapply, match, mget, order, paste, pmax, + pmax.int, pmin, pmin.int, Position, rank, rbind, Reduce, rep.int, + rownames, sapply, setdiff, sort, table, tapply, union, unique, + unlist, unsplit + +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: S4Vectors +Loading required package: stats4 +Loading required package: IRanges +Loading required package: GenomeInfoDb +Loading required package: Gviz +Loading required package: grid + +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) ++ }) +Fontconfig error: Cannot load default config file +> devname = dev.off() +> +> #end for +> diff -r 000000000000 -r 587c425b4e76 test-data/scatterMatrix.png Binary file test-data/scatterMatrix.png has changed diff -r 000000000000 -r 587c425b4e76 test-data/scatterMatrix.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/scatterMatrix.txt Tue Dec 23 15:58:27 2014 -0500 @@ -0,0 +1,308 @@ + +R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet" +Copyright (C) 2014 The R Foundation for Statistical Computing +Platform: x86_64-unknown-linux-gnu (64-bit) + +R is free software and comes with ABSOLUTELY NO WARRANTY. +You are welcome to redistribute it under certain conditions. +Type 'license()' or 'licence()' for distribution details. + + Natural language support but running in an English locale + +R is a collaborative project with many contributors. +Type 'contributors()' for more information and +'citation()' on how to cite R or R packages in publications. + +Type 'demo()' for some demos, 'help()' for on-line help, or +'help.start()' for an HTML browser interface to help. +Type 'q()' to quit R. + +> ## Feature Selection ## +> 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() +> +> print(args) +$border +[1] FALSE + +$clustering +[1] "both" + +$count +[1] FALSE + +$error_bars +[1] FALSE + +$features +[1] "genes" + +$filename +[1] "plot-scatterMatrix-0.png" + +$gene_selector +[1] FALSE + +$genes +NULL + +$height +[1] 960 + +$input_database +[1] "/tmp/tmp3exXG8/tmpuNktUy/database/files/000/dataset_28.dat" + +$iter_max +NULL + +$k +NULL + +$labcol +[1] FALSE + +$labrow +[1] FALSE + +$log10 +[1] FALSE + +$plotType +[1] "scatterMatrix" + +$replicates +[1] FALSE + +$smooth +[1] FALSE + +$summary +[1] FALSE + +$width +[1] 1280 + +$x +NULL + +$y +NULL + +> +> #q() +> +> ## Load cummeRbund library +> library("cummeRbund") +Loading required package: BiocGenerics +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 object is masked from ‘package:stats’: + + xtabs + +The following objects are masked from ‘package:base’: + + anyDuplicated, append, as.data.frame, as.vector, cbind, colnames, + do.call, duplicated, eval, evalq, Filter, Find, get, intersect, + is.unsorted, lapply, Map, mapply, match, mget, order, paste, pmax, + pmax.int, pmin, pmin.int, Position, rank, rbind, Reduce, rep.int, + rownames, sapply, setdiff, sort, table, tapply, union, unique, + unlist, unsplit + +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: S4Vectors +Loading required package: stats4 +Loading required package: IRanges +Loading required package: GenomeInfoDb +Loading required package: Gviz +Loading required package: grid + +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) ++ }) +Fontconfig error: Cannot load default config file +> devname = dev.off() +> +> #end for +> diff -r 000000000000 -r 587c425b4e76 test-data/volcano.png Binary file test-data/volcano.png has changed diff -r 000000000000 -r 587c425b4e76 test-data/volcano.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/volcano.txt Tue Dec 23 15:58:27 2014 -0500 @@ -0,0 +1,308 @@ + +R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet" +Copyright (C) 2014 The R Foundation for Statistical Computing +Platform: x86_64-unknown-linux-gnu (64-bit) + +R is free software and comes with ABSOLUTELY NO WARRANTY. +You are welcome to redistribute it under certain conditions. +Type 'license()' or 'licence()' for distribution details. + + Natural language support but running in an English locale + +R is a collaborative project with many contributors. +Type 'contributors()' for more information and +'citation()' on how to cite R or R packages in publications. + +Type 'demo()' for some demos, 'help()' for on-line help, or +'help.start()' for an HTML browser interface to help. +Type 'q()' to quit R. + +> ## Feature Selection ## +> 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() +> +> print(args) +$border +[1] FALSE + +$clustering +[1] "both" + +$count +[1] FALSE + +$error_bars +[1] FALSE + +$features +[1] "genes" + +$filename +[1] "plot-volcano-0.png" + +$gene_selector +[1] FALSE + +$genes +NULL + +$height +[1] 960 + +$input_database +[1] "/tmp/tmp3exXG8/tmpuNktUy/database/files/000/dataset_46.dat" + +$iter_max +NULL + +$k +NULL + +$labcol +[1] FALSE + +$labrow +[1] FALSE + +$log10 +[1] FALSE + +$plotType +[1] "volcano" + +$replicates +[1] FALSE + +$smooth +[1] FALSE + +$summary +[1] FALSE + +$width +[1] 1280 + +$x +[1] "q1" + +$y +[1] "q2" + +> +> #q() +> +> ## Load cummeRbund library +> library("cummeRbund") +Loading required package: BiocGenerics +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 object is masked from ‘package:stats’: + + xtabs + +The following objects are masked from ‘package:base’: + + anyDuplicated, append, as.data.frame, as.vector, cbind, colnames, + do.call, duplicated, eval, evalq, Filter, Find, get, intersect, + is.unsorted, lapply, Map, mapply, match, mget, order, paste, pmax, + pmax.int, pmin, pmin.int, Position, rank, rbind, Reduce, rep.int, + rownames, sapply, setdiff, sort, table, tapply, union, unique, + unlist, unsplit + +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: S4Vectors +Loading required package: stats4 +Loading required package: IRanges +Loading required package: GenomeInfoDb +Loading required package: Gviz +Loading required package: grid + +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) ++ }) +Fontconfig error: Cannot load default config file +> devname = dev.off() +> +> #end for +> diff -r 000000000000 -r 587c425b4e76 tool_dependencies.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_dependencies.xml Tue Dec 23 15:58:27 2014 -0500 @@ -0,0 +1,12 @@ + + + + $REPOSITORY_INSTALL_DIR + + + + + + + +