comparison bismark2report_wrapper.py @ 38:b2d0e92f81c2 draft default tip

"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/bismark commit 8fdc76a99a9dcf34549898a208317607afd18798"
author bgruening
date Thu, 22 Apr 2021 17:05:07 +0000
parents a5faad9e4138
children
comparison
equal deleted inserted replaced
37:79df147da633 38:b2d0e92f81c2
10 logger.critical(msg) 10 logger.critical(msg)
11 sys.exit() 11 sys.exit()
12 12
13 13
14 def log_subprocess_output(logger, pipe): 14 def log_subprocess_output(logger, pipe):
15 for line in iter(pipe.readline, b''): 15 for line in iter(pipe.readline, b""):
16 logger.debug(line.decode().rstrip()) 16 logger.debug(line.decode().rstrip())
17 17
18 18
19 def get_arg(): 19 def get_arg():
20 parser = argparse.ArgumentParser() 20 parser = argparse.ArgumentParser()
21 parser.add_argument('--alignment_report', dest='alignment_report', action='store', metavar='alignment_report', 21 parser.add_argument(
22 type=str) 22 "--alignment_report",
23 parser.add_argument('--dedup_report', dest='dedup_report', action='store', metavar='dedup_report', type=str) 23 dest="alignment_report",
24 parser.add_argument('--splitting_report', dest='splitting_report', action='store', metavar='splitting_report', 24 action="store",
25 type=str) 25 metavar="alignment_report",
26 parser.add_argument('--mbias_report', dest='mbias_report', action='store', metavar='mbias_report', type=str) 26 type=str,
27 parser.add_argument('--nucleotide_report', dest='nucleotide_report', action='store', metavar='nucleotide_report', 27 )
28 type=str) 28 parser.add_argument(
29 parser.add_argument('--output_html_report', dest='output_html_report', action='store', metavar='output_html_report', 29 "--dedup_report",
30 type=str) 30 dest="dedup_report",
31 parser.add_argument('--log_report', dest='log_report', action='store', metavar='log_report', type=str) 31 action="store",
32 metavar="dedup_report",
33 type=str,
34 )
35 parser.add_argument(
36 "--splitting_report",
37 dest="splitting_report",
38 action="store",
39 metavar="splitting_report",
40 type=str,
41 )
42 parser.add_argument(
43 "--mbias_report",
44 dest="mbias_report",
45 action="store",
46 metavar="mbias_report",
47 type=str,
48 )
49 parser.add_argument(
50 "--nucleotide_report",
51 dest="nucleotide_report",
52 action="store",
53 metavar="nucleotide_report",
54 type=str,
55 )
56 parser.add_argument(
57 "--output_html_report",
58 dest="output_html_report",
59 action="store",
60 metavar="output_html_report",
61 type=str,
62 )
63 parser.add_argument(
64 "--log_report",
65 dest="log_report",
66 action="store",
67 metavar="log_report",
68 type=str,
69 )
32 args = parser.parse_args() 70 args = parser.parse_args()
33 return args 71 return args
34 72
35 73
36 def __main__(): 74 def __main__():
37 args = get_arg() 75 args = get_arg()
38 logger = logging.getLogger('bismark_deduplicate_wrapper') 76 logger = logging.getLogger("bismark_deduplicate_wrapper")
39 logger.setLevel(logging.DEBUG) 77 logger.setLevel(logging.DEBUG)
40 ch = logging.StreamHandler(sys.stdout) 78 ch = logging.StreamHandler(sys.stdout)
41 if args.log_report: 79 if args.log_report:
42 ch.setLevel(logging.WARNING) 80 ch.setLevel(logging.WARNING)
43 handler = logging.FileHandler(args.log_report) 81 handler = logging.FileHandler(args.log_report)
45 logger.addHandler(handler) 83 logger.addHandler(handler)
46 else: 84 else:
47 ch.setLevel(logging.DEBUG) 85 ch.setLevel(logging.DEBUG)
48 logger.addHandler(ch) 86 logger.addHandler(ch)
49 87
50 cmd = ['bismark2report', '--verbose', '--alignment_report', args.alignment_report, 88 cmd = [
51 '--output', args.output_html_report] 89 "bismark2report",
90 "--verbose",
91 "--alignment_report",
92 args.alignment_report,
93 "--output",
94 args.output_html_report,
95 ]
52 96
53 if args.dedup_report: 97 if args.dedup_report:
54 cmd.extend(['--dedup_report', args.dedup_report]) 98 cmd.extend(["--dedup_report", args.dedup_report])
55 if args.splitting_report: 99 if args.splitting_report:
56 cmd.extend(['--splitting_report', args.splitting_report]) 100 cmd.extend(["--splitting_report", args.splitting_report])
57 if args.mbias_report: 101 if args.mbias_report:
58 cmd.extend(['--mbias_report', args.mbias_report]) 102 cmd.extend(["--mbias_report", args.mbias_report])
59 if args.nucleotide_report: 103 if args.nucleotide_report:
60 cmd.extend(['--nucleotide_report', args.nucleotide_report]) 104 cmd.extend(["--nucleotide_report", args.nucleotide_report])
61 105
62 logger.info("Generating report with: '%s'", " ".join(cmd)) 106 logger.info("Generating report with: '%s'", " ".join(cmd))
63 process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) 107 process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
64 with process.stdout: 108 with process.stdout:
65 log_subprocess_output(logger, process.stdout) 109 log_subprocess_output(logger, process.stdout)
66 exitcode = process.wait() 110 exitcode = process.wait()
67 if exitcode != 0: 111 if exitcode != 0:
68 stop_err(logger, "Bismark pretty report error (also check the log file if any)!\n%s" % process.stderr) 112 stop_err(
113 logger,
114 "Bismark pretty report error (also check the log file if any)!\n%s"
115 % process.stderr,
116 )
69 117
70 118
71 if __name__ == "__main__": __main__() 119 if __name__ == "__main__":
120 __main__()