Skip to content

Commit 5fbd880

Browse files
authored
seqtk fqchk: fix division by zero error (#51)
* Ensure that seqtk_fqchk_data_by_position files are created * Handle division by zero
1 parent 6f58a88 commit 5fbd880

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

bin/summarize_seqtk_fqchk.py

+12-4
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,21 @@ def main(args):
3737

3838
total_bases = sum([x['num_bases'] for x in seqtk_fqchk_output])
3939

40-
overall_percent_gc = sum([x['percent_gc'] * x['num_bases'] for x in seqtk_fqchk_output]) / total_bases
40+
percent_above_header = 'percent_bases_above_q' + str(quality_threshold)
4141

42-
overall_average_q = sum([x['average_q'] * x['num_bases'] for x in seqtk_fqchk_output]) / total_bases
42+
if total_bases > 0:
43+
overall_percent_gc = sum([x['percent_gc'] * x['num_bases'] for x in seqtk_fqchk_output]) / total_bases
4344

44-
percent_above_header = 'percent_bases_above_q' + str(quality_threshold)
45+
overall_average_q = sum([x['average_q'] * x['num_bases'] for x in seqtk_fqchk_output]) / total_bases
46+
47+
overall_percent_above_threshold = sum([x[percent_above_header] * x['num_bases'] for x in seqtk_fqchk_output]) / total_bases
48+
else:
49+
overall_percent_gc = 0.0
50+
51+
overall_average_q = 0.0
52+
53+
overall_percent_above_threshold = 0.0
4554

46-
overall_percent_above_threshold = sum([x[percent_above_header] * x['num_bases'] for x in seqtk_fqchk_output]) / total_bases
4755

4856
print(','.join([
4957
'sample_id',

0 commit comments

Comments
 (0)