Mercurial > repos > public-health-bioinformatics > fastp_json_to_tabular
comparison fastp_json_to_tabular.py @ 3:e342bf27e717 draft
"planemo upload for repository https://github.com/public-health-bioinformatics/galaxy_tools/tree/master/tools/fastp_json_to_tabular commit fb12c97e94741abedc71332572bdcb33338504a7"
author | public-health-bioinformatics |
---|---|
date | Thu, 10 Mar 2022 19:03:59 +0000 |
parents | dc655c5e77d6 |
children | b86961fa4ac4 |
comparison
equal
deleted
inserted
replaced
2:2c2d59b3d64d | 3:e342bf27e717 |
---|---|
5 | 5 |
6 def main(args): | 6 def main(args): |
7 with open(args.fastp_json, 'r') as f: | 7 with open(args.fastp_json, 'r') as f: |
8 fastp_report = json.load(f) | 8 fastp_report = json.load(f) |
9 | 9 |
10 reads_single_paired = fastp_report['summary']['sequencing'].split(' ')[0] | |
11 | |
12 if reads_single_paired == 'paired': | |
13 total_read_pairs_before_filtering = str(int(fastp_report['summary']['before_filtering']['total_reads']) / 2) | |
14 total_read_pairs_after_filtering = str(int(fastp_report['summary']['after_filtering']['total_reads']) / 2) | |
15 read2_mean_length_before_filtering = fastp_report['summary']['before_filtering']['read2_mean_length'] | |
16 read2_mean_length_after_filtering = fastp_report['summary']['after_filtering']['read2_mean_length'] | |
17 else: | |
18 total_read_pairs_before_filtering = 'NA' | |
19 total_read_pairs_after_filtering = 'NA' | |
20 read2_mean_length_before_filtering = 'NA' | |
21 read2_mean_length_after_filtering = 'NA' | |
22 | |
10 total_reads_before_filtering = fastp_report['summary']['before_filtering']['total_reads'] | 23 total_reads_before_filtering = fastp_report['summary']['before_filtering']['total_reads'] |
11 total_reads_after_filtering = fastp_report['summary']['after_filtering']['total_reads'] | 24 total_reads_after_filtering = fastp_report['summary']['after_filtering']['total_reads'] |
25 | |
12 total_bases_before_filtering = fastp_report['summary']['before_filtering']['total_bases'] | 26 total_bases_before_filtering = fastp_report['summary']['before_filtering']['total_bases'] |
13 total_bases_after_filtering = fastp_report['summary']['after_filtering']['total_bases'] | 27 total_bases_after_filtering = fastp_report['summary']['after_filtering']['total_bases'] |
28 | |
14 read1_mean_length_before_filtering = fastp_report['summary']['before_filtering']['read1_mean_length'] | 29 read1_mean_length_before_filtering = fastp_report['summary']['before_filtering']['read1_mean_length'] |
15 read2_mean_length_before_filtering = fastp_report['summary']['before_filtering']['read2_mean_length'] | |
16 read1_mean_length_after_filtering = fastp_report['summary']['after_filtering']['read1_mean_length'] | 30 read1_mean_length_after_filtering = fastp_report['summary']['after_filtering']['read1_mean_length'] |
17 read2_mean_length_after_filtering = fastp_report['summary']['after_filtering']['read2_mean_length'] | 31 |
18 q20_bases_before_filtering = fastp_report['summary']['before_filtering']['q20_bases'] | 32 q20_bases_before_filtering = fastp_report['summary']['before_filtering']['q20_bases'] |
19 q20_bases_after_filtering = fastp_report['summary']['after_filtering']['q20_bases'] | 33 q20_bases_after_filtering = fastp_report['summary']['after_filtering']['q20_bases'] |
34 | |
20 q20_rate_before_filtering = fastp_report['summary']['before_filtering']['q20_rate'] | 35 q20_rate_before_filtering = fastp_report['summary']['before_filtering']['q20_rate'] |
21 q20_rate_after_filtering = fastp_report['summary']['after_filtering']['q20_rate'] | 36 q20_rate_after_filtering = fastp_report['summary']['after_filtering']['q20_rate'] |
37 | |
22 q30_bases_before_filtering = fastp_report['summary']['before_filtering']['q30_bases'] | 38 q30_bases_before_filtering = fastp_report['summary']['before_filtering']['q30_bases'] |
23 q30_bases_after_filtering = fastp_report['summary']['after_filtering']['q30_bases'] | 39 q30_bases_after_filtering = fastp_report['summary']['after_filtering']['q30_bases'] |
40 | |
24 q30_rate_before_filtering = fastp_report['summary']['before_filtering']['q30_rate'] | 41 q30_rate_before_filtering = fastp_report['summary']['before_filtering']['q30_rate'] |
25 q30_rate_after_filtering = fastp_report['summary']['after_filtering']['q30_rate'] | 42 q30_rate_after_filtering = fastp_report['summary']['after_filtering']['q30_rate'] |
43 | |
26 gc_content_before_filtering = fastp_report['summary']['before_filtering']['gc_content'] | 44 gc_content_before_filtering = fastp_report['summary']['before_filtering']['gc_content'] |
27 gc_content_after_filtering = fastp_report['summary']['after_filtering']['gc_content'] | 45 gc_content_after_filtering = fastp_report['summary']['after_filtering']['gc_content'] |
28 adapter_trimmed_reads = fastp_report['adapter_cutting']['adapter_trimmed_reads'] | 46 if 'adapter_cutting' in fastp_report: |
29 adapter_trimmed_bases = fastp_report['adapter_cutting']['adapter_trimmed_bases'] | 47 adapter_trimmed_reads = fastp_report['adapter_cutting']['adapter_trimmed_reads'] |
30 | 48 adapter_trimmed_bases = fastp_report['adapter_cutting']['adapter_trimmed_bases'] |
49 else: | |
50 adapter_trimmed_reads = 0 | |
51 adapter_trimmed_bases = 0 | |
31 | 52 |
32 output_fields = [ | 53 output_fields = [ |
33 'total_reads_before_filtering', | 54 'total_reads_before_filtering', |
55 'total_read_pairs_before_filtering', | |
34 'total_reads_after_filtering', | 56 'total_reads_after_filtering', |
57 'total_read_pairs_after_filtering', | |
35 'total_bases_before_filtering', | 58 'total_bases_before_filtering', |
36 'total_bases_after_filtering', | 59 'total_bases_after_filtering', |
37 'read1_mean_length_before_filtering', | 60 'read1_mean_length_before_filtering', |
38 'read1_mean_length_after_filtering', | 61 'read1_mean_length_after_filtering', |
39 'read2_mean_length_before_filtering', | 62 'read2_mean_length_before_filtering', |
56 if args.sample_id: | 79 if args.sample_id: |
57 output_fields = ['sample_id'] + output_fields | 80 output_fields = ['sample_id'] + output_fields |
58 output_data = [args.sample_id] | 81 output_data = [args.sample_id] |
59 | 82 |
60 print(args.delimiter.join(output_fields)) | 83 print(args.delimiter.join(output_fields)) |
61 | 84 |
62 output_data = output_data + [ | 85 output_data = output_data + [ |
63 total_reads_before_filtering, | 86 total_reads_before_filtering, |
87 total_read_pairs_before_filtering, | |
64 total_reads_after_filtering, | 88 total_reads_after_filtering, |
89 total_read_pairs_after_filtering, | |
65 total_bases_before_filtering, | 90 total_bases_before_filtering, |
66 total_bases_after_filtering, | 91 total_bases_after_filtering, |
67 read1_mean_length_before_filtering, | 92 read1_mean_length_before_filtering, |
68 read1_mean_length_after_filtering, | 93 read1_mean_length_after_filtering, |
69 read2_mean_length_before_filtering, | 94 read2_mean_length_before_filtering, |