Skip to content

Commit

Permalink
Merge pull request #771 from nf-core/dev
Browse files Browse the repository at this point in the history
Release 2.11.0
  • Loading branch information
d4straub authored Aug 5, 2024
2 parents 3f40a1b + 61e8bc7 commit 0473e15
Show file tree
Hide file tree
Showing 14 changed files with 265 additions and 135 deletions.
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,29 @@
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## nf-core/ampliseq version 2.11.0 - 2024-08-06

### `Added`

- [#765](https://github.com/nf-core/ampliseq/pull/765) - Added version R09-RS220 of curated GTDB 16S taxonomy: `sbdi-gtdb=R09-RS220-1` or `sbdi-gtdb` as parameter to `--dada_ref_taxonomy`
- [#766](https://github.com/nf-core/ampliseq/pull/766) - Added version 10 of Unite as parameter for `--sintax_ref_taxonomy`: `unite-fungi=10.0` and `unite-alleuk=10.0`

### `Changed`

- [#762](https://github.com/nf-core/ampliseq/pull/762) - Improved output documentation section "Optional ASV filtering" and parameter documentation
- [#766](https://github.com/nf-core/ampliseq/pull/766) - Modified warning filenames from `QIIME2_ANCOM` to avoid collisions
- [#766](https://github.com/nf-core/ampliseq/pull/766),[#769](https://github.com/nf-core/ampliseq/pull/769) - Disabled Unite databases from the `--qiime_ref_taxonomy` because of divergent results compared to the other classifiers

### `Fixed`

- [#761](https://github.com/nf-core/ampliseq/pull/761) - Some sample sheet checks were not applied due to changes in the metadata ["meta"] structure in version 2.9.0
- [#766](https://github.com/nf-core/ampliseq/pull/766) - Fixed broken urls for Unite databases (issue [#764](https://github.com/nf-core/ampliseq/issues/764))
- [#769](https://github.com/nf-core/ampliseq/pull/769) - Reference taxonomy database values were not properly validated in versions 2.9.0 and 2.10.0

### `Dependencies`

### `Removed`

## nf-core/ampliseq version 2.10.0 - 2024-06-27

### `Added`
Expand Down
4 changes: 2 additions & 2 deletions assets/multiqc_config.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
report_comment: >
This report has been generated by the <a href="https://github.com/nf-core/ampliseq/releases/tag/2.10.0" target="_blank">nf-core/ampliseq</a>
This report has been generated by the <a href="https://github.com/nf-core/ampliseq/releases/tag/2.11.0" target="_blank">nf-core/ampliseq</a>
analysis pipeline. For information about how to interpret these results, please see the
<a href="https://nf-co.re/ampliseq/2.10.0/docs/output" target="_blank">documentation</a>.
<a href="https://nf-co.re/ampliseq/2.11.0/docs/output" target="_blank">documentation</a>.
report_section_order:
"nf-core-ampliseq-methods-description":
order: -1000
Expand Down
2 changes: 1 addition & 1 deletion assets/report_template.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -1544,7 +1544,7 @@ for (folder in ancom) {
any_ancombc <- !isFALSE(params$ancombc) || !isFALSE(params$ancombc_formula)
```

```{r, eval = !isFALSE(params$any_ancombc), results='asis'}
```{r, eval = !isFALSE(any_ancombc), results='asis'}
cat(paste0("
## ANCOM-BC
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,3 @@
# Just rename the preformatted file
# Assumes only one (gzipped) file
mv * sintaxdb.fa.gz

13 changes: 13 additions & 0 deletions bin/taxref_reformat_sintax_tar.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/sh

# Handles preformatted database tar files suitable for sintax
#
# This turned out to be a MISTAKE and is NOT USED, but I'm keeping the file for a while anyway.

# Extract the fasta file without _dev in its name
f=$(tar tfz *.tgz | grep fasta | grep -v '_dev')
tar xzf *.tgz $f

# Change the name and gzip
mv $f sintaxdb.fa
gzip sintaxdb.fa
167 changes: 107 additions & 60 deletions conf/ref_databases.config

Large diffs are not rendered by default.

50 changes: 50 additions & 0 deletions conf/test_its_dada_taxonomy.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Nextflow config file for running minimal tests
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Defines input files and everything required to run a fast and simple pipeline test.
Use as follows:
nextflow run nf-core/ampliseq -profile test_sintax,<docker/singularity> --outdir <OUTDIR>
----------------------------------------------------------------------------------------
*/

params {
config_profile_name = 'Test sintax profile'
config_profile_description = 'Minimal test dataset to check pipeline function for ITS data with the DADA2 taxonomy classifier'

// Limit resources so that this can run on GitHub Actions
max_cpus = 2
max_memory = '12.GB'
max_time = '6.h'

// Input data
FW_primer = "CTTGGTCATTTAGAGGAAGTAA"
RV_primer = "TCCTGAGGGAAACTTCG"
input = params.pipelines_testdata_base_path + "ampliseq/samplesheets/Samplesheet_pacbio_ITS.tsv"
metadata = params.pipelines_testdata_base_path + "ampliseq/samplesheets/Metadata_pacbio_ITS.tsv"
pacbio = true
max_ee = 12
cut_its = "its2"

skip_dada_taxonomy = false
dada_ref_taxonomy = "unite-fungi"

//this is to remove low abundance ASVs to reduce runtime of downstream processes
min_samples = 2
min_frequency = 10

//produce average barplots
metadata_category_barplot = "var2,var3"

//restrict ANCOM analysis to higher taxonomic levels
tax_agglom_max = 4
ancom = true

sbdiexport = true

qiime_adonis_formula = "var2"

diversity_rarefaction_depth = 500
}
10 changes: 6 additions & 4 deletions docs/output.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes d
- [Cutadapt](#cutadapt) - Primer trimming
- [MultiQC](#multiqc) - Aggregate report describing results
- [ASV inferrence with DADA2](#asv-inferrence-with-dada2) - Infer Amplicon Sequence Variants (ASVs)
- [Optional ASV filtering](#optional-asv-filtering) - Filter ASVs to optimize downstream analysis
- [Optional ASV post processing](#optional-asv-post-processing) - Filter ASVs to optimize downstream analysis
- [VSEARCH cluster](#vsearch-cluster) - Centroid fasta file, filtered asv table, and stats
- [Barrnap](#barrnap) - Predict ribosomal RNA sequences and optional filtering
- [Length filter](#length-filter) - Optionally, ASV can be filtered by length thresholds
Expand Down Expand Up @@ -163,7 +163,9 @@ For binned quality scores in NovaSeq data, monotonicity in the fitted error mode

</details>

### Optional ASV filtering
### Optional ASV post processing

ASV post-processing takes place after DADA2's ASV computation (i.e. after chimera removal, for example table `ASV_tax.tsv`) but _before_ taxonomic classification. Post-processing will affect all downstream files. Clustering and filters are applied sequentially, in the same sequence as shown here. All filters are off by default and can be enabled by setting thresholds as detailed in the parameter documentation.

#### VSEARCH cluster

Expand All @@ -184,7 +186,7 @@ This directory will hold the centroid fasta file, the filtered asv count table (

Barrnap predicts the location of ribosomal RNA genes in genomes, here it can be used to discriminate rRNA sequences from potential contamination. It supports bacteria (5S,23S,16S), archaea (5S,5.8S,23S,16S), metazoan mitochondria (12S,16S) and eukaryotes (5S,5.8S,28S,18S).

Optionally, ASV sequences can be filtered for rRNA sequences identified by Barrnap with `--filter_ssu` that can take a list of abbreviations of the above supported categories (kingdoms), e.g. `bac,arc,mito,euk`. This filtering takes place after DADA2's ASV computation (i.e. after chimera removal) but _before_ taxonomic classification (also applies to above mentioned taxonomic classification with DADA2, i.e. files `ASV_tax.tsv` & `ASV_tax_species.tsv`).
Optionally, ASV sequences can be filtered for rRNA sequences identified by Barrnap with `--filter_ssu` that can take a list of abbreviations of the above supported categories (kingdoms), e.g. `bac,arc,mito,euk`.

<details markdown="1">
<summary>Output files</summary>
Expand All @@ -200,7 +202,7 @@ Optionally, ASV sequences can be filtered for rRNA sequences identified by Barrn

#### Length filter

Optionally, a length filter can be used to reduce potential contamination after ASV computation. For example with 515f and 806r primers the majority of 16S rRNA amplicon sequences should have a length of 253 bp and amplicons vary significantely are likely spurious.
Optionally, a length filter can be used to reduce potential contamination after ASV computation. For example with 515f and 806r primers the majority of 16S rRNA amplicon sequences should have a length of 253 bp and amplicons that differ significantly from this are likely spurious.

The minimum ASV length threshold can be set by `--min_len_asv` and the maximum length threshold with `--max_len_asv`. If no threshold is set, the filter (and output) is omitted.

Expand Down
4 changes: 2 additions & 2 deletions docs/usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -229,8 +229,8 @@ Pre-configured reference taxonomy databases are:
| greengenes | - | - | + | (+)² | 16S rRNA |
| greengenes2 | - | - | - | + | 16S rRNA |
| pr2 | + | - | - | - | 18S rRNA |
| unite-fungi | + | + | - | + | eukaryotic nuclear ribosomal ITS region |
| unite-alleuk | + | + | - | + | eukaryotic nuclear ribosomal ITS region |
| unite-fungi | + | + | - | - | eukaryotic nuclear ribosomal ITS region |
| unite-alleuk | + | + | - | - | eukaryotic nuclear ribosomal ITS region |
| coidb | + | + | - | - | eukaryotic Cytochrome Oxidase I (COI) |
| midori2-co1 | + | - | - | - | eukaryotic Cytochrome Oxidase I (COI) |
| phytoref | + | - | - | - | eukaryotic plastid 16S rRNA |
Expand Down
2 changes: 1 addition & 1 deletion modules/local/qiime2_ancom_tax.nf
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ process QIIME2_ANCOM_TAX {
--to-tsv
if [ \$(grep -v '^#' -c ${table.baseName}-level-${taxlevel}.feature-table.tsv) -lt 2 ]; then
echo ${taxlevel} > ancom/\"WARNING Summing your data at taxonomic level ${taxlevel} produced less than two rows (taxa), ANCOM can't proceed -- did you specify a bad reference taxonomy?\".txt
echo ${taxlevel} > ancom/\"WARNING ${table.baseName} Summing your data at taxonomic level ${taxlevel} produced less than two rows (taxa), ANCOM can't proceed -- did you specify a bad reference taxonomy?\".txt
else
qiime composition add-pseudocount \\
--i-table lvl${taxlevel}-${table} \\
Expand Down
33 changes: 17 additions & 16 deletions nextflow.config
Original file line number Diff line number Diff line change
Expand Up @@ -284,21 +284,22 @@ profiles {
executor.cpus = 4
executor.memory = 8.GB
}
test { includeConfig 'conf/test.config' }
test_single { includeConfig 'conf/test_single.config' }
test_multi { includeConfig 'conf/test_multi.config' }
test_doubleprimers { includeConfig 'conf/test_doubleprimers.config' }
test_pacbio_its { includeConfig 'conf/test_pacbio_its.config' }
test_iontorrent { includeConfig 'conf/test_iontorrent.config' }
test_fasta { includeConfig 'conf/test_fasta.config' }
test_failed { includeConfig 'conf/test_failed.config' }
test_full { includeConfig 'conf/test_full.config' }
test_reftaxcustom { includeConfig 'conf/test_reftaxcustom.config' }
test_qiimecustom { includeConfig 'conf/test_qiimecustom.config' }
test_novaseq { includeConfig 'conf/test_novaseq.config' }
test_pplace { includeConfig 'conf/test_pplace.config' }
test_sintax { includeConfig 'conf/test_sintax.config' }
test_multiregion { includeConfig 'conf/test_multiregion.config' }
test { includeConfig 'conf/test.config' }
test_single { includeConfig 'conf/test_single.config' }
test_multi { includeConfig 'conf/test_multi.config' }
test_doubleprimers { includeConfig 'conf/test_doubleprimers.config' }
test_pacbio_its { includeConfig 'conf/test_pacbio_its.config' }
test_iontorrent { includeConfig 'conf/test_iontorrent.config' }
test_fasta { includeConfig 'conf/test_fasta.config' }
test_failed { includeConfig 'conf/test_failed.config' }
test_full { includeConfig 'conf/test_full.config' }
test_reftaxcustom { includeConfig 'conf/test_reftaxcustom.config' }
test_qiimecustom { includeConfig 'conf/test_qiimecustom.config' }
test_novaseq { includeConfig 'conf/test_novaseq.config' }
test_pplace { includeConfig 'conf/test_pplace.config' }
test_sintax { includeConfig 'conf/test_sintax.config' }
test_its_dada_taxonomy { includeConfig 'conf/test_its_dada_taxonomy.config' }
test_multiregion { includeConfig 'conf/test_multiregion.config' }
}

// Set default registry for Apptainer, Docker, Podman and Singularity independent of -profile
Expand Down Expand Up @@ -356,7 +357,7 @@ manifest {
description = """Amplicon sequencing analysis workflow using DADA2 and QIIME2"""
mainScript = 'main.nf'
nextflowVersion = '!>=23.04.0'
version = '2.10.0'
version = '2.11.0'
doi = '10.5281/zenodo.1493841,10.3389/fmicb.2020.550420'
}

Expand Down
49 changes: 21 additions & 28 deletions nextflow_schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@
"primer_removal": {
"title": "Primer removal",
"type": "object",
"description": "Spurious sequences sometimes lack primer sequences and primers introduce errors that can be removed in that step",
"default": "",
"properties": {
"retain_untrimmed": {
Expand Down Expand Up @@ -188,7 +189,7 @@
"read_trimming_and_quality_filtering": {
"title": "Read trimming and quality filtering",
"type": "object",
"description": "",
"description": "Read trimming and quality filtering is supposed to reduce spurious results and aid error correction",
"default": "",
"properties": {
"trunclenf": {
Expand Down Expand Up @@ -271,6 +272,7 @@
"asv_post_processing": {
"title": "ASV post processing",
"type": "object",
"description": "ASV post-processing takes place after ASV computation but before taxonomic assignment, it will affect all downstream processes",
"default": "",
"properties": {
"vsearch_cluster": {
Expand Down Expand Up @@ -370,21 +372,22 @@
"rdp",
"rdp=18",
"sbdi-gtdb",
"sbdi-gtdb=R06-RS202-1",
"sbdi-gtdb=R06-RS202-3",
"sbdi-gtdb=R07-RS207-1",
"sbdi-gtdb=R09-RS220-1",
"sbdi-gtdb=R08-RS214-1",
"sbdi-gtdb=R07-RS207-1",
"sbdi-gtdb=R06-RS202-3",
"sbdi-gtdb=R06-RS202-1",
"silva",
"silva=132",
"silva=138",
"unite-alleuk",
"unite-alleuk=8.2",
"unite-alleuk=8.3",
"unite-alleuk=9.0",
"unite-alleuk=8.3",
"unite-alleuk=8.2",
"unite-fungi",
"unite-fungi=8.2",
"unite-fungi=8.3",
"unite-fungi=9.0",
"unite-fungi=8.3",
"unite-fungi=8.2",
"zehr-nifh",
"zehr-nifh=2.5.0"
]
Expand Down Expand Up @@ -451,20 +454,7 @@
"type": "string",
"help_text": "Choose any of the supported databases, and optionally also specify the version. Database and version are separated by an equal sign (`=`, e.g. `silva=138`) . This will download the desired database and initiate taxonomic classification with QIIME2 and the chosen database.\n\nIf both, `--dada_ref_taxonomy` and `--qiime_ref_taxonomy` are used, DADA2 classification will be used for downstream analysis.\n\nThe following databases are supported:\n- SILVA ribosomal RNA gene database project - 16S rRNA\n- UNITE - eukaryotic nuclear ribosomal ITS region - ITS\n- Greengenes (only testing!)\n\nGenerally, using `silva`, `unite-fungi`, or `unite-alleuk` will select the most recent supported version. For testing purposes, the tiny database `greengenes85` (dereplicated at 85% sequence similarity) is available. For details on what values are valid, please either use an invalid value such as `x` (causing the pipeline to send an error message with all valid values) or see `conf/ref_databases.config`.",
"description": "Name of supported database, and optionally also version number",
"enum": [
"silva=138",
"silva",
"unite-fungi=8.3",
"unite-fungi=8.2",
"unite-fungi",
"unite-alleuk=9.0",
"unite-alleuk=8.3",
"unite-alleuk=8.2",
"unite-alleuk",
"greengenes85",
"greengenes2",
"greengenes2=2022.10"
]
"enum": ["silva=138", "silva", "greengenes85", "greengenes2", "greengenes2=2022.10"]
},
"qiime_ref_tax_custom": {
"type": "string",
Expand Down Expand Up @@ -517,14 +507,16 @@
"enum": [
"coidb",
"coidb=221216",
"unite-fungi",
"unite-fungi=10.0",
"unite-fungi=9.0",
"unite-fungi=8.3",
"unite-fungi=8.2",
"unite-fungi",
"unite-alleuk",
"unite-alleuk=10.0",
"unite-alleuk=9.0",
"unite-alleuk=8.3",
"unite-alleuk=8.2",
"unite-alleuk"
"unite-alleuk=8.2"
]
},
"addsh": {
Expand Down Expand Up @@ -575,6 +567,7 @@
"title": "ASV filtering",
"type": "object",
"default": "",
"description": "Filtering by taxonomy or abundance will affect all downstream analysis",
"fa_icon": "fas fa-filter",
"properties": {
"exclude_taxa": {
Expand All @@ -600,7 +593,7 @@
"downstream_analysis": {
"title": "Downstream analysis",
"type": "object",
"description": "",
"description": "Metadata is used here to visualize data either for quality control or publication ready figures",
"default": "",
"fa_icon": "fas fa-bacteria",
"properties": {
Expand Down Expand Up @@ -652,7 +645,7 @@
"differential_abundance_analysis": {
"title": "Differential abundance analysis",
"type": "object",
"description": "",
"description": "Differential abundance analysis relies on provided metadata",
"default": "",
"fa_icon": "fas fa-bacteria",
"properties": {
Expand Down Expand Up @@ -705,7 +698,7 @@
"pipeline_report": {
"title": "Pipeline summary report",
"type": "object",
"description": "",
"description": "Customization of the pipeline report",
"default": "",
"properties": {
"report_template": {
Expand Down
Loading

0 comments on commit 0473e15

Please sign in to comment.