Skip to content

Pipeline failure if a sample has zero alignments #303

@HDash

Description

@HDash

Description of the bug

When a sample produces no alignments, the pipeline currently terminates with an error instead of handling this edge case gracefully.

For one of our samples, the first point of failure was the linear deduplication Python script. That issue was addressed in PR #296, but we are now seeing the next point of failure at the SEACR peak-calling step.

ERROR ~ Error executing process > 'NFCORE_CUTANDRUN:CUTANDRUN:SEACR_CALLPEAK_NOIGG (SK530_05_R1)'

Caused by:
  Process `NFCORE_CUTANDRUN:CUTANDRUN:SEACR_CALLPEAK_NOIGG (SK530_05_R1)` terminated with an error exit status (1)

Command executed:

  SEACR_1.3.sh \
      SK530_05_R1.clipped.bedGraph \
      0.05 \
      non stringent \
      SK530_05_R1.seacr.peaks

  cat <<-END_VERSIONS > versions.yml
  "NFCORE_CUTANDRUN:CUTANDRUN:SEACR_CALLPEAK_NOIGG":
      seacr: 1.3
      bedtools: $(bedtools --version | sed -e "s/bedtools v//g")
      r-base: $(echo $(R --version 2>&1) | sed 's/^.*R version //; s/ .*$//')
  END_VERSIONS

Command exit status:
  1

Command output:
  Calling enriched regions without control file
  Proceeding without normalization of control to experimental bedgraph
  Using stringent threshold
  Creating experimental AUC file: Mon Nov 24 17:08:16 GMT 2025
  Calculating optimal AUC threshold: Mon Nov 24 17:08:16 GMT 2025
  Using user-provided threshold: Mon Nov 24 17:08:16 GMT 2025

Command error:
  INFO:    Environment variable SINGULARITYENV_TMPDIR is set, but APPTAINERENV_TMPDIR is preferred
  INFO:    Environment variable SINGULARITYENV_NXF_TASK_WORKDIR is set, but APPTAINERENV_NXF_TASK_WORKDIR is preferred
  INFO:    Environment variable SINGULARITYENV_NXF_DEBUG is set, but APPTAINERENV_NXF_DEBUG is preferred
  Error in read.table(argsL$exp) : no lines available in input
  Execution halted

Work dir:
  /rds/general/user/hd423/ephemeral/nextflow_tmp_tipseq_new/cd/3e5204c83ef883dc5da3fd85f7206f

Tip: you can replicate the issue by changing to the process work dir and entering the command `bash .command.run`

 -- Check '.nextflow.log' file for details
-[nf-core/cutandrun] Pipeline completed with errors-
WARN: Killing running tasks (44)

It is likely that additional downstream steps will also fail in similar ways unless the pipeline explicitly handles this condition.

Command used and terminal output

# Standard bulk TIP-Seq run
nextflow run nf-core/cutandrun \
 -r 3.2.2 \
 --input $input \
 --outdir $outdir \
 -work-dir $NXF_TEMP \
 -profile imperial \
 --genome GRCh38 \
 --blacklist $blacklist \
 --use_control false \
 --dedup_target_reads true \
 --remove_mitochondrial_reads true \
 --remove_linear_duplicates true \
 --end_to_end true \
 --normalisation_mode None \
 --minimum_alignment_q_score 10 \
 --only_filtering false

Relevant files

.nextflow.log

System information

Nextflow version: 23.10.0
Hardware: Imperial College London HPC (-profile imperial)
Executor: pbs_version = 2024.1.1.20240608133507
Container engine: Singularity/Apptainer
OS: Red Hat Enterprise Linux (8.10 (Ootpa))
Pipeline version: 3.2.3 (PR #296, all versions affected)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions