File: example_01.py

package info (click to toggle)
python-pbcommand 2.1.1%2Bgit20220616.3f2e6c2-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 940 kB
  • sloc: python: 6,929; makefile: 220; sh: 71
file content (61 lines) | stat: -rw-r--r-- 1,596 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import pprint

from pbcommand.models.common import (
    FileTypes, ResourceTypes, SymbolTypes, TaskTypes)
from pbcommand.models.parser import get_pbparser
from pbcommand.models.tool_contract import ToolDriver


def _example_options(p):
    p.add_input_file_type(
        FileTypes.BAM,
        "ubam",
        "Unaligned BAM",
        "A General description of BAM")
    p.add_input_file_type(
        FileTypes.DS_REF,
        "ref",
        "Reference",
        "Reference Dataset XML")
    p.add_int("mytool.task_options.myoption", "myopt", 7,
              "My Option", "My Option which does this and that")
    p.add_str(
        "mytool.task_options.myopt2",
        "mylabel",
        "Stuff",
        "My Option name",
        "My Option2 description")
    p.add_output_file_type(
        FileTypes.REPORT,
        "rpt",
        "Json Report",
        "Mapping Stats Report Task",
        "mapping-stats.report.json")
    return p


def example_01():
    driver = ToolDriver("my-exe --config")
    resource_types = (ResourceTypes.TMP_DIR, ResourceTypes.LOG_FILE)
    p = get_pbparser(
        "pbcommand.tools.example",
        "0.1.2",
        "My Description",
        driver,
        TaskTypes.DISTRIBUTED,
        SymbolTypes.MAX_NPROC,
        resource_types)
    return _example_options(p)


def example_02():
    p = example_01()

    print("Generated Manifest")
    pprint.pprint(p.parsers[1].to_tool_contract())

    # ipython will dump out here. with non-zero exitcode. blah...
    print("Running Argparse --help")
    p.parsers[0].parser.parse_args(["--help"])

    return p