v2.0.0
[2.0.0] - 2026-08-12
Major upgrade to Nextflow 26 and Trim Galore 2.x. This release is not backwards compatible: an existing parameters.config will fail mid-run, and completed trimming and annotation outputs are regenerated on first use.
Breaking
- Requires Nextflow 26 (
26.04.6). Thecleanup { }block innextflow.configwas invalid and is rejected by the stricter config parser; the pipeline could not start on 26 before this release. - Requires Trim Galore 2.x (
2.3.0). The bundled FastQC engine and--basenamenaming are both assumed. parameters.configis no longer tracked in git. Copyparameters.config.templateand re-apply your settings — see Upgrading from an earlier release in the README. Carrying an older file over causes a later step to fail with a barenull: command not found.- Trimmed read filenames changed from
<sample>_R1_val_1.fq.gzto<sample>_val_1.fq.gz. Trimming is redone once on the first run after upgrading. - SnpEff database name is derived from the GFF filename instead of being set by hand, so an existing database directory is not found and is rebuilt.
params.fastqc.memoryis now a plain number of megabytes (2048). The previous"2G"was rejected by FastQC, which silently fell back to its 512 MB default.-resumeis no longer passed to Nextflow../PoolSeqFlow runalready resumes through its own filesystem checks;./PoolSeqFlow resumeremains as a deprecated alias.
Added
- Automatic core allocation: a
params.coresblock derives every tool's thread count fromparams.threads. Trim Galore is costed on its true footprint (--cores Nruns N+4 threads), andthreads = 1forces everything single-core. params.trim_galore.autodetect— whentrue, no adapter is passed and Trim Galore detects it; whenfalse, both adapter sequences are required.- Step 0 now validates trimming parameters, failing early if auto-detection is off and the adapters are missing or are not DNA sequences.
unzipadded toenvironment.ymland toparams.software, so step 0 verifies it. It was always required by the clipping step but never declared.- Trim Galore 2.x
*_trimming_report.jsonfiles are kept alongside the.txtreports. - README section on upgrading, covering the stale-configuration failure mode.
Fixed
- Trimming failed on standard Illumina filenames. Output patterns assumed the read number ended the filename, so
<sample>_R1_001.fastq.gzproducedMissing output file(s) *_R1_val_1.fq.gz. Output naming is now pinned with--basename. - The SnpEff database could never be built. Only the GFF was staged, so the build aborted with
Cannot find reference sequence.and produced no.binfiles. The reference FASTA is now copied in alongside it. - Clipping thresholds could be computed from truncated data. A zero base fraction aborted the AWK pass mid-pipeline; without
pipefailthe failure was swallowed and a wrong read-length limit was used silently. Zero divisors are skipped, bounds are validated, and the chosen parameters are logged. - Alignment and coverage reports paired BAMs with indexes by position rather than by sample; the two channels are now joined on
pair_id. SkipGFFCheckwas unparseable because of a duplicatedscript:label, soannotate = falsecould not run at all on Nextflow 26.- Resuming a completed run failed at the frequency step, which linked a bare filename and created a self-referential symlink.
parameters.config.templatedid not parse on Nextflow 26 — it used${mainDir}instead of${params.mainDir}in nine places.- README documented parameters that do not exist (
refGenome,refGFF,ploidy) and placed the data directory under the wrong root.