Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add nonpareil
  • Loading branch information
jfy133 committed Nov 30, 2023
commit a050658cf99d0a6cbece4d6a577acc84b15d69a7
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### `Dependencies`

| Tool | Previous version | New version |
| ------- | ---------------- | ----------- |
| multiqc | 1.15 | 1.18 |

### `Deprecated`

## v1.1.2 - Augmented Akita Patch [2023-10-27]
Expand Down
57 changes: 48 additions & 9 deletions assets/multiqc_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,44 @@ report_section_order:
order: -1001
"nf-core-taxprofiler-summary":
order: -1002
general_stats":
order: 1000
fastqc:
order: 900
fastqc-1:
order: 800
fastp:
order: 700
adapterRemoval:
order: 600
nonpareil_all_samples:
order: 500
porechop:
order: 400
bbduk:
order: 300
prinseqplusplus:
order: 200
filtlong:
order: 100
bowtie2:
order: 90
samtools:
order: 80
kraken:
order: 70
bracken:
order: 60
centrifuge:
order: 50
malt:
order: 40
diamond:
order: 30
kaiju:
order: 20
motus:
order: 10

export_plots: true

Expand All @@ -21,6 +59,7 @@ run_modules:
- fastqc
- adapterRemoval
- fastp
- custom_content
- bbduk
- prinseqplusplus
- porechop
Expand All @@ -33,7 +72,6 @@ run_modules:
- diamond
- malt
- motus
- custom_content

sp:
diamond:
Expand All @@ -42,6 +80,13 @@ sp:
fn_re: ".*(fastqc|falco)_data.txt$"
fastqc/zip:
fn: "*_fastqc.zip"
nonpareil_all_samples_mqc:
fn: "nonpareil_all_samples_mqc.png"

custom_data:
nonpareil_all_samples:
section_name: "Nonpareil"
description: "Nonpareil uses the redundancy of the reads in metagenomic datasets to estimate the average coverage and predict the amount of sequences that will be required to achieve “nearly complete coverage”. Plots here are not interactive - being exported directly from the tool. If you have difficulty reading the plot, please see the individual PNG files in the results directory. DOI: https://doi.org/10.1128/mSystems.00039-18"

top_modules:
- "fastqc":
Expand All @@ -58,13 +103,8 @@ top_modules:
path_filters_exclude:
- "*raw*"
extra: "If used in this run, Falco is a drop-in replacement for FastQC producing the same output, written by Guilherme de Sena Brandine and Andrew D. Smith."
- "fastp"
- "adapterRemoval"
- "porechop":
extra: "ℹ️: if you get the error message 'Error - was not able to plot data.' this means that porechop did not detect any adapters and therefore no statistics generated."
- "bbduk"
- "prinseqplusplus"
- "filtlong"
- "bowtie2":
name: "bowtie2"
- "samtools":
Expand Down Expand Up @@ -93,12 +133,11 @@ top_modules:
- "*.centrifuge.txt"
- "malt":
name: "MALT"
- "diamond"
- "kaiju":
name: "Kaiju"
- "motus"

#It is not possible to set placement for custom kraken and centrifuge columns.
# It is not possible to set placement for custom kraken
# and centrifuge columns.

table_columns_placement:
FastQC / Falco (pre-Trimming):
Expand Down
20 changes: 19 additions & 1 deletion conf/modules.config
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ process {
}

// Redundancy estimation with nonpareil
withName: NONPAREIL {
withName: NONPAREIL_NONPAREIL {
ext.prefix = { "${meta.id}_${meta.run_accession}" }
publishDir = [
path: { "${params.outdir}/nonpareil/" },
Expand All @@ -191,6 +191,24 @@ process {
]
}

withName: 'NONPAREIL_CURVE' {
ext.prefix = { "${meta.id}_${meta.run_accession}" }
publishDir = [
path: { "${params.outdir}/nonpareil/" },
mode: params.publish_dir_mode,
pattern: '*.png'
]
}

withName: 'NONPAREIL_SET' {
ext.prefix = { "nonpareil_all_samples_mqc" }
publishDir = [
path: { "${params.outdir}/nonpareil/" },
mode: params.publish_dir_mode,
pattern: '*.png'
]
}

// AdapterRemoval separate output merging
withName: CAT_FASTQ {
ext.prefix = { "${meta.id}_${meta.run_accession}" }
Expand Down
2 changes: 1 addition & 1 deletion conf/test.config
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ process {
withName: MEGAN_RMA2INFO_KRONA {
maxForks = 1
}
withName: NONPAREIL {
withName: NONPAREIL_NONPAREIL {
ext.args = { "-k 5" }
}
}
2 changes: 1 addition & 1 deletion conf/test_adapterremoval.config
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ process {
maxForks = 1
ext.args = { "-m ${params.malt_mode} -J-Xmx12G" }
}
withName: NONPAREIL {
withName: NONPAREIL_NONPAREIL {
ext.args = { "-k 5" }
}
}
2 changes: 1 addition & 1 deletion conf/test_bbduk.config
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ process {
maxForks = 1
ext.args = { "-m ${params.malt_mode} -J-Xmx12G" }
}
withName: NONPAREIL {
withName: NONPAREIL_NONPAREIL {
ext.args = { "-k 5" }
}
}
2 changes: 1 addition & 1 deletion conf/test_falco.config
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should nonpareil be included here since the process NONPAREIL_NONPAREIL was included? If that's the case, also check other config files.
perform_shortread_redundancyestimation = false

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure I follow?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I meant that should we also include perform_shortread_redundancyestimation = false in this config file.

Copy link
Member Author

@jfy133 jfy133 Nov 30, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I decided it wasn't necesary as switching to falco does not modify the input files going into NONPAREIL in any way, so saving 🐻‍❄️ by running one less step

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It makes sense!

Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ process {
maxForks = 1
ext.args = { "-m ${params.malt_mode} -J-Xmx12G" }
}
withName: NONPAREIL {
withName: NONPAREIL_NONPAREIL {
ext.args = { "-k 5" }
}
}
2 changes: 1 addition & 1 deletion conf/test_fastp.config
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ process {
maxForks = 1
ext.args = { "-m ${params.malt_mode} -J-Xmx12G" }
}
withName: NONPAREIL {
withName: NONPAREIL_NONPAREIL {
ext.args = { "-k 5" }
}
}
2 changes: 1 addition & 1 deletion conf/test_krakenuniq.config
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ process {
withName: MEGAN_RMA2INFO_KRONA {
maxForks = 1
}
withName: NONPAREIL {
withName: NONPAREIL_NONPAREIL {
ext.args = { "-k 5" }
}
}
2 changes: 1 addition & 1 deletion conf/test_malt.config
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ process {
withName: MALT_RUN {
maxForks = 1
}
withName: NONPAREIL {
withName: NONPAREIL_NONPAREIL {
ext.args = { "-k 5" }
}
}
2 changes: 1 addition & 1 deletion conf/test_motus.config
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ process {
withName: MALT_RUN {
maxForks = 1
}
withName: NONPAREIL {
withName: NONPAREIL_NONPAREIL {
ext.args = { "-k 5" }
}
}
2 changes: 1 addition & 1 deletion conf/test_nopreprocessing.config
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ process {
maxForks = 1
ext.args = { "-m ${params.malt_mode} -J-Xmx12G" }
}
withName: NONPAREIL {
withName: NONPAREIL_NONPAREIL {
ext.args = { "-k 5" }
}
}
2 changes: 1 addition & 1 deletion conf/test_noprofiling.config
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ process {
maxForks = 1
}

withName: NONPAREIL {
withName: NONPAREIL_NONPAREIL {
ext.args = { "-k 5" }
}
}
2 changes: 1 addition & 1 deletion conf/test_nothing.config
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ process {
maxForks = 1
ext.args = { "-m ${params.malt_mode} -J-Xmx12G" }
}
withName: NONPAREIL {
withName: NONPAREIL_NONPAREIL {
ext.args = { "-k 5" }
}
}
2 changes: 1 addition & 1 deletion conf/test_prinseqplusplus.config
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ process {
maxForks = 1
ext.args = { "-m ${params.malt_mode} -J-Xmx12G" }
}
withName: NONPAREIL {
withName: NONPAREIL_NONPAREIL {
ext.args = { "-k 5" }
}
}
6 changes: 5 additions & 1 deletion docs/output.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,10 +131,14 @@ Turns on [nonpareil](https://nonpareil.readthedocs.io/en/latest/) is a tool for
- `<sample_id>.npo` - redundancy summary file. This is the most useful file and contains the information for generating metagenome coverage curves. These six columns are: seq. effort (_n_ reads), average redundancy, standard deviation, quartile 1, median (quartile 2), and quartile 3.
- `<sample_id>.npa` - raw version of npo but with all replicates not just a summary (average) at each point. These three columns are: seq. effort (_n_ reads), replicate ID, redundancy value.
- `<sample_id>.npc` - raw list with the number of reads in the dataset matching a query read.
- `<sample_id>.png` - rendered version of a Nonpareil curve, with extrapolation and sequencing effort information.
- `nonpareil_all_samples_mqc.png` summary of plot of curves of all samples with sequencing effort information.

</details>

In most cases you will just want to look at the output of applying Nonpareil's `Nonpareil.curve()` or `Nonpareil.set()` R functions on the `.npo` file to generate the coverage and extrapolation plot.
In most cases you will just want to look at the PNG files which contain the extrapolation information for estimating how much of the metagenome 'coverage' you will recover if you sequence more (i.e., to help indicate at what point you will keep just keep sequencing redundant reads that provide no more new taxonomic information).

The `.npo` files can be used for re-generating and customising the plots using the companion `Nonpareil` R package.

### Porechop

Expand Down
2 changes: 1 addition & 1 deletion docs/usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@ If this is the case you will need to specify in a custom config

```nextflow
process {
withName: NONPAREIL {
withName: NONPAREIL_NONPAREIL {
ext.args = { "-k <NUMBER>" }
}
}
Expand Down
2 changes: 1 addition & 1 deletion lib/WorkflowTaxprofiler.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ class WorkflowTaxprofiler {
].join(' ').trim()

def text_shortread_redundancy = [
"Short-read reference-free metagenome coverage estimation was performed with Nonpareil (Rodriguez-R et al. 2018)"
"Short-read reference-free metagenome coverage estimation was performed with Nonpareil (Rodriguez-R et al. 2018)."
].join(' ').trim()

def text_longread_qc = [
Expand Down
16 changes: 13 additions & 3 deletions modules.json
Original file line number Diff line number Diff line change
Expand Up @@ -198,12 +198,22 @@
},
"multiqc": {
"branch": "master",
"git_sha": "a6e11ac655e744f7ebc724be669dd568ffdc0e80",
"git_sha": "1537442a7be4a78efa3d1ff700a923c627bbda5d",
"installed_by": ["modules"]
},
"nonpareil": {
"nonpareil/curve": {
"branch": "master",
"git_sha": "d1e3f0e70e025bb2c48f59465db31609330a65f2",
"git_sha": "729335dda8ba226323edc54dec80ae959079207e",
"installed_by": ["modules"]
},
"nonpareil/nonpareil": {
"branch": "master",
"git_sha": "56ace4ddc46f6346656d5d791782aca9b1754aea",
"installed_by": ["modules"]
},
"nonpareil/set": {
"branch": "master",
"git_sha": "729335dda8ba226323edc54dec80ae959079207e",
"installed_by": ["modules"]
},
"porechop/porechop": {
Expand Down
7 changes: 7 additions & 0 deletions modules/nf-core/multiqc/environment.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 5 additions & 3 deletions modules/nf-core/multiqc/main.nf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 7 additions & 4 deletions modules/nf-core/multiqc/meta.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading