Mercurial > repos > devteam > scatterplot
changeset 2:53eb2c412783 draft
planemo upload for repository https://github.com/galaxyproject/tools-devteam/tree/master/tools/scatterplot commit de7140295cce07e1bc1697e51dab4271c8d7a8a6
author | devteam |
---|---|
date | Fri, 18 Dec 2015 19:14:12 -0500 |
parents | 4afd68392187 |
children | 1dacc8aeb452 |
files | scatterplot.py scatterplot.xml tool_dependencies.xml |
diffstat | 3 files changed, 85 insertions(+), 79 deletions(-) [+] |
line wrap: on
line diff
--- a/scatterplot.py Tue Oct 13 12:31:01 2015 -0400 +++ b/scatterplot.py Fri Dec 18 19:14:12 2015 -0500 @@ -1,13 +1,17 @@ #!/usr/bin/env python -#Greg Von Kuster +# Greg Von Kuster import sys -from rpy import * + +from numpy import array +from rpy import r + def stop_err(msg): sys.stderr.write(msg) sys.exit() + def main(): in_fname = sys.argv[1] @@ -29,13 +33,13 @@ for i, line in enumerate( file( in_fname ) ): valid = True line = line.rstrip( '\r\n' ) - if line and not line.startswith( '#' ): + if line and not line.startswith( '#' ): row = [] fields = line.split( "\t" ) for column in columns: try: val = fields[column] - if val.lower() == "na": + if val.lower() == "na": row.append( float( "nan" ) ) else: row.append( float( fields[column] ) ) @@ -54,7 +58,7 @@ valid = False skipped_lines += 1 if not first_invalid_line: - first_invalid_line = i+1 + first_invalid_line = i + 1 if valid: matrix.append( row ) @@ -65,7 +69,7 @@ r.plot( array( matrix ), type="p", main=title, xlab=xlab, ylab=ylab, col="blue", pch=19 ) r.dev_off() except Exception, exc: - stop_err( "%s" %str( exc ) ) + stop_err( "%s" % str( exc ) ) else: stop_err( "All values in both columns %s and %s are non-numeric or empty." % ( sys.argv[3], sys.argv[4] ) )
--- a/scatterplot.xml Tue Oct 13 12:31:01 2015 -0400 +++ b/scatterplot.xml Fri Dec 18 19:14:12 2015 -0500 @@ -1,71 +1,70 @@ -<tool id="scatterplot_rpy" name="Scatterplot" version="1.0.0"> - <description>of two numeric columns</description> - <requirements> - <requirement type="package" version="1.0.3">rpy</requirement> - </requirements> - <command interpreter="python">scatterplot.py $input $out_file1 $col1 $col2 "$title" "$xlab" "$ylab"</command> - <inputs> - <param name="input" type="data" format="tabular" label="Dataset" help="Dataset missing? See TIP below"/> - <param name="col1" type="data_column" data_ref="input" numerical="True" label="Numerical column for x axis" /> - <param name="col2" type="data_column" data_ref="input" numerical="True" label="Numerical column for y axis" /> - <param name="title" type="text" value="Scatterplot" label="Plot title"/> - <param name="xlab" type="text" value="V1" label="Label for x axis"/> - <param name="ylab" type="text" value="V2" label="Label for y axis"/> - </inputs> - <outputs> - <data format="pdf" name="out_file1" /> - </outputs> - <!-- TODO: uncomment the following test when we have tools.update_state() working for - multiple dependents with the same dependency. - <tests> - <test> - <param name="input" value="scatterplot_in1.tabular" ftype="tabular"/> - <param name="col1" value="2"/> - <param name="col2" value="3"/> - <param name="title" value="Scatterplot"/> - <param name="xlab" value="V1"/> - <param name="ylab" value="V2"/> - <output name="out_file1" file="scatterplot_out1.pdf" /> - </test> - </tests> - --> - <help> - -.. class:: infomark - -**TIP:** If your data is not TAB delimited, use *Text Manipulation->Convert* - ------ - -**Syntax** - -This tool creates a simple scatter plot between two variables containing numeric values of a selected dataset. - -- All invalid, blank and comment lines in the dataset are skipped. The number of skipped lines is displayed in the resulting history item. - -- **Plot title** The scatterplot title -- **Label for x axis** and **Label for y axis** The labels for x and y axis of the scatterplot. - ------ - -**Example** - -- Input file:: - - 1 68 4.1 - 2 71 4.6 - 3 62 3.8 - 4 75 4.4 - 5 58 3.2 - 6 60 3.1 - 7 67 3.8 - 8 68 4.1 - 9 71 4.3 - 10 69 3.7 - -- Create a simple scatterplot between the variables in column 2 and column 3 of the above dataset. - -.. image:: scatterplot.png - -</help> -</tool> +<tool id="scatterplot_rpy" name="Scatterplot" version="1.0.1"> + <description>of two numeric columns</description> + <requirements> + <requirement type="package" version="1.9">numpy</requirement> + <requirement type="package" version="1.0.3">rpy</requirement> + </requirements> + <command interpreter="python">scatterplot.py $input $out_file1 $col1 $col2 "$title" "$xlab" "$ylab"</command> + <inputs> + <param name="input" type="data" format="tabular" label="Dataset" help="Dataset missing? See TIP below"/> + <param name="col1" type="data_column" data_ref="input" numerical="True" label="Numerical column for x axis" /> + <param name="col2" type="data_column" data_ref="input" numerical="True" label="Numerical column for y axis" /> + <param name="title" type="text" value="Scatterplot" label="Plot title"/> + <param name="xlab" type="text" value="V1" label="Label for x axis"/> + <param name="ylab" type="text" value="V2" label="Label for y axis"/> + </inputs> + <outputs> + <data format="pdf" name="out_file1" /> + </outputs> + <!-- TODO: uncomment the following test when we have tools.update_state() working for + multiple dependents with the same dependency. + <tests> + <test> + <param name="input" value="scatterplot_in1.tabular" ftype="tabular"/> + <param name="col1" value="2"/> + <param name="col2" value="3"/> + <param name="title" value="Scatterplot"/> + <param name="xlab" value="V1"/> + <param name="ylab" value="V2"/> + <output name="out_file1" file="scatterplot_out1.pdf" /> + </test> + </tests> + --> + <help> +.. class:: infomark + +**TIP:** If your data is not TAB delimited, use *Text Manipulation->Convert* + +----- + +**Syntax** + +This tool creates a simple scatter plot between two variables containing numeric values of a selected dataset. + +- All invalid, blank and comment lines in the dataset are skipped. The number of skipped lines is displayed in the resulting history item. + +- **Plot title** The scatterplot title +- **Label for x axis** and **Label for y axis** The labels for x and y axis of the scatterplot. + +----- + +**Example** + +- Input file:: + + 1 68 4.1 + 2 71 4.6 + 3 62 3.8 + 4 75 4.4 + 5 58 3.2 + 6 60 3.1 + 7 67 3.8 + 8 68 4.1 + 9 71 4.3 + 10 69 3.7 + +- Create a simple scatterplot between the variables in column 2 and column 3 of the above dataset. + +.. image:: scatterplot.png +</help> +</tool>
--- a/tool_dependencies.xml Tue Oct 13 12:31:01 2015 -0400 +++ b/tool_dependencies.xml Fri Dec 18 19:14:12 2015 -0500 @@ -1,6 +1,9 @@ <?xml version="1.0"?> <tool_dependency> - <package name="rpy" version="1.0.3"> - <repository changeset_revision="c0eb80864491" name="package_rpy_1_0_3" owner="devteam" toolshed="https://testtoolshed.g2.bx.psu.edu" /> + <package name="numpy" version="1.9"> + <repository changeset_revision="f9289486f06d" name="package_numpy_1_9" owner="iuc" prior_installation_required="True" toolshed="https://testtoolshed.g2.bx.psu.edu" /> + </package> + <package name="rpy" version="1.0.3"> + <repository changeset_revision="3e11ba53f2a6" name="package_rpy_1_0_3" owner="devteam" toolshed="https://testtoolshed.g2.bx.psu.edu" /> </package> </tool_dependency>