nf-core/taxprofiler
Highly parallelised multi-taxonomic profiling of shotgun short- and long-read metagenomic data
1.0.1
). The latest
stable release is
1.2.1
.
Define where the pipeline should find input data and save output data.
Path to comma-separated file containing information about the samples and libraries/runs.
string
^\S+\.(csv)$
You will need to create a design file with information about the samples and libraries/runs you want to running in your pipeline run. Use this parameter to specify its location. It has to be a comma-separated file with 6 columns, and a header row. See usage docs.
Path to comma-separated file containing information about databases and profiling parameters for each taxonomic profiler
string
You will need to create a design file with information about the samples in your experiment before running the pipeline. Use this parameter to specify its location. It has to be a comma-separated file with 4 columns, and a header row. See usage docs.
Profilers will only be executed if a corresponding database are supplied.
We recommend storing this database sheet somewhere centrally and accessible by others members of your lab/institutions, as this file will likely be regularly reused.
The output directory where the results will be saved. You have to use absolute paths to storage on Cloud infrastructure.
string
Email address for completion summary.
string
^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$
Set this parameter to your e-mail address to get a summary e-mail with details of the run sent to you when the workflow exits. If set in your user config file (~/.nextflow/config
) then you don't need to specify this on the command line for every run.
MultiQC report title. Printed as page header, used for filename if not otherwise specified.
string
Common options across both long and short read preprocessing QC steps
Specify the tool used for quality control of raw sequencing reads
string
Falco is designed as a drop-in replacement for FastQC but written in C++ for faster computation. We particularly recommend using falco when using long reads (due to reduced memory constraints), however is also applicable for short reads.
Save reads from samples that went through the adapter clipping, pair-merging, and length filtering steps for both short and long reads
boolean
This saves the FASTQ output from the following tools:
- fastp
- AdapterRemoval
- Porechop
- Filtlong
These reads will be a mixture of: adapter clipped, quality trimmed, pair-merged, and length filtered, depending on the parameters you set.
Options for adapter clipping, quality trimming, pair-merging, and complexity filtering
Turns on short read quality control steps (adapter clipping, complexity filtering etc.)
boolean
Turns on short read quality control steps (adapter clipping, complexity filtering etc.)
This subworkflow can perform:
- Adapter removal
- Read quality trimming
- Read pair merging
- Length filtering
- Complexity filtering
Either with fastp or AdapterRemoval.
Removing adapters (if present) is recommend to reduce false-postive hits that may occur from 'dirty' or 'contaminated' reference genomes in a profiling database that contain accidentially incorporated adapter sequences. Note that some, but not all, tools support paired-end alignment (utilising information about the insert covered by the pairs). However read pair merging in some cases can be recommend to increase read length (such as in aDNA). Length filtering, and/or complexity can speed up alignment by reducing the number of short unspecific reads that need to be aligned.
Specify which tool to use for short-read QC
string
Skip adapter trimming
boolean
Skip the removal of sequencing adapters.
This often can be useful to speed up run-time of the pipeline when analysing data downloaded from public databases such as the ENA or SRA, as adapters should already be removed (however we recommend to check FastQC results to ensure this is the case).
Specify adapter 1 nucleotide sequence
string
None
Specify a custom forward or R1 adapter sequence to be removed from reads.
If not set, the selected short-read QC tool's defaults will be used.
Modifies tool parameter(s):
- fastp:
--adapter_sequence
. fastp default:AGATCGGAAGAGCACACGTCTGAACTCCAGTCA
- AdapterRemoval:
--adapter1
. AdapteRemoval2 default:AGATCGGAAGAGCACACGTCTGAACTCCAGTCACNNNNNNATCTCGTATGCCGTCTTCTGCTTG
Specify adapter 2 nucleotide sequence
string
None
Specify a custom reverse or R2 adapter sequence to be removed from reads.
If not set, the selected short-read QC tool's defaults will be used.
Modifies tool parameter(s):
- fastp:
--adapter_sequence
. fastp default:AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT
- AdapterRemoval:
--adapter1
. AdapteRemoval2 default:AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGTAGATCTCGGTGGTCGCCGTATCATT
Specify a list of all possible adapters to trim. Overrides --shortread_qc_adapter1/2. Formats: .txt (AdapterRemoval) or .fasta. (fastp).
string
None
Allows to supply a file with a list of adapter (combinations) to remove from all files.
Overrides the --shortread_qc_adapter1/--shortread_qc_adapter2 parameters .
For AdapterRemoval this consists of a two column table with a .txt
extension: first column represents forward strand, second column for reverse strand. You must supply all possible combinations, one per line, and this list is applied to all files. See AdapterRemoval documentation for more information.
For fastp this consists of a standard FASTA format with a .fasta
/.fa
/.fna
/.fas
extension. The adapter sequence in this file should be at least 6bp long, otherwise it will be skipped. fastp trims the adapters present in the FASTA file one by one.
Modifies AdapterRemoval parameter: --adapter-list
Modifies fastp parameter: --adapter_fasta
Turn on merging of read pairs for paired-end data
boolean
Turn on the merging of read-pairs of paired-end short read sequencing data.
Modifies tool parameter(s):
- AdapterRemoval:
--collapse
- fastp:
-m --merged_out
Include unmerged reads from paired-end merging in the downstream analysis
boolean
Turns on the inclusion of unmerged reads in resulting FASTQ file from merging paired-end sequencing data when using fastp
and/or AdapterRemoval
. For fastp
this means the unmerged read pairs are directly included in the output FASTQ file. For AdapterRemoval
, additional output files containing unmerged reads are all concatenated into one file by the workflow.
Excluding unmerged reads can be useful in cases where you prefer to have very short reads (e.g. aDNA), thus excluding longer-reads or possibly faulty reads where one of the pair was discarded.
Adds
fastp
option:--include_unmerged
Specify the minimum length of reads to be retained
integer
15
Specifying a mimum read length filtering can speed up profiling by reducing the number of short unspecific reads that need to be match/aligned to the database.
Modifies tool parameter(s):
- removed from reads
--length_required
- AdapterRemoval:
--minlength
Turns on nucleotide sequence complexity filtering
boolean
Turns on sequencing complexity filtering. Complexity filtering can be useful to increase run-time by removing unspecific read sequences that do not provide any informative taxon ID.
Specify which tool to use for complexity filtering
string
Specify the minimum sequence entropy level for complexity filtering
number
0.3
Specify the minimum 'entropy' value for complexity filtering for BBDuk or PRINSEQ++.
Note that this value will only be used for PRINSEQ++ if --shortread_complexityfilter_prinseqplusplus_mode
is set to entropy
.
Entropy here corresponds to the amount of sequence variation exists within the read. Higher values correspond to more variety, and thus will likely reslut in more specific matching to a taxon's reference genome. The trade off here is fewer reads (or abundance information) available for having a confident identification.
Modifies tool parameter(s):
- BBDuk:
entropy=
- PRINSEQ++:
-lc_entropy
Specify the window size for BBDuk complexity filtering
integer
50
Specify the window size to calculate the level entropy within for BBDuk.
Modifies tool parameter(s):
- BBDuk:
entropywindow=
Turn on masking rather than discarding of low complexity reads for BBduk
boolean
Turn on masking of low-complexity reads (i.e., replacement with N
) rather than removal.
Modifies tool parameter(s)
- BBDuk:
entropymask=
Specify the minimum complexity filter threshold of fastp
integer
30
Specify the minimum sequence complexity value for fastp. This value corresponds to the percentage of bases that is different from it's adjacent bases.
Modifies tool parameter(s):
- removed from reads
--complexity_threshold
Specify the complexity filter mode for PRINSEQ++
string
Specify the minimum dust score for PRINTSEQ++ complexity filtering
number
0.5
Specify the minimum dust score below which low-complexity reads will be removed. A DUST score is based on how often different tri-nucleotides occur along a read.
Modifies tool parameter(s):
- PRINSEQ++:
--lc_dust
Save reads from samples that went through the complexity filtering step
boolean
Specify whether to save the final complexity filtered reads in your results directory (--outdir
).
Options for adapter clipping, quality trimming, and length filtering
Turns on long read quality control steps (adapter clipping, length filtering etc.)
boolean
Turns on long read quality control steps (adapter clipping, length and/or quality filtering.)
Removing adapters (if present) is recommend to reduce false-postive hits that may occur from 'dirty' or 'contaminated' reference genomes in a profiling database that contain accidentially incorporated adapter sequences.
Length filtering, and quality filtering can speed up alignment by reducing the number of unspecific reads that need to be aligned.
Skip long-read trimming
boolean
Skip removal of adapters by Porechop. This can be useful in some cases to speed up run time - particularly when you are running data downloading from public databases such as the ENA/SRA that should already have adapters removed. We recommend that you check your FastQC results this is indeed the case.
Skip long-read length and quality filtering
boolean
Skip removal of quality filtering with Filtlong. This will skip length, percent reads, and target bases filtering (see other --longread_qc_qualityfilter_*
parameters).
Specify the minimum length of reads to be retained
integer
1000
Specify the minimum of length of reads to be kept for downstream analysis.
Modifies tool parameter(s):
- Filtlong:
--min_length
Specify the percent of high-quality bases to be retained
integer
90
Throw out the remaining percentage of reads outside the value. This is measured by bp, not by read count. So this option throws out the worst e.g. 10% of read bases if the parameter is set to 90
. Modified from Filtlong documentation
Modifies tool parameter(s):
- Filtlong:
--keep_percent
Specify the number of high-quality bases in the library to be retained
integer
500000000
Removes the worst reads until only the specified value of bases remain, useful for very large read sets. If the input read set is less than the specified value, this setting will have no effect. Modified from Filtlong documentation
Modifies tool parameter(s):
- Filtlong:
--keep_percent
Options for pre-profiling host read removal
Turn on short-read host removal
boolean
Turns on the ability to remove short-reads from the that derived from a known organism, using Bowtie2 and samtools
This subworkflow is useful to remove reads that may come from a host, or a known contamination like the human reference genome. Human DNA contamination of (microbial) reference genomes is well known, so removal of these prior profiling both reduces the risks of false positives, and in some cases a faster runtime (as less reads need to be profiled).
Alternatively, you can include the reference genome within your profiling databases and can turn off this subworkflow, with the trade off of a larger taxonomic profiling database.
Turn on long-read host removal
boolean
Turns on the ability to remove long-reads from the that derived from a known organism, using minimap2 and samtools
This subworkflow is useful to remove reads that may come from a host, or a known contamination like the human reference genome. Human DNA contamination of (microbial) reference genomes is well known, so removal of these prior profiling both reduces the risks of false positives, and in some cases a faster runtime (as less reads need to be profiled).
Alternatively, you can include the reference genome within your profiling databases and can turn off this subworkflow, with the trade off of a larger taxonomic profiling database.
Specify path to single reference FASTA of host(s) genome(s)
string
None
Specify a path to the FASTA file (optionally gzipped) of the reference genome of the organism to be removed.
If you have two or more host organisms or contaminants you wish to remove, you can concatenate the FASTAs of the different taxa into a single one to provide to the pipeline.
Specify path to the directory containing pre-made BowTie2 indexes of the host removal reference
string
None
Specify the path to a directory containing pre-made Bowtie2 reference index files (i.e. the directory containing .bt1
, .bt2
files etc.). These should sit in the same directory alongside the the reference file specified in --hostremoval_reference
.
Specifying premade indices can speed up runtime of the host-removal step, however if not supplied the pipeline will generate the indices for you.
Specify path to a pre-made Minimap2 index file (.mmi) of the host removal reference
string
None
Specify path to a pre-made Minimap2 index file (.mmi) of the host removal reference file given to --hostremoval_reference
.
Specifying a premade index file can speed up runtime of the host-removal step, however if not supplied the pipeline will generate the indices for you.
Save mapping index of input reference when not already supplied by user
boolean
Save the output files of the in-built indexing of the host genome.
This is recommend to be turned on if you plan to use the same reference genome multiple times, as supplying the directory or file to --shortread_hostremoval_index
or --longread_hostremoval_index
respectively can speed up runtime of future runs. Once generated, we recommend you place this file outside of your run results directory in a central 'cache' directory you and others using your machine can access and supply to the pipeline.
Saved mapped and unmapped reads in BAM format from host removal
boolean
Save the reads mapped to the reference genome and off-target reads in BAM format as output by the respective hostremoval alignment tool.
This can be useful if you wish to perform other analyses on the host organism (such as host-microbe interaction), however, you should consider whether the default mapping parameters of Bowtie2 (short-read) or minimap2 (long-read) are optimised to your context.
Save reads from samples that went through the host-removal step
boolean
Save only the reads NOT mapped to the reference genome in FASTQ format (as exported from samtools view
and bam2fq
).
This can be useful if you wish to perform other analyses on the off-target reads from the host mapping, such as manual profiling or de novo assembly.
Options for per-sample run-merging
Turn on run merging
boolean
Turns on the concatenation of sequencing runs or libraries with the same sample name.
This can be useful to ensure you get a single profile per sample, rather than one profile per run or library. Note that in some cases comparing profiles of independent libraries may be useful, so this parameter may not always be suitable.
Save reads from samples that went through the run-merging step
boolean
Save the run- and library-concatenated reads of a given sample in FASTQ format.
⚠️ Only samples that went through the run-merging step of the pipeline will be stored in the resulting directory.
If you wish to save the files that go to the classification/profiling steps for samples that did not go through run merging, you must supply the appropriate upstream --save_<preprocessing_step>
flag.
Turn on profiling with Centrifuge. Requires database to be present CSV file passed to --databases
boolean
Turn on saving of Centrifuge-aligned reads
boolean
Save mapped (SAM, FASTQ) and unmapped (FASTQ) reads from alignment step of centrifuge in your output results directory.
Modifies tool parameter(s):
- centrifuge:
--un-gz
,--al-gz
,--un-conc-gz
,--al-conc-gz
,--out-fmt
Turn on profiling with DIAMOND. Requires database to be present CSV file passed to --databases
boolean
Specify output format from DIAMOND profiling.
string
DIAMOND can produce output in a number of different formats, you can specify here which to produce.
Note that DIAMOND can only produce one format at a time, and depending on which you pick, some downstream steps may not be executed. For example, selecting daa
or sam
will mean you will not get a tabular taxonomic profile as with the other tools.
Will be overriden by --diamond_save_reads.
Modifies tool parameter(s):
- diamond blastx:
--outfmt
Turn on saving of DIAMOND-aligned reads. Will override --diamond_output_format and no taxon tables will be generated
boolean
Save aligned reads in SAM format from alignment step of DIAMOND in your output results directory.
Note this explicitly overrides --diamond_output_format
to produce the SAM file, and no taxon table will be generated.
Modifies tool parameter(s):
- DIAMOND:
--outfmt
Turn on profiling with Kaiju. Requires database to be present CSV file passed to --databases
boolean
Specify taxonomic rank to be displayed in Kaiju taxon table
string
Specify the taxonomic level(s) to be displayed in the resulting Kaiju taxon table, as generated by the kaiju2table helper tool.
This can be either a single level (e.g. species
), or a comma separated list to display the full taxonomic path (e.g. superkingdom,phylum,class,order,family,genus,species.
).
Modifies tool parameter(s):
- kaiju2table:
-l
Turn on profiling with Kraken2. Requires database to be present CSV file passed to --databases
boolean
Turn on saving of Kraken2-aligned reads
boolean
Save reads that do and do not have a taxonomic classification in your output results directory in FASTQ format.
Modifies tool parameter(s):
- kraken2:
--classified-out
and--unclassified-out
Turn on saving of Kraken2 per-read taxonomic assignment file
boolean
Save a text file that contains a list of each read that had a taxonomic assignment, with information on specific taxonomic taxonomic assignment that that read recieved.
Modifies tool parameter(s):
- kraken2:
--output
Turn on saving minimizer information in the kraken2 report thus increasing to an eight column layout.
boolean
Turn on saving minimizer information in the kraken2 report thus increasing to an eight column layout.
Adds --report-minimizer-data
to the kraken2 command.
Turn on profiling with KrakenUniq. Requires database to be present CSV file passed to --databases
boolean
Turn on saving of KrakenUniq-aligned reads
boolean
Save reads that do and do not have a taxonomic classification in your output results directory in FASTQ format.
Modifies tool parameter(s):
- krakenuniq:
--classified-out
and--unclassified-out
Specify how large to chunk database when loading into memory for KrakenUniq
string
16G
nf-core/taxprofiler utilises a 'low memory' option for KrakenUniq that can reduce the amount of RAM the process requires using the --preloaded
option.
A further extension to this option is that you can specify how large each chunk of the database should be that gets loaded into memory at any one time. You can specify the amount of RAM to chunk the database to with this parameter, and is particularly useful for people with limited computational resources.
More information about this parameter can be seen here.
Modifies KrakenUniq parameter: --preload-size
Turn on saving of KrakenUniq per-read taxonomic assignment file
boolean
Save a text file that contains a list of each read that had a taxonomic assignment, with information on specific taxonomic taxonomic assignment that that read recieved.
Modifies tool parameter(s):
- krakenuniq:
--output
Turn on Bracken (and the required Kraken2 prerequisite step).
boolean
Turn on profiling with MALT. Requires database to be present CSV file passed to --databases
boolean
Specify which MALT alignment mode to use
string
BlastN
Specify which version of MALT alignment to use.
BlastN is generally recommended (nucleotide-nucleotide alignment), but particularly for very short reads (such as aDNA), whereas BlastX mode is similar to DIAMOND and will translate the nucleotide to amino acid sequences. Note each type of alignment mode requires different parameters during database construction. Refer to the MALT manual for more information.
Modifies tool parameter(s):
- malt-run:
-mode
Turn on saving of MALT-aligned reads
boolean
Turns on saving of MALT aligned reads in SAM format.
Note that the SAM format produce by MALT is not completely valid, and may not work with downstream tools.
Modifies tool parameter(s):
- malt-run:
--alignments
,-za
Turn on generation of MEGAN summary file from MALT results
boolean
Turns on saving of MALT output in an additional MEGAN summary file (.megan
) that can be loaded into the MEGAN metagenomic exploration tool.
Note: this file is generated not directly from MALT but rather then MEGAN utility script rma2info
.
Modifies tool parameter(s):
- rma2info:
-es
Turn on profiling with MetaPhlAn3. Requires database to be present CSV file passed to --databases
boolean
Turn on profiling with mOTUs. Requires database to be present CSV file passed to --databases
boolean
Turn on printing relative abundance instead of counts.
boolean
Turn on saving the mgc reads count.
boolean
Turn on removing NCBI taxonomic IDs.
boolean
Turn on standardisation of taxon tables across profilers
boolean
Turns on standardisation of output OTU tables across all tools; each into a TSV format following the following scheme:
|TAXON | SAMPLE_A | SAMPLE_B |
|-------------|----------------|-----------------|
| taxon_a | 32 | 123 |
| taxon_b | 1 | 5 |
This currently only is generated for mOTUs.
Turn on generation of BIOM output (currently only applies to mOTUs)
boolean
Turn on the saving of the taxonomic output in BIOM format (.biom
) in the results directory of your pipeline run, instead of the default TSV format.\n\nNote this file is from the output of the motus merge
command.\n\n> Modifies tool parameter(s):\n> - -B -o
Turn on generation of Krona plots for supported profilers
boolean
Turn on the generation of Krona interactive pie-chart HTMLs for a selection of profilers.
The tools currently supported are:
- centrifuge
- kraken2
- kaiju
- MALT
Specify path to krona taxonomy directories (required for MALT krona plots)
string
None
Specify a path to a Krona taxonomy database directory (i.e. a directory containing a krona generated .tab
file).
This is only required for generating Krona plots of MALT output.
Note this taxonomy database must be downloaded and generated with the updateTaxonomy.sh
script from the krona-tools package.
The desired output format.
string
The path to a directory containing taxdump files.
string
This arguments provides the path to the directory containing taxdump files. At least nodes.dmp and names.dmp are required. A merged.dmp file is optional.
Modifies tool parameter(s):
-taxpasta: --taxpasta_taxonomy_dir
Add the taxon name to the output.
boolean
The standard output format of taxpasta is a two-column table including the read counts and the integer taxonomic ID. The taxon name can be added as additional information to the output table.
Modifies tool parameter(s):
- taxpasta:
--taxpasta_add_name
Add the taxon rank to the output.
boolean
The standard output format of taxpasta is a two-column table including the read counts and the integer taxonomic ID. The taxon rank can be added as additional information to the output table.
Modifies tool parameter(s):
- taxpasta:
--taxpasta_add_rank
Add the taxon's entire name lineage to the output.
boolean
The standard output format of taxpasta is a two-column table including the read counts and the integer taxonomic ID. The taxon's entire lineage with the taxon names separated by semi-colons can be added as additional information to the output table.
Modifies tool parameter(s):
- taxpasta:
--taxpasta_add_lineage
Add the taxon's entire ID lineage to the output.
boolean
The standard output format of taxpasta is a two-column table including the read counts and the integer taxonomic ID. The taxon's entire lineage with the taxon identifiers separated by semi-colons can be added as additional information to the output table.
Modifies tool parameter(s):
- taxpasta:
--taxpasta_add_idlineage
Parameters used to describe centralised config profiles. These should not be edited.
Git commit id for Institutional configs.
string
master
Base directory for Institutional configs.
string
https://raw.githubusercontent.com/nf-core/configs/master
If you're running offline, Nextflow will not be able to fetch the institutional config files from the internet. If you don't need them, then this is not a problem. If you do need them, you should download the files from the repo and tell Nextflow where to find them with this parameter.
Institutional config name.
string
Institutional config description.
string
Institutional config contact information.
string
Institutional config URL link.
string
Set the top limit for requested resources for any single job.
Maximum number of CPUs that can be requested for any single job.
integer
16
Use to set an upper-limit for the CPU requirement for each process. Should be an integer e.g. --max_cpus 1
Maximum amount of memory that can be requested for any single job.
string
128.GB
^\d+(\.\d+)?\.?\s*(K|M|G|T)?B$
Use to set an upper-limit for the memory requirement for each process. Should be a string in the format integer-unit e.g. --max_memory '8.GB'
Maximum amount of time that can be requested for any single job.
string
240.h
^(\d+\.?\s*(s|m|h|day)\s*)+$
Use to set an upper-limit for the time requirement for each process. Should be a string in the format integer-unit e.g. --max_time '2.h'
Less common options for the pipeline, typically set in a config file.
Display help text.
boolean
Display version and exit.
boolean
Method used to save pipeline results to output directory.
string
The Nextflow publishDir
option specifies which intermediate files should be saved to the output directory. This option tells the pipeline what method should be used to move these files. See Nextflow docs for details.
Email address for completion summary, only when pipeline fails.
string
^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$
An email address to send a summary email to when the pipeline is completed - ONLY sent if the pipeline does not exit successfully.
Send plain-text email instead of HTML.
boolean
File size limit when attaching MultiQC reports to summary emails.
string
25.MB
^\d+(\.\d+)?\.?\s*(K|M|G|T)?B$
Do not use coloured log outputs.
boolean
Incoming hook URL for messaging service
string
Incoming hook URL for messaging service. Currently, MS Teams and Slack are supported.
Custom config file to supply to MultiQC.
string
Custom logo file to supply to MultiQC. File name must also be set in the MultiQC config file
string
Custom MultiQC yaml file containing HTML including a methods description.
string
Directory to keep pipeline Nextflow logs and reports.
string
${params.outdir}/pipeline_info
Boolean whether to validate parameters against the schema at runtime
boolean
true
Show all params when using --help
boolean
Reference genome related files and options required for the workflow.
Name of iGenomes reference.
string
If using a reference genome configured in the pipeline using iGenomes, use this parameter to give the ID for the reference. This is then used to build the full paths for all required reference genome files e.g. --genome GRCh38
.
See the nf-core website docs for more details.
Directory / URL base for iGenomes references.
string
s3://ngi-igenomes/igenomes
Do not load the iGenomes reference config.
boolean
Do not load igenomes.config
when running the pipeline. You may choose this option if you observe clashes between custom parameters and those supplied in igenomes.config
.