Mercurial > repos > jpetteng > ectyper
diff ecoli_serotyping/commandLineOptions.py @ 6:fe3ceb5c4214 draft
Uploaded
author | jpetteng |
---|---|
date | Fri, 05 Jan 2018 15:43:14 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ecoli_serotyping/commandLineOptions.py Fri Jan 05 15:43:14 2018 -0500 @@ -0,0 +1,85 @@ +#!/usr/bin/env python + +import argparse + + +def parse_command_line(args=None): + """ + The options for both the serotyper, and virulence finder. + The returned object is used by both, but the options do not + necessarily apply to both. + + Args: + args: Optional args to be passed to argparse.parse_args() + + Returns: + The populated argparse Namespace + """ + + def check_percentage(value): + """ + type checker for percentage input + """ + ivalue = int(value) + if ivalue <= 0 or ivalue > 100: + raise argparse.ArgumentTypeError( + "{0} is an invalid positive int percentage value".format(value) + ) + return ivalue + + parser = argparse.ArgumentParser() + parser.add_argument( + "-i", + "--input", + help="Location of new file(s). Can be a single file or \ + a directory", + required=True + ) + + parser.add_argument( + "-d", + "--percentIdentity", + type=check_percentage, + help="Percentage of identity wanted to use against the\ + database. From 0 to 100, default is 90%%.", + default=90 + ) + + parser.add_argument( + "-l", + "--percentLength", + type=check_percentage, + help="Percentage of length wanted to use against the \ + database. From 0 to 100, default is 50%%.", + default=50 + ) + + parser.add_argument( + "--verify", + action="store_true", + help="Enable E. Coli. verification" + ) + + parser.add_argument( + "-s", + "--species", + action="store_true", + help="Enable species identification when non-ecoli genome is found\n\ + Note: refseq downloading is required when running this option for the first time." + ) + + parser.add_argument( + '--detailed', + action='store_true', + help='Enable detailed output' + ) + + parser.add_argument( + "-o", + "--output", + help="Directory location of output files." + ) + + if args is None: + return parser.parse_args() + return parser.parse_args(args)