Skip to content
Microbial & metagenomicslatest-release

metatdenovo

nf-core/metatdenovo

Assembly and annotation of metatranscriptomic data, both prokaryotic and eukaryotic

version2.0.0e9f8311e9aOct 7, 2026 Upstream Usage docs

Key tools

FastQCMultiQCTrim Galore!SeqtkSPAdesMegahitTransDecoderMetaEukProkkaProdigalBBmapFeatureCountsBEDToolsMMseqs2SAMtoolsSeqKitEggnogKofamscandbCANHMMsearchEUKuleleDiamondTaxonKitQUASTDuckDB

Run it

nfclaw
nfclaw run metatdenovo --input samplesheet.csv --outdir results -profile docker
raw nextflow
nextflow run pipelines/metatdenovo/upstream -profile docker --input samplesheet.csv --outdir results
demo · bundled test profile
nfclaw run metatdenovo --demo --outdir results # adds the upstream test profile (-profile test,docker)

Inputs

columntyperequiredallowed valuesconstraints
samplestringyesmatches ^\S+$
fastq_1string (file path)yesmatches ^([\S\s]*\/)?[^\s\/]+\.f(ast)?q(\.gz)?$
fastq_2string (file path)nomatches ^([\S\s]*\/)?[^\s\/]+\.f(ast)?q(\.gz)?$

--input must match ^\S+\.csv$.

The samplesheet is a CSV with this header (the columns the schema requires); fill each value per the table above and reference.md (no example value is invented here):

csv
sample,fastq_1

Any of the optional columns above may be appended to the header when your data needs them: fastq_2.

From data files. --input may also be the data files — a directory (searched recursively), a quoted glob, or files (--input once per file) — from which nfclaw writes this samplesheet: sample from file names; fastq_1/fastq_2 from FastQ files (mates paired by _R1/_R2, or by _1/_2 when their read names show they are mates). Set other columns with --sheet-set COLUMN=VALUE. Preview it with --check; a run records it in <outdir>/provenance/ for replay.

Resources

Resource requests follow the pipeline's configs and selected profiles. nf-core's resource labels often assume a server — a single step can request far more memory than a workstation has, and retry rules can increase requests. If a run fails with Process requirement exceeds available memory (or CPUs), cap every request, and every retry, at what this machine actually has:

bash
nfclaw run metatdenovo --input samplesheet.csv --outdir results -profile docker \
--limit-cpus 4 --limit-memory 15.GB

nfclaw turns those into Nextflow's process.resourceLimits and passes them as a -c config — the mechanism nf-core prescribes for exactly this (docs). Set them to the machine's real capacity. --limit-time DURATION also caps how long any one task may run: a task that needs longer is stopped, and so is every retry, so set it only as a deliberate ceiling, never as a guess at how long the analysis takes. The generated config is kept in <outdir>/provenance/, so commands.sh replays the run under the same ceiling.

Nextflow engine

This release declares nextflowVersion = '!>=25.10.4'.

To pin this release's declared minimum engine — useful when a newer Nextflow has incompatible config parsing:

bash
nfclaw run metatdenovo ... --nxf-ver 25.10.4

--nxf-ver is recorded in <outdir>/provenance/, so the replay uses the same engine. See known-issues.

Demo

bash
nfclaw run metatdenovo --demo --outdir results # adds the upstream test profile (-profile test,docker)
<!-- Generated from nf-core/metatdenovo@e9f8311e9a24278fdaed0f8717eb819532aef55e. Do not edit by hand. -->

Samplesheet

A CSV with this header (the columns the schema requires). Fill each value per the constraints below; optional columns from the table may be appended.

samplesheet.csv header
sample,fastq_1
ColumnTypeRequiredAllowed / constraints
samplestringrequiredmatches ^\S+$
fastq_1string (file path)requiredmatches ^([\S\s]*\/)?[^\s\/]+\.f(ast)?q(\.gz)?$
fastq_2string (file path)optionalmatches ^([\S\s]*\/)?[^\s\/]+\.f(ast)?q(\.gz)?$

Required parameters

--inputstring (file path)

Path to comma-separated file containing information about the samples in the experiment.

Constraint · matches ^\S+\.csv$

--outdirstring (directory path)

The output directory where the results will be saved. You have to use absolute paths to storage on Cloud infrastructure.

Parameter explorer

97 parameters · 14 groups

Every parameter from the pinned nextflow_schema.json. nfclaw checks explicit values before launch; complex rules use the pinned pipeline's runtime validation. Search, filter by group, and expand any parameter for its default, allowed values and constraints.

65 parameters · 32 hidden

Assembler options6

Specify the assembler to run. Possible alternatives: megahit, spades.

Filter out contigs shorter than this.

Save the formatted spades fasta file

Select which type of assembly you want to make. Default: rna

Path to a fasta file with a finished assembly. Assembly will be skipped by the pipeline.

Name to give to the user-provided assembly.

Bbduk options3

Save the resulting fastq files from filtering

Save the reads that were removed (matched the sequence_filter reference) during BBDuk filtering

Fasta file with sequences to filter away before running assembly etc..

Consolidation options4

Only annotate the consolidated cluster representatives, not every individual ORF source as well

Minimum fraction of both proteins that must be covered by the alignment

Minimum sequence identity for two proteins to be considered the same gene

Skip cross-contig consolidation of ORFs whose proteins cluster together

Digital Normalization options4

Perform normalization to reduce sequencing depth.

Reads with an apparent depth of under nx will be presumed to be errors and discarded

Reduce the number of reads for assembly average coverage of this number.

Save the resulting fastq files from normalization

Functional Annotation options9

Specify the dbCAN database path.

Specify EGGNOG database path

Directory with hmm files which will be searched for among ORFs

Comma-separated list of hmm files which will be searched for among ORFs

Specify which pattern hmm files end with

Path to a directory with KOfam files. Will be created if it doesn't exist.

If enabled, skips dbCAN CAZyme annotation.

Skip EGGNOG functional annotation

If enabled, skips the run of KofamScan.

Generic options4

Display the help message.

Display the full detailed help message.

Custom MultiQC yaml file containing HTML including a methods description.

Display hidden parameters in the help message (only works when --help or --help_full are provided).

Input Output options5

Email address for completion summary.

Path to comma-separated file containing information about the samples in the experiment.

MultiQC report title. Printed as page header, used for filename if not otherwise specified.

The output directory where the results will be saved. You have to use absolute paths to storage on Cloud infrastructure.

Also write the summary tables in Parquet format, alongside the default gzipped TSV.

Mapping options5

How BBMap should handle reads that align equally well to more than one site

Minimum identity needed to assign read to a contig

Save the bam files from mapping

Save the per-contig read counts from samtools idxstats

Save the output from samtools

Orf Caller options9

Path to a pre-built reference protein database for MetaEuk, either a protein fasta file or a directory containing an mmseqs2-formatted database. Optional -- when unset, --metaeuk_db_name is downloaded and built automatically.

Name of the amino-acid reference database to download and build for MetaEuk when --metaeuk_db isn't set. Restricted to the amino-acid databases metaeuk databases -h lists (its nucleotide/profile entries aren't valid MetaEuk homology references); see the table in usage.md for which of these we've actually confirmed downloadable.

Path to a directory to store the downloaded MetaEuk database in. Will be created if it doesn't exist. Ignored when --metaeuk_db is set.

Comma-separated list of ORF callers to run. Possible alternatives: prodigal, prokka, transdecoder, metaeuk. At least one of this, --user_orfs, or --user_orfs_gff/--user_orfs_faa must be set; any combination may be set together.

Specify a training file for prodigal. By default prodigal will learn from the input sequences

Path to comma-separated file listing user-provided ORF calls to add alongside (or instead of) --orf_caller.

Path to a protein fasta file for a single set of user-provided ORFs. Additive with --orf_caller and --user_orfs; requires --user_orfs_gff too.

Path to a gff file for a single set of user-provided ORFs. Additive with --orf_caller and --user_orfs; requires --user_orfs_faa too.

Name to give the ORFs supplied via --user_orfs_gff/--user_orfs_faa. Cannot collide with an active --orf_caller value, a --user_orfs row name, or the pipeline's own reserved names.

Quality Control options1

Skip FastQC.

Quantification options1

Count multi-mapped reads fractionally in featureCounts instead of at full weight per site

Taxonomy Annotation options7

Path to comma-separated file containing information about Diamond database files you want to use for taxonomy assignment.

Argument to Diamond's --top that controls the percentage of hits to include in the LCA.

EUKulele database.

EUKulele database folder.

Specify which method to use for EUKulele. the alternatives are: mets (metatranscriptomics) or mags (Metagenome Assembled Genomes). default: mets

Also publish EUKulele's raw Diamond alignment file, on top of the taxonomy estimation and counts.

If enabled, skips the run of EUKulele

Trimming options7

Instructs Trim Galore to remove bp from the 5' end of read 1 (or single-end reads).

Instructs Trim Galore to remove bp from the 5' end of read 2 (paired-end reads only).

Save the trimmed FastQ files in the results directory.

Skip the adapter trimming step.

Instructs Trim Galore to remove bp from the 3' end of read 1 AFTER adapter/quality trimming has been performed.

Instructs Trim Galore to remove bp from the 3' end of read 2 AFTER adapter/quality trimming has been performed.

Instructs Trim Galore to apply the --nextseq=X option, to trim based on quality after removing poly-G tails.

Outputs

Results land in --outdir; the files and directory layout depend on the selected workflow, parameters and publication settings. Run metadata is normally placed in <outdir>/pipeline_info/ (execution report, software versions), when those outputs are enabled. The pinned tree includes MultiQC support; a report is produced only when its workflow step runs. nfclaw run also writes <outdir>/provenance/ with the exact params file and the run log, <outdir>/provenance/logs/run.log — the whole launch, whose last line states the outcome (Nextflow's own log is <outdir>/.nextflow.log); unless --no-provenance it adds a run manifest (pinned version, commit and exact command), input/output SHA-256 checksums, and a replayable commands.sh. The exact output files and directory layout for this release are documented upstream: github.com/nf-core/metatdenovo/blob/2.0.0/docs/output.md Check a run — in the foreground or the background — with nfclaw status <outdir>: success, still running, how it ended (with the error), or stopped without an outcome; exit 0 success, 3 running, 1 otherwise.

Chaining

Run metatdenovo as one stage of a chain: nfclaw chain run starts each stage only after the one before it succeeded, and prepares its inputs from that stage's outputs. Every rule is checked against both pinned schemas.

Fed by

  • fetchngs — fetchngs writes a metatdenovo samplesheet (sample, fastq_1, fastq_2) with --nf-core-pipeline metatdenovo. Runs whose ENA instrument_platform is not a short-read platform (the ones nf-core/mag accepts as short reads: ILLUMINA, BGISEQ, DNBSEQ, ELEMENT, ULTIMA, ION_TORRENT, LS454, …) are refused: metatdenovo analyses short reads, and long-read, capillary or colour-space runs would be processed as if they were.
nfclaw
nfclaw chain edges metatdenovo