annotate fill_ctd_clargs.py @ 9:decc397c3b7e draft

"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 2adf8edc3de4e1cd3b299b26abb14544d17d0636"
author galaxyp
date Fri, 06 Nov 2020 20:31:34 +0000
parents 146b59d2d3e5
children 6b01678ec2fc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
1 #!/usr/bin/env python3
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
2 from argparse import ArgumentParser
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
3 from io import StringIO
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
4
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
5 from CTDopts.CTDopts import (
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
6 CTDModel,
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
7 ModelTypeError,
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
8 Parameters
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
9 )
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
10
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
11 if __name__ == "__main__":
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
12 # note add_help=False since otherwise arguments starting with -h will
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
13 # trigger an error (despite allow_abbreviate)
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
14 parser = ArgumentParser(prog="fill_ctd_clargs",
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
15 description="fill command line arguments"
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
16 "into a CTD file and write the CTD file to",
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
17 add_help=False, allow_abbrev=False)
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
18 parser.add_argument("--ctd", dest="ctd", help="input ctd file",
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
19 metavar='CTD', default=None, required=True)
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
20 args, cliargs = parser.parse_known_args()
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
21 # load CTDModel
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
22 model = None
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
23 try:
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
24 model = CTDModel(from_file=args.ctd)
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
25 except ModelTypeError:
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
26 pass
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
27 try:
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
28 model = Parameters(from_file=args.ctd)
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
29 except ModelTypeError:
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
30 pass
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
31 assert model is not None, "Could not parse %s, seems to be no CTD/PARAMS" % (args.ctd)
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
32
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
33 # get a dictionary of the ctd arguments where the values of the parameters
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
34 # given on the command line are overwritten
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
35 margs = model.parse_cl_args(cl_args=cliargs, ignore_required=True)
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
36
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
37 # write the ctd with the values taken from the dictionary
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
38 out = StringIO()
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
39 ctd_tree = model.write_ctd(out, margs)
146b59d2d3e5 "planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit e499c9124d3fd85a7fc47b95c206ce91a5e3678c-dirty"
galaxyp
parents:
diff changeset
40 print(out.getvalue())