6
|
1 #!/usr/bin/env python
|
|
2
|
|
3 import argparse
|
|
4
|
|
5
|
|
6 def parse_command_line(args=None):
|
|
7 """
|
|
8 The options for both the serotyper, and virulence finder.
|
|
9 The returned object is used by both, but the options do not
|
|
10 necessarily apply to both.
|
|
11
|
|
12 Args:
|
|
13 args: Optional args to be passed to argparse.parse_args()
|
|
14
|
|
15 Returns:
|
|
16 The populated argparse Namespace
|
|
17 """
|
|
18
|
|
19 def check_percentage(value):
|
|
20 """
|
|
21 type checker for percentage input
|
|
22 """
|
|
23 ivalue = int(value)
|
|
24 if ivalue <= 0 or ivalue > 100:
|
|
25 raise argparse.ArgumentTypeError(
|
|
26 "{0} is an invalid positive int percentage value".format(value)
|
|
27 )
|
|
28 return ivalue
|
|
29
|
|
30 parser = argparse.ArgumentParser()
|
|
31 parser.add_argument(
|
|
32 "-i",
|
|
33 "--input",
|
|
34 help="Location of new file(s). Can be a single file or \
|
|
35 a directory",
|
|
36 required=True
|
|
37 )
|
|
38
|
|
39 parser.add_argument(
|
|
40 "-d",
|
|
41 "--percentIdentity",
|
|
42 type=check_percentage,
|
|
43 help="Percentage of identity wanted to use against the\
|
|
44 database. From 0 to 100, default is 90%%.",
|
|
45 default=90
|
|
46 )
|
|
47
|
|
48 parser.add_argument(
|
|
49 "-l",
|
|
50 "--percentLength",
|
|
51 type=check_percentage,
|
|
52 help="Percentage of length wanted to use against the \
|
|
53 database. From 0 to 100, default is 50%%.",
|
|
54 default=50
|
|
55 )
|
|
56
|
|
57 parser.add_argument(
|
|
58 "--verify",
|
|
59 action="store_true",
|
|
60 help="Enable E. Coli. verification"
|
|
61 )
|
|
62
|
|
63 parser.add_argument(
|
|
64 "-s",
|
|
65 "--species",
|
|
66 action="store_true",
|
|
67 help="Enable species identification when non-ecoli genome is found\n\
|
|
68 Note: refseq downloading is required when running this option for the first time."
|
|
69 )
|
|
70
|
|
71 parser.add_argument(
|
|
72 '--detailed',
|
|
73 action='store_true',
|
|
74 help='Enable detailed output'
|
|
75 )
|
|
76
|
|
77 parser.add_argument(
|
|
78 "-o",
|
|
79 "--output",
|
|
80 help="Directory location of output files."
|
|
81 )
|
|
82
|
|
83 if args is None:
|
|
84 return parser.parse_args()
|
|
85 return parser.parse_args(args)
|