Mercurial > repos > bgruening > bismark
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__() |