bio-raum / FooDMe2

A nextflow pipeline for the identification of species from mixed samples based on mitochondrial amplicons
https://bio-raum.github.io/FooDMe2/
GNU General Public License v3.0
1 stars 1 forks source link

🐛 [BUG] - [Process Sample_report] Pipeline fails on missing inputs #70

Open gregdenay opened 10 hours ago

gregdenay commented 10 hours ago

Description

If inputs are missing for the process FOODME2:REPORTING:HELPER_SAMPLE_REPORT then piepline fails with following error messsage:

WARN: Input tuple does not match tuple declaration in process `FOODME2:REPORTING:HELPER_SAMPLE_REPORT` -- offending value: [[sample_id:3554-03-k-MMX1a-2_S6_L001, single_end:false], null, /home/debian/NGS/Metabarcoding/work/5a/66de65a9e1830383d4265e070a9040/3554-03-k-MMX1a-2_S6_L001_R1_001.fastq.fastp.json]
WARN: Graphviz is required to render the execution DAG in the given format -- See http://www.graphviz.org for more info.
ERROR ~ Error executing process > 'FOODME2:REPORTING:HELPER_SAMPLE_REPORT (4)'

Caused by:
  Path value cannot be null

This is related to the discussion we had about checking what happens for bad samples.

Do you think it is possible to check if the output the the creating process are empty, and if it's the case add a dummy empty file to the channel instead of null (is there something like touchin nextflow)? The logic to check for empty files in the python script for the sample report would be straight forward to implement. The created JSON would miss some entries but this would already be picked up by the html report.

Nextflow version

24.04.4

Pipeline version

1.0.0

Reproduction steps

nextflow run ...

Logs

No response

Deployment

Conda/Mamba

OS

Linux

gregdenay commented 10 hours ago

I have a "crappy dataset" to test this, let me know if you want it