Problem
PREPARE_PAIR declares 5 outputs but only pair_id is used downstream:
output:
tuple val(tissue), val("${sp1}_${sp2}"), emit: pair_id // ✅ USED
path "*.RData", emit: data_files // ❌ UNUSED
path "*.txt", emit: expr_files // ❌ UNUSED
path "config.R", emit: config_file // ❌ UNUSED
path "pair_stats.tsv", emit: stats_file, optional: true // ❌ UNUSED
Why this matters:
- Unnecessary file staging overhead
- Confuses pipeline data flow
- Wastes disk I/O
Solution
Remove unused output declarations. If files are needed later, include them in the tuple:
output:
tuple val(tissue), val("${sp1}_${sp2}"), emit: pair_id
OR if intermediate files are needed:
output:
tuple val(tissue), val("${sp1}_${sp2}"), path("*.RData"), emit: pair_data
Priority: Medium
Effort: Low
Note: This will invalidate PREPARE_PAIR cache
Problem
PREPARE_PAIR declares 5 outputs but only
pair_idis used downstream:Why this matters:
Solution
Remove unused output declarations. If files are needed later, include them in the tuple:
OR if intermediate files are needed:
Priority: Medium
Effort: Low
Note: This will invalidate PREPARE_PAIR cache