The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- New
VSEARCH_MAPPINGRATEprocess that calculates per-sample mapping rates from existingusearch_globaloutputs without re-running vsearch VSEARCH_FASTQFILTERnow captures stderr (*.filter_stats.txt) to record post-filter read counts per sample, used as the denominator for mapping rateVSEARCH_USEARCHGLOBALnow captures stderr (mapping_stats.txt) to record overall unique-sequence mapping rate- Mapping rate output:
mapping_rate_summary.tsv(per-sample) andmapping_rate_overall.txt(global) - SILVA database version now configurable via pipeline parameter (
silva_db) - PiCrust2 stratified option added
- Decontam module added with negative control detection and nucleic acid concentration input
- Picrust2 module with extArgs support
PIPELINE_INITIALISATIONandPIPELINE_COMPLETIONsubworkflows following modern nf-core pattern- Samplesheet reading and primer validation moved into
PIPELINE_INITIALISATION(utils subworkflow) - Named
VSEARCHFLOWwrapper workflow inmain.nffollowing modern nf-core pattern - MultiQC skipped automatically with a warning when input exceeds 6000 FastQC files
- GitHub Actions CI workflow (
ci.yml) with matrix jobs fortestandtest_noprimersprofiles - GitHub Actions benchmark workflow (
benchmark.yml) triggered on release or manually; validates ASV recovery from 22-species mock community - GitHub Actions
check_updates.ymlworkflow: checks Bioconda/conda-forge weekly for new tool versions and sends email notification via Gmail assets/check_updates.py— Anaconda API-based version checker with bioconda → conda-forge fallbackassets/tools.txt— list of pipeline tool packages to monitor for updatesassets/versions_seen.json— tracks last known version per tool; auto-committed by the workflow- Stub SILVA databases for CI (
assets/testdata/small/SILVA_asv_db_test.fa.gz,SILVA_species_db_test.fa.gz) filtered to taxa present in testdata - Stub SILVA databases for benchmark (
assets/testdata/benchmark/SILVA_benchmark_asv_db.fa.gz,SILVA_benchmark_species_db.fa.gz) filtered to the 19 mock community genera conf/test_noprimers.config— CI test profile without primer trimmingconf/test_benchmark.config— benchmark profile using mock community data with known 22-species compositionassets/testdata/benchmark/mock_sequences_V4.fasta— 22 reference ASV sequences for benchmark validationassets/testdata/benchmark/validate_benchmark.py— validates recovered ASV count (21–23) and per-reference identity ≥ 0.97docs/check_updates.md— setup instructions for the version monitoring workflow
- Fixed rarefaction level auto-calculation: level is now capped at
max_countsso it can never exceed the deepest sample and wipe all samples;min_countsandmax_countsare computed once and reused throughout - Fixed rarefaction user-level guard: fallback to auto-calculated level now only triggers when
user_rarelevel > max_counts(i.e. no samples would survive), instead of incorrectly triggering whenever the level exceeded the shallowest sample - Fixed decontam bugs including column name for nucleic acid concentration (
Nucl_Acid_Conc) - Fixed overall mapping rate not being found due to incorrect search string (
"Matching unique query sequences"vs"Matching query sequences") - Fixed version collection for R-based processes
- Fixed test file paths and testdata layout
- Fixed schema for metamap input
- Fixed small bugs in vsearch scripts
- Fixed broken link in docs
- Removed nf-core template boilerplate, logos and references
- Removed unused
check_maxfunction - Cleaned repo structure
- Fixed
MissingMethodExceptioncrash in MultiQC caused by FastQC zipLinkedListbeing passed as closure arguments - Fixed MultiQC channel construction: zip files were incorrectly passed as
--configand--logoCLI arguments - Removed unused
ch_multiqc_config,ch_multiqc_logo, andch_multiqc_custom_configchannels - Removed deprecated script-level
defvariable declarations; all logic now insideworkflow {}blocks - Removed
NfcoreTemplate,WorkflowMain, andWorkflowVsearchpipelineGroovy helper class usage - Inlined
INPUT_CHECKandPRIMERS_CHECKsubworkflows; subworkflow files are now unused - Updated
assets/multiqc_config.ymlsection IDs and links to matchbarbarahelena/vsearchpipeline - Updated
assets/methods_description_template.ymlwith correct pipeline references and full tool citation list - Replaced metaboflow ASCII art in pipeline logo with VSEARCH ASCII art
- Updated FastQC and MultiQC nf-core modules
- Updated DADA2 to v1.38.0
- Updated SILVA database to 138.2
- Updated vsearch scripts
- Updated mafft version
subworkflows/local/input_check.nf— replaced byPIPELINE_INITIALISATIONsubworkflows/local/primers_check.nf— replaced byPIPELINE_INITIALISATIONlib/NfcoreTemplate.groovy,lib/WorkflowMain.groovy,lib/WorkflowVsearchpipeline.groovy— replaced by utils subworkflows
- Updated FastQC and MultiQC nf-core modules to latest versions
- New module to sort and remove singletons
skip_treeparameter to make phylogenetic tree construction optionalmaxdiffpctparameter for vsearch merge pairs- New HPC profile with wider CPU/memory/time limits
error_retrylabel for failed jobs- Zenodo DOI badge
- Solved bugs in phyloseq modules
- Ensured phyloseq outputs are published to outdir
- Vertical line in rarefaction plot now placed at the actual rarefaction level
- Fixed memory and resource labels
- Corrected typos in documentation
- Replaced IQ-TREE with FastTree for phylogenetic tree construction
- Updated vsearch and DADA2 containers
- Updated nf-core modules
- Returned to SILVA 138.1 (latest stable)
- Moved container and conda settings to
modules.config
- IQ-TREE option removed
- Check for presence of primers before trimming (primer check is now optional)
- Testdata FASTQ files without primers (
*_noprimers.fastq.gz) skip_primersparameter
- Resolved issues in metrics and rarefaction modules
- Fixed rarefaction level fallback when all sample counts are very low
- Restructured modules for reusability with postfix (complete / rarefied)
- Updated phyloseq container
Initial release of vsearchpipeline, created with the nf-core template.
- Full VSEARCH-based amplicon pipeline: merge pairs, quality filter, dereplication, chimera removal, clustering (UNOISE3), taxonomy assignment (DADA2 / SILVA), phyloseq object construction
- Optional phylogenetic tree (FastTree / IQ-TREE) and MSA (MAFFT)
- Optional PiCrust2 functional prediction
- Rarefaction and diversity/composition metrics modules
- Decontam module for negative-control-based contaminant removal
- MultiQC and FastQC quality control
- nf-core-compatible samplesheet and primer sheet input
- Test profile with small testdata
- HPC (Snellius) profile
- VSEARCH
- DADA2
- phyloseq
- SILVA 138.1
- FastTree / MAFFT
- PiCrust2
- FastQC / MultiQC