nf-core / crisprseq

A pipeline for the analysis of CRISPR edited data. It allows the evaluation of the quality of gene editing experiments using targeted next generation sequencing (NGS) data (`targeted`) as well as the discovery of important genes from knock-out or activation CRISPR-Cas9 screens using CRISPR pooled DNA (`screening`).
https://nf-co.re/crisprseq
MIT License
25 stars 25 forks source link

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

Open alan-tracey opened 3 months ago

alan-tracey commented 3 months ago

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