crisprseq icon indicating copy to clipboard operation
crisprseq copied to clipboard

ZeroDivisionError at alignment_summary.py stage due to low read number in input: mapped_reads_percentage = mapped_reads_count * 100 / total_reads_count

Open alan-tracey opened this issue 1 year ago • 0 comments

Description of the bug

Command executed [/Users/alantracey/.nextflow/assets/nf-core/crisprseq/templates/alignment_summary.py]:

#!/usr/bin/env python

############################

Summary of alignment

author: Júlia Mir @mirpedrol

Released under the MIT license. See git repository (https://github.com/nf-core/crisprseq) for full license text.

############################

import sys

import pysam

mapped_reads_count = int(pysam.view("-c", "-b", "-F", "4", "S01E1_BSM.bam")) total_reads_count = int(pysam.view("-c", "-b", "S01E1_BSM.bam")) mapped_reads_percentage = mapped_reads_count * 100 / total_reads_count

with open("S01E1_BSM_clustering_summary.csv", "r") as summary: summary_lines = summary.readlines()

add_line = True outname = "S01E1_BSM_clustering_summary.csv".replace("_clustering_summary.csv", "_alignment_summary.csv") with open(outname, "w") as output_file: for line in summary_lines: if "aligned-reads" not in line: output_file.write(line) else: output_file.write(f"aligned-reads, {mapped_reads_count} ({round(mapped_reads_percentage, 1)}%)\n") add_line = False if add_line: output_file.write(f"aligned-reads, {mapped_reads_count} ({round(mapped_reads_percentage, 1)}%)\n")

with open("versions.yml", "w") as f: f.write('"NFCORE_CRISPRSEQ:CRISPRSEQ_TARGETED:ALIGNMENT_SUMMARY":\n') f.write(f' pysam: "{pysam.version}"\n')

Command exit status: 1

Command output: (empty)

Command error: Traceback (most recent call last): File "/tmp/nxf.XXXXN0mHBp/.command.sh", line 15, in mapped_reads_percentage = mapped_reads_count * 100 / total_reads_count ZeroDivisionError: division by zero

Command used and terminal output

No response

Relevant files

No response

System information

No response

alan-tracey avatar Jul 04 '24 11:07 alan-tracey