Skip to main content

Argparse Wrapper for Galaxy

Project description

You write stuff that looks like this, containing all of the information you would ever need about a tool; options, test cases, metadata

from galaxygetopt.ggo import GalaxyGetOpt as GGO
c = GGO(
    options=[
        ['int', 'An integer parameter', {'required': True, 'validate':
                                         'Int', 'default': 10}],
        ['float', 'A float', {'required': True, 'validate': 'Float',
                              'default': 1e-4}],
        ['string', 'A string value', {'required': True, 'multiple': True,
                                      'default': ['Hello', 'World'],
                                      'validate': 'String'}],

And you get data back in a nice dict

{'int': 40, 'float': '1e-4', 'string': ['Hello', 'World'] }

Known Bugs

Currently there is a known bug in the galaxy XML, under highly specific circumstances. If you define a parameter that is

  • required
  • hidden
  • validate String (probably not a hard req)
  • _galaxy_specific

and expect it to properly generate the value, it will not. See lines 206/207 of galaxygetopt/ggo.py for the current hack I use to get around this.

Other

This library features a number of subclasses of galaxygetopt.parameter.parameter, all of which have myriad numbers of options. In order to brutally test these, I have added a class galaxygetopt/tests/parameter_generator.py which can generate every single possible combination of functional calls, given rules you specify. You can then generate hundreds of objects with different sets of options, which you can filter a subset out and test at will. See that classes’s documentation for more information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for galaxygetopt, version 0.9.8
Filename, size File type Python version Upload date Hashes
Filename, size galaxygetopt-0.9.8.linux-x86_64.tar.gz (38.0 kB) File type Dumb Binary Python version any Upload date Hashes View
Filename, size galaxygetopt-0.9.8-py2.7.egg (61.2 kB) File type Egg Python version 2.7 Upload date Hashes View
Filename, size galaxygetopt-0.9.8.tar.gz (16.2 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page