Hi Jim,

This is nice and is a path forward for the immediate future.

That said, a couple extensions to Galaxy to better support composite datatypes would enable cummerbund without the additional tools:

(i) extending the composite datatype to include definition of individual outputs in the collection;
(ii) extend the history panel to allow usage/selection of (1) the complete composite set of files or (2) individual items in a composite datatype

Once (i) is done, (ii) should be straightforward using the new history panel code.

Of course, the advantage of these extensions is that they'd address both cummerbund issues as well as other challenges, such as using output from the barcode splitter.


On Oct 11, 2012, at 6:14 PM, Jim Johnson wrote:

Checking to see if there is any interest in including a parameter option to select outputs for cuffdiff,
potentially including a composite output and a cummeRbund sqlite database.

  cuffdiff produces 21 output files, which is a little unwieldy in a galaxy history.  
  cummeRbund generates its database when given a cuffdiff output directory, but manually hooking up 21 outputs to the cummerbund_wrapper is a pain.

I've put demo code in the testtoolshed under the name repository name cummerbund

This includes new datatypes defined in datatypes_conf.xml and implemented in cuffdata.py: 
      <!-- html composite dataset with cuffdiff outputs in the extra files path -->
      <datatype extension="cuffdata" type="galaxy.datatypes.cuffdata:CuffDiffData"/>
      <!-- cummeRbund SQLite database -->
      <datatype extension="cuffdatadb" type="galaxy.datatypes.cuffdata:CuffDataDB"/>

The cuffdiff wrapper has a multiple select parameter to choose which output files to put in the history. 
In addition to the 21 cuffdiff outputs, the wrapper can also generate:
  cuffdata - which is a composite HTML output with links to the 21 cuffdiff outputs
  cuffdatadb - which is the cummeRbund SQLite database

I also added utility tools:
  cuffdata_datasets - which will take files from the composite cuffdata and copy them as datasets into the history
  cuffdata_cummerbund - which generates the cummeRbund cuffdatadb from the composite cuffdata

I updated the cummerbund_wrapper:
  with tryCatch so that a R error on a plot won't exit the Rscript
  to include a small image of each plot on the html page
  added plots for : dispersion, scatter matrix, MDS, and PCA