Mercurial > repos > bgruening > plotly_parallel_coordinates_plot
comparison paracords_plot.py @ 1:7b21a9b5922f draft
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/plotly_parallel_coordinates_plot commit 7ba5d8f0e920dccbc82588e4f4a7b9039dc3ea36
| author | bgruening |
|---|---|
| date | Wed, 10 Oct 2018 02:29:28 -0400 |
| parents | 7b2455348edf |
| children | 9958188c6195 |
comparison
equal
deleted
inserted
replaced
| 0:7b2455348edf | 1:7b21a9b5922f |
|---|---|
| 2 import argparse | 2 import argparse |
| 3 import plotly | 3 import plotly |
| 4 import plotly.graph_objs as go | 4 import plotly.graph_objs as go |
| 5 import pandas as pd | 5 import pandas as pd |
| 6 | 6 |
| 7 def main(infile, col_dimensions, col_color): | 7 def main(infile, col_dimensions, categorized, col_color): |
| 8 """ | 8 """ |
| 9 Produce an interactive paracords plotting html | 9 Produce an interactive paracords plotting html |
| 10 Args: | 10 Args: |
| 11 infile: str, tabular file | 11 infile: str, tabular file |
| 12 col_dimensions: str, comma separated index numbers. For example: "3,4,5" | 12 col_dimensions: str, comma separated index numbers. For example: "3,4,5" |
| 16 | 16 |
| 17 dimensions = [] | 17 dimensions = [] |
| 18 col_dimensions = [int(x)-1 for x in col_dimensions.split(',')] | 18 col_dimensions = [int(x)-1 for x in col_dimensions.split(',')] |
| 19 for col in col_dimensions: | 19 for col in col_dimensions: |
| 20 values = df[df.columns[col]] | 20 values = df[df.columns[col]] |
| 21 if all(type(e) is int for e in values ): | 21 if categorized == 'boolfalse' and all(type(e) is int for e in values ): |
| 22 dimensions.append( | 22 dimensions.append( |
| 23 dict( values = values, | 23 dict( values = values, |
| 24 tickformat = ",.2r", | 24 tickformat = ",.2r", |
| 25 label = df.columns[col]) | 25 label = df.columns[col]) |
| 26 ) | 26 ) |
| 27 elif all(type(e) is float for e in values ): | 27 elif categorized == 'boolfalse' and all(type(e) is float for e in values ): |
| 28 dimensions.append( | 28 dimensions.append( |
| 29 dict( values = values, | 29 dict( values = values, |
| 30 tickformat = "g", | 30 tickformat = "g", |
| 31 label = df.columns[col]) | 31 label = df.columns[col]) |
| 32 ) | 32 ) |
| 33 else: | 33 else: |
| 34 unique_values = list(set(values)) | 34 unique_values = list(set(values)) |
| 35 unique_values.sort() | |
| 35 dimensions.append( | 36 dimensions.append( |
| 36 dict( range = [0, len(unique_values)-1], | 37 dict( range = [0, len(unique_values)-1], |
| 37 tickvals = list(range(len(unique_values))), | 38 tickvals = list(range(len(unique_values))), |
| 38 ticktext = [str(e) for e in unique_values], | 39 ticktext = [str(e) for e in unique_values], |
| 39 values = list(map(lambda e: unique_values.index(e), values )), | 40 values = list(map(lambda e: unique_values.index(e), values )), |
| 75 | 76 |
| 76 if __name__ == "__main__": | 77 if __name__ == "__main__": |
| 77 aparser = argparse.ArgumentParser() | 78 aparser = argparse.ArgumentParser() |
| 78 aparser.add_argument( "-i", "--input", dest="infile", required=True) | 79 aparser.add_argument( "-i", "--input", dest="infile", required=True) |
| 79 aparser.add_argument( "-d", "--col_dimensions", dest="col_dimensions") | 80 aparser.add_argument( "-d", "--col_dimensions", dest="col_dimensions") |
| 81 aparser.add_argument( "-t", "--categorized_datatype", dest="categorized") | |
| 80 aparser.add_argument( "-c", "--col_color", dest="col_color") | 82 aparser.add_argument( "-c", "--col_color", dest="col_color") |
| 81 args = aparser.parse_args() | 83 args = aparser.parse_args() |
| 82 | 84 |
| 83 main(args.infile, args.col_dimensions, args.col_color) | 85 main(args.infile, args.col_dimensions, args.categorized, args.col_color) |
