This converts an assortment of python command line interfaces into a language agnostic build spec for usage in GUI creation.
Python Makefile
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
clinto
.gitignore
.travis.yml
Makefile
README.md
requirements.txt
setup.py
tox.ini

README.md

clinto

Build Status Coverage Status

Join the chat at https://gitter.im/wooey/clinto

This converts an assortment of python command line interfaces into a language agnostic build spec for usage in GUI creation.

Here's a basic usage:

from clinto import parser
specs = parser.Parser(script_path='/home/chris/Devel/pythomics/pythomics/scripts/proteinInference.py', script_name='Protein Inference')
specs.get_script_description()
{'description': '\nThis script will annotate a tab delimited text file with peptides with\ncorresponding proteins present in an annotation file, and can also\nuse this annotation to include iBAQ measures.\n',
 'inputs': [{'group': 'optional arguments',
   'nodes': [{'choice_limit': None,
     'choices': None,
     'help': 'Threads to run',
     'model': 'IntegerField',
     'name': 'p',
     'param': '-p',
     'required': False,
     'type': 'text',
     'value': 1},
    {'choice_limit': '1',
     'choices': None,
     'help': 'The fasta file to match peptides against.',
     'model': 'FileField',
     'name': 'fasta',
     'param': '-f',
     'required': False,
     'type': 'file',
     'upload': True},

...

    {'choice_limit': None,
     'choices': None,
     'help': 'Where to save the file with motifs. Default: --out file with _motif suffix.',
     'model': 'CharField',
     'name': 'motif_out',
     'param': '--motif-out',
     'required': False,
     'type': 'text'}]},
  {'group': 'Protein Grouping Options',
   'nodes': [{'checked': False,
     'choice_limit': 0,
     'choices': None,
     'help': 'Only group proteins with unique peptides',
     'model': 'BooleanField',
     'name': 'unique_only',
     'param': '--unique-only',
     'required': False,
     'type': 'checkbox'},
    {'checked': False,
     'choice_limit': 0,
     'choices': None,
     'help': 'Write the position of the peptide matches.',
     'model': 'BooleanField',
     'name': 'position',
     'param': '--position',
     'required': False,
     'type': 'checkbox'},
    {'checked': False,
     'choice_limit': 0,
     'choices': None,
     'help': 'Treat peptides as case-sensitive (ie separate modified peptides)',
     'model': 'BooleanField',
     'name': 'case_sensitive',
     'param': '--case-sensitive',
     'required': False,
     'type': 'checkbox'}]}],
 'name': 'abc',
 'path': '/home/chris/Devel/pythomics/pythomics/scripts/proteinInference.py'}