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`).
ZeroDivisionError at alignment_summary.py stage due to low read number in input: mapped_reads_percentage = mapped_reads_count * 100 / total_reads_count #164
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
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