nf-core / nf-core/modules

BCL_DEMULTIPLEX swf cannot handle tarballs

Open
#11,218 0 comments 0 reactions 1 assignee View on GitHub

@matthdsm is already working on this.

Since Apr 17, 2026.

bug
Dominant language
Nextflow
Stars
429
Forks
1.1k
Avg merge
1d 6h
Merged PRs (30d)
153

Description

Have you checked the docs?
Description of the bug

Description

At commit f3086dae4abcf5aa695f65e352b9293b76b693ee the BCL_DEMULTIPLEX subworkflow cannot handle tarballs. The internal module BCLCONVERT was specifically designed to handle both directory paths and tarball archives. With the introduction of MULTIQCSAV module on March 4th, the swf fails if the ch_flowcell's third argument is a tarball instead of a path.
Hence, the surround subworkflow BCL_DEMULTIPLEX limits the capabilities of module BCLCONVERT.

Error log

ERROR ~ No such file or directory: https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/sarscov2/illumina/bcl/200624_A00834_0183_BHMTFYDRXX.tar.gz/*.xml

   -- Check script '/<path>/subworkflows/nf-core/bcl_demultiplex/main.nf' at line: 65 or see '/<path>/.nf-test/tests/a9f9a82b17265ea90d24d15669e96ce2/meta/nextflow.log' file for more details
  ERROR ~ Pipeline failed.

Line 65 is

def xml = files(file(flowcell).resolve("*.xml"), checkIfExists: true)

I am using nf-core's public SARS-CoV-2 Illumina BCL test data. The tarball's files are

├── Config
├── CopyComplete.txt
├── Data
├── InterOp
├── Recipe
├── RTA3.cfg
├── RTAComplete.txt
├── RunInfo.xml
├── RunParameters.xml
└── SampleSheet.csv

Ideal fix

Both input versions (path, tarball)

  • ch_flowcell = [[id:"", lane:""], samplesheet.csv, path/to/bcl/files]
  • ch_flowcell = [[id:"", lane:""], samplesheet.csv, path/to/bcl/files.tar.gz]

should be accepted by BCL_DEMULTIPLEX.

Command used and terminal output

Relevant files
System information
  • Nextflow version 25.10.4
  • Container engine Singularity

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.