diff --git a/tools/scatterplot/.shed.yml b/tools/scatterplot/.shed.yml index cf028276..7fe3d832 100644 --- a/tools/scatterplot/.shed.yml +++ b/tools/scatterplot/.shed.yml @@ -8,4 +8,5 @@ long_description: | name: scatterplot owner: devteam remote_repository_url: https://github.com/galaxyproject/tools-devteam/tree/master/tools/scatterplot +homepage_url: https://github.com/galaxyproject/tools-devteam/ type: unrestricted diff --git a/tools/scatterplot/scatterplot.py b/tools/scatterplot/scatterplot.py index c9ffad9e..17fa9035 100644 --- a/tools/scatterplot/scatterplot.py +++ b/tools/scatterplot/scatterplot.py @@ -1,6 +1,8 @@ #!/usr/bin/env python # Greg Von Kuster +# flake8: noqa + from __future__ import print_function import sys @@ -24,9 +26,11 @@ def main(): in_fname = sys.argv[1] out_fname = sys.argv[2] try: - columns = int( sys.argv[3] ) - 1, int( sys.argv[4] ) - 1 - except: - stop_err( "Columns not specified, your query does not contain a column of numerical data." ) + columns = int(sys.argv[3]) - 1, int(sys.argv[4]) - 1 + except Exception: + stop_err( + "Columns not specified, your query does not contain a column of numerical data." + ) title = sys.argv[5] xlab = sys.argv[6] ylab = sys.argv[7] @@ -34,31 +38,31 @@ def main(): matrix = [] skipped_lines = 0 first_invalid_line = 0 - invalid_value = '' + invalid_value = "" invalid_column = 0 i = 0 - for i, line in enumerate( open( in_fname ) ): + for i, line in enumerate(open(in_fname)): valid = True - line = line.rstrip( '\r\n' ) - if line and not line.startswith( '#' ): + line = line.rstrip("\r\n") + if line and not line.startswith("#"): row = [] - fields = line.split( "\t" ) + fields = line.split("\t") for column in columns: try: val = fields[column] if val.lower() == "na": - row.append( float( "nan" ) ) + row.append(float("nan")) else: - row.append( float( fields[column] ) ) - except: + row.append(float(fields[column])) + except Exception: valid = False skipped_lines += 1 if not first_invalid_line: first_invalid_line = i + 1 try: invalid_value = fields[column] - except: - invalid_value = '' + except Exception: + invalid_value = "" invalid_column = column + 1 break else: @@ -68,22 +72,29 @@ def main(): first_invalid_line = i + 1 if valid: - matrix.append( row ) + matrix.append(row) if skipped_lines < i: try: - a = numpy2ri(array( matrix )) - r.pdf( out_fname, 8, 8 ) - r.plot( a, type="p", main=title, xlab=xlab, ylab=ylab, col="blue", pch=19 ) + a = numpy2ri(array(matrix)) + r.pdf(out_fname, 8, 8) + r.plot(a, type="p", main=title, xlab=xlab, ylab=ylab, col="blue", pch=19) r.dev_off() except Exception as 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] ) ) + stop_err( + "All values in both columns %s and %s are non-numeric or empty." + % (sys.argv[3], sys.argv[4]) + ) - print("Scatter plot on columns %s, %s. " % ( sys.argv[3], sys.argv[4] )) + print("Scatter plot on columns %s, %s. " % (sys.argv[3], sys.argv[4])) if skipped_lines > 0: - print("Skipped %d lines starting with line #%d, value '%s' in column %d is not numeric." % ( skipped_lines, first_invalid_line, invalid_value, invalid_column )) + print( + "Skipped %d lines starting with line #%d, value '%s' in column %d is not numeric." + % (skipped_lines, first_invalid_line, invalid_value, invalid_column) + ) + if __name__ == "__main__": main() diff --git a/tools/scatterplot/scatterplot.xml b/tools/scatterplot/scatterplot.xml index 29b841f8..96257194 100644 --- a/tools/scatterplot/scatterplot.xml +++ b/tools/scatterplot/scatterplot.xml @@ -1,9 +1,15 @@ - + of two numeric columns numpy rpy2 + libgfortran + + - - + + + + + + + + + + + + + + + @@ -76,5 +95,6 @@ This tool creates a simple scatter plot between two variables containing numeric ]]> + 10.1038/s41586-020-2649-2