diff --git a/helper/htseq_count_stats.py b/helper/htseq_count_stats.py index bb1e781..52eb5d4 100644 --- a/helper/htseq_count_stats.py +++ b/helper/htseq_count_stats.py @@ -36,4 +36,5 @@ print('sample', 'mapped_reads', 'no_feature', 'ambiguous', '% mapped', '% no_feature', '% ambiguous', sep='\t') for s, m, n, a in zip(values['samples'], values['mapped_reads'], values['__no_feature'], values['__ambiguous']): total = sum([m, n, a]) - print(s, m, n, a, m*100/total, n*100/total, a*100/total, sep='\t') + if total > 0: + print(s, m, n, a, m*100/total, n*100/total, a*100/total, sep='\t') diff --git a/pipeline/check/quality.py b/pipeline/check/quality.py index 31ebf23..d5422a6 100644 --- a/pipeline/check/quality.py +++ b/pipeline/check/quality.py @@ -53,14 +53,17 @@ def check_htseq(filename, cutoff=0, log=None): else: values[gene] = int(value) - total = sum([mapped_reads, values['__no_feature'], values['__ambiguous']]) + total = sum([mapped_reads, + values['__no_feature'] if '__no_feature' in values.keys() else 0, + values['__ambiguous'] if '__ambiguous' in values.keys() else 0] + ) - percentage_mapped = (mapped_reads*100)/total + percentage_mapped = ((mapped_reads*100)/total) if total > 0 else 0 if percentage_mapped >= cutoff: return True else: - if log is not None: + if log is not None: print('WARNING:', filename, 'didn\'t pass HTSEQ-Count Quality check!', percentage_mapped , 'reads mapped. Cutoff,', cutoff, file=log)