comparison package_output.py @ 19:cefa7625d6cb draft

planemo upload for repository https://github.com/richard-burhans/galaxytools/tree/main/tools/segalign commit 2840545abeeca2dc0a6e6df138633e561d379e52
author richard-burhans
date Thu, 01 Aug 2024 18:39:46 +0000
parents 4966e095e3c3
children
comparison
equal deleted inserted replaced
18:a5769923297c 19:cefa7625d6cb
2 2
3 import argparse 3 import argparse
4 import configparser 4 import configparser
5 import json 5 import json
6 import os 6 import os
7 import resource
7 import sys 8 import sys
8 import tarfile 9 import tarfile
10 import time
9 import typing 11 import typing
10 12
11 import bashlex 13 import bashlex
14
15 RUSAGE_ATTRS: typing.Final = ["ru_utime", "ru_stime", "ru_maxrss", "ru_minflt", "ru_majflt", "ru_inblock", "ru_oublock", "ru_nvcsw", "ru_nivcsw"]
12 16
13 17
14 class PackageFile: 18 class PackageFile:
15 def __init__( 19 def __init__(
16 self, 20 self,
301 305
302 def main() -> None: 306 def main() -> None:
303 parser = argparse.ArgumentParser() 307 parser = argparse.ArgumentParser()
304 parser.add_argument("--tool_directory", type=str, required=True, help="tool directory") 308 parser.add_argument("--tool_directory", type=str, required=True, help="tool directory")
305 parser.add_argument("--format_selector", type=str, required=True, help="format selector") 309 parser.add_argument("--format_selector", type=str, required=True, help="format selector")
310 parser.add_argument("--debug", action="store_true", help="enable debug messages")
306 args = parser.parse_args() 311 args = parser.parse_args()
312
313 if args.debug:
314 r_beg = resource.getrusage(resource.RUSAGE_SELF)
315 beg: int = time.monotonic_ns()
307 316
308 lastz_command_config_file: str = os.path.join(args.tool_directory, "lastz-cmd.ini") 317 lastz_command_config_file: str = os.path.join(args.tool_directory, "lastz-cmd.ini")
309 318
310 config: configparser.ConfigParser = configparser.ConfigParser() 319 config: configparser.ConfigParser = configparser.ConfigParser()
311 config.read(lastz_command_config_file) 320 config.read(lastz_command_config_file)
313 package_file = PackageFile() 322 package_file = PackageFile()
314 lastz_command_file = "lastz-commands.txt" 323 lastz_command_file = "lastz-commands.txt"
315 bashCommandLineFile(lastz_command_file, config, args, package_file) 324 bashCommandLineFile(lastz_command_file, config, args, package_file)
316 package_file.close() 325 package_file.close()
317 326
327 if args.debug:
328 ns: int = time.monotonic_ns() - beg
329 r_end = resource.getrusage(resource.RUSAGE_SELF)
330 print(f"package output clock time: {ns} ns", file=sys.stderr, flush=True)
331 for rusage_attr in RUSAGE_ATTRS:
332 value = getattr(r_end, rusage_attr) - getattr(r_beg, rusage_attr)
333 print(f" package output {rusage_attr}: {value}", file=sys.stderr, flush=True)
334
318 335
319 if __name__ == "__main__": 336 if __name__ == "__main__":
320 main() 337 main()