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,