Version history

Summary of changes

  • nf-core/mag samplesheets compatible with version 5.x
  • Fixed filtering with BBMAP and BLASTN
  • Updated nf-core template (now 4.1.0)
  • Follow current nextflow (v26.10) requirements

Detailed changes

Added

Changed

  • PR #103 - Template update for nf-core/tools 4.1.0 (from 3.4.1), for details read the nf-core/tools 4.1.0 release notes (by @d4straub)
  • PR #104 - Migrated local modules to Nextflow topic channels for software version collection and updated nf-core modules to latest versions (by @d4straub)
  • PR #108 - nf-core/mag samplesheets now include group=0 and short_reads_platform/long_reads_platform columns required by mag 5.x, and keep long-read-only samples (reported by @vagkaratzas, fix by @d4straub)
  • PR #110 - Formatting changes, apptainer efficiency increase and AWS full-test launch config with nf-schema pinned to 2.7.2 (by @d4straub)
  • PR #111 - Documentation and schema corrections: fixed published file names and paths in the output documentation, repaired usage documentation and README prose, clarified schema descriptions and replaced the unused Biopython citation with pandas and numpy (by @d4straub)

Fixed

  • PR #107 - Paired-end seqkit filtering with --validation_blastn now removes reads flagged in either mate, previously one mate’s ids were applied to both (reported by @vagkaratzas, fix by @d4straub)
  • PR #111 - kraken2preparation extracts the tar version portably; parse_kraken2report skips blank lines and validates the field count, and the summarizer fails clearly on empty input; generate_downstream_samplesheets had an emit block added (by @d4straub)
  • PR #114 - Fixed --filtering_tool bbmap with --validation_blastn: flagged reads were not removed from single-end and long-read samples, and paired-end pairs flagged only in the second mate were kept. The id files are now passed comma-separated with /2 ids normalized to /1, and BBMap is cited when used for filtering (reported by @erikrikarddaniel, fix by @d4straub)
  • PR #115 - With --filtering_tool bbmap more second-mate read names are supported (/2, .2 and the CASAVA 1.8+ mate field). Read names ending in .2 keep their original form in the filter list, because a first-mate name can also end in .2. The bbmap/filterbyname module takes the id files as a path input, which needs an upstream module change (reported by @Vicbeg, fix by @d4straub)
  • PR #116 - Launch the AWS tests with seqeralabs/action-seqera-launch and the v2 syntax parser, and stop uploading the debug log as an artifact, as in nf-core/ampliseq#1136 (inspired by @erikrikarddaniel, by @d4straub)

Dependencies

Software Previous version New version
MultiQC 1.32 1.35
fastp 1.0.1 1.3.6
nextflow 25.10.4 26.04.0

Summary of changes

  • Alternative filtering tool with --filtering_tool bbmap (default as previous versions with seqkit)
  • Added peer-reviewed paper as pipeline citation
  • Updated nf-core modules software versions
  • Updated nf-core template (now 3.4.1)

Detailed changes

Added

  • PR #80 - bbmap/filterbyname.sh natively handles pair-end reads, eliminating the steps required to modify fastq headers, improves run time, choose via --filtering_tool bbmap (by @m3hdad)

Changed

Fixed

  • PR #90 - Update minimum nextflow version to 25.04.8 to fix conda (by @d4straub)

Dependencies

Software Previous version New version
MultiQC 1.31 1.32
Kraken2 2.1.3 2.1.6
fastp 0.23.4 1.0.1
BLAST 2.15.0 2.17.0
bbmap 39.10 39.18
nextflow 25.04.0 25.04.8

Summary of changes

  • filtering is set now by default
  • defaults reflect best settings from benchmarking human decontamination
  • improvements to memory and time requirements

Detailed changes

Added

  • PR #70 - Filtering is now default, --skip_filter was added (by @d4straub)
  • PR #71 - Add usage information learned from our benchmarking (by @d4straub)

Changed

Fixed

  • PR #62 - Use dnaio to reduce memory spikes during renaming (by @bede)
  • PR #77 - Fixed conda versions to exactly follow container versions (by @d4straub)
  • PR #78 - Update typos, re-add code comments (by @d4straub)

Dependencies

Software Previous version New version
MultiQC 1.27 1.29
tar 1.3 1.34

Removed

  • PR #70 - Filtering is now default, --enable_filter was removed and replaced by --skip_filter (by @d4straub)

Added

  • PR #34 - Added bbduk to the classification step (kraken2 as default, both can be run together) (by @jannikseidelQBiC)
  • PR #34 - Added --fasta_bbduk parameter to provide a fasta file with contaminants (by @jannikseidelQBiC)
  • PR #34 - Rewrote summary step of classification to be usable with bbduk and/or kraken2 (by @jannikseidelQBiC)
  • PR #34 - Made preprocessing with fastp optional and added the parameter --fastp_eval_duplication to turn on duplication removal (off as default, was on/not changeable in v1.0.0) (by @jannikseidelQBiC)
  • PR #34 - Optionally the removed reads can now be written to the output folder (by @jannikseidelQBiC)
  • PR #34 - Added optional classification of filtered and removed reads via kraken2 (by @jannikseidelQBiC)
  • PR #39 - Added generation of input samplesheet for nf-core/mag, nf-core/taxprofiler (by @Joon-Klaps)

Parameters

Added parameters:

Parameter
--fasta_bbduk
--preprocessing
--output_removed_reads
--classification_kraken2
--classification_bbduk
--kraken2confidence_filtered
--kraken2confidence_removed
--classification_kraken2_post_filtering
--fastp_eval_duplication
--bbduk_kmers

Changed default values of parameters:

Parameter Old default value New default value
--fastp_cut_mean_quality 15 1
--kraken2db ‘https://genome-idx.s3.amazonaws.com/kraken/k2_standard_08gb_20231009.tar.gz’ ‘https://genome-idx.s3.amazonaws.com/kraken/k2_standard_08gb_20240605.tar.gz’
--kraken2confidence 0.05 0.00
--tax2filter ‘Homo’ ‘Homo sapiens’
--cutoff_tax2filter 2 0
--cutoff_tax2keep 0.5 0.0

Changed

Fixed

  • PR #33 - Addition of quotation marks in parse_kraken2report.nf prevents failure of the pipeline when using a taxon with space (e.g. Homo sapiens) with the --tax2filter parameter (by @jannikseidelQBiC)
  • PR #34 - Made validation via blastn optional by default (by @jannikseidelQBiC)
  • PR #34 - Changed parameter --fasta to --fasta_blastn (by @jannikseidelQBiC)

Dependencies

Updated and added dependencies

Tool Previous version Current version
bbmap - 39.10
blastn 2.14.1 2.15.0
multiQC 1.21 1.25.1
kraken2 2.1.2 2.1.3
seqkit 2.8.0 2.8.2

Deprecated

Parameter New parameter Reason
--fasta --fasta_blastn Introduction of fasta_bbduk; necessary to further distinguish the two parameters
--skip_blastn --validation_blastn blastn is now to be enabled on purpose; too resource intensive for a default setting
--max_cpus - New behavior of nextflow, resourceLimits can now be set via a config
--max_memory - New behavior of nextflow, resourceLimits can now be set via a config
--max_time - New behavior of nextflow, resourceLimits can now be set via a config

First release of nf-core/detaxizer!

This is the initial version of the pipeline:

  1. Read QC (FastQC)
  2. Pre-processing (fastp)
  3. Classification of reads (Kraken2)
  4. Optional validation of searched taxon/taxa (blastn)
  5. Optional filtering of the searched taxon/taxa from the reads (either from the raw files or the preprocessed reads, using either the output from kraken2 or blastn)
  6. Summary of the processes (how many reads were initially present after preprocessing, how many were classified as the tax2filter plus potential taxonomic subtree and optionally how many were validated)
  7. Present QC for raw reads (MultiQC)