v2.1.0
[2.1.0] - 2026-08-15
Resource allocation is now declared to Nextflow rather than only passed to the tools, and there is a helper for carrying an older configuration forward.
Added
./PoolSeqFlow migrate_config— rebuildsparameters.configfrom the current template, backs the original up, carries across every setting whose parameter still exists, and reports what it kept, what is new, what the pipeline now computes for itself, and what it dropped. It refuses to carry a value the template derives, so it cannot reintroduce a stalesnpEff.dbor a hand-set thread count. The report is a starting point: a parameter whose behaviour changed while its value still looks ordinary will be carried across, so compare against the template afterwards.- Every process declares
cpus, so Nextflow schedules against real requirements instead of assuming one core per task. Previously threeAligntasks each using ~2.2 cores ran concurrently on an 8-core machine withcpus=1recorded for each. params.memory, feedingresourceLimitsalongsideparams.threads, so one place sizes a run.
Changed
- Tools now read
task.cpusrather than thread counts baked into option strings, so the number Nextflow reserves and the number the tool receives cannot diverge. Overridingcpusin a profile now changes the tool's behaviour too. TrimReadsreserves Trim Galore's full footprint.--cores Nruns N+4 threads (measured:--cores 8peaks at 12 OS threads), so the process reservescores.trimTotaland maps back to the worker count. A request larger than the machine now fails withProcess requirement exceeds available CPUsinstead of silently oversubscribing.- JVM garbage-collection threads come from
task.cpus.-XX:ParallelGCThreadswas read from a config string, socpushad no effect on SnpEff or FastQC. resourceLimitsmoved toparams.threads/params.memory; it was hardcoded and would not follow a change tothreads.- Eight parameters removed after the rework left them unreferenced: the five per-tool
threadsvalues,fastqc.bundledOptions,java.garbageCollectandjava.options. Each looked like a knob that did nothing. TrimReadsno longer exports_JAVA_OPTIONS; Trim Galore 2.x is a native binary with a bundled FastQC and never starts a JVM.
Fixed
parameters.config.templatewas missing parameters the pipeline requires —annotate,snpEff.runOptions,rgTagsPath,diploidy— and carried a differentvcftools.minDPand different report directory names. A configuration built from it failed step 0 withRGTAGS VERIFICATION: STATUS=FAIL. The template is now generated from the reference configuration and resolves identically to it.- Step 7 created the wrong output directory.
SortRefAltByFrequencyranmkdir -pon the frequencies folder and then moved into the VCF folder, which only worked because step 6 had created it first. parameters.configcontained thedir { }block and the reference path assignments twice, byte-identical.