Resource usage guidance

July 27, 2026 ยท View on GitHub

nf-core/mag is a bioinformatics best-practice analysis pipeline for the assembly, binning, and annotation of metagenomes. Due to the nature of metagenomic samples, nf-core/mag can in some cases require large amounts of computational resources to execute. In this page we provide information and guidance on how nf-core/mag works by default, and in some cases how to optimise computational resource usage.

Multi-sample or bin executing modules

By default, nf-core/mag aims to make the runtime as efficiently as possible on HPC and similar infrastructure through generating more but shorter running jobs.

In most cases, all pre-assembly steps typically run one job per input FASTQ file. After assembly, most steps run on a per assembly or contig. After binning, each step runs on a per-bin basis, and so forth.

There are a few exceptions to this. In the following cases, depending on the options you set in the pipeline, you may see some steps running as a single job with multiple samples.

  • Multiple samples processed in one job:
    • If --coassemble_group: all reads across all samples in a group will be pooled into one assembly job (e.g. MEGAHIT, metaSPAdes)
    • If --gtdbtk_single_job: all bins across all samples will be pooled into a single GTDBTk classification job

Default resource requests

The following table lists the default resources that Nextflow will request from a machine on it's first execution attempt for a given module. It summaries information recorded in the file conf/base.conf and the module files themselves modules.

To customise these resource requests, see the central nf-core instructions.

Please also note the following:

  • Not all modules in this table will run in every pipeline run, nor will the tool necessarily use the requested amount.
  • On certain module execution failures (such as out of memory), Nextflow will try and resubmit with increased resources with the equation <resource value> * task.attempt, up to a certain number of retries. See conf/base.conf for more information.
  • Some modules have a dedicate flag to fix the number of CPUs for reproducibility reasons (e.g. --megahit_fix_cpu_1). See the parameters page.
  • METASPADES, METASPADESHYBRID, FILTLONG, METAMDBG_ASM and FLYE grow memory and time exponentially with each retry (<value> * 2 ** (task.attempt - 1)); the table shows the first-attempt request.
  • ALE requests 18.GB by default, but 30.GB when --coassemble_group is set.

The table is ordered first by 'Source' of defaults by specificity of definition, then by 'memory', and then 'Module name' by alphabetical order.

Module NameCPUMemoryTimeSource
GTDBTK_CLASSIFYWF10140.GB12.hNamed customisation
CATPACK_BINS6120.GB8.hNamed customisation
FLYE1272.GB24.hNamed customisation
FILTLONG864.GB24.hNamed customisation
METAMDBG_ASM1264.GB24.hNamed customisation
METASPADES1072.GB24.hNamed customisation
METASPADESHYBRID1072.GB24.hNamed customisation
PORECHOP_ABI464.GB8.hNamed customisation
CATPACK_CONTIGS660.GB8.hNamed customisation
CHECKM_LINEAGEWF642.GB8.hNamed customisation
MEGAHIT840.GB16.hNamed customisation
PORECHOP_PORECHOP430.GB4.hNamed customisation
CONCOCT_CONCOCT1224.GB16.hNamed customisation
MINIMAP2_ASSEMBLY_ALIGN832.GB16.hNamed customisation
BOWTIE2_HOST_REMOVAL_BUILD1020.GB4.hNamed customisation
METABAT2_METABAT2820.GB8.hNamed customisation
ALE118.GB4.hNamed customisation
BUSCO_BUSCO616.GB12.hNamed customisation
MAG_DEPTHS116.GB4.hNamed customisation
MULTIQC116.GB8.hNamed customisation
PYPOLCA_RUN212.GB8.hNamed customisation
BOWTIE2_HOST_REMOVAL_ALIGN1010.GB6.hNamed customisation
NANOLYSE210.GB3.hNamed customisation
BOWTIE2_ASSEMBLY_ALIGN88.GB8.hNamed customisation
FASTP68.GB8.hNamed customisation
CHOPPER24.GB8.hNamed customisation
PRODIGAL14.GB4.hNamed customisation
PROKKA24.GB4.hNamed customisation
BOWTIE2_PHIX_REMOVAL_ALIGN82.GB6.hNamed customisation
QUAST_BINS12.GB4.hNamed customisation
CONCAT_BUSCO_TSV11.GB4.hNamed customisation
CONCAT_CHECKM_TSV11.GB4.hNamed customisation
CONCAT_CHECKM2_TSV11.GB4.hNamed customisation
CONCAT_GUNC_CHECKM_TSV11.GB4.hNamed customisation
CONCAT_GUNC_TSV11.GB4.hNamed customisation
RENAME_POSTDASTOOL11.GB4.hNamed customisation
RENAME_PREDASTOOL11.GB4.hNamed customisation
SEQKIT_STATS11.GB4.hNamed customisation
COMEBIN_RUNCOMEBIN1272.GB16.hLabel: process_high
GENOMAD_ENDTOEND1272.GB16.hLabel: process_high
MINIMAP2_HOST_ALIGN1272.GB16.hLabel: process_high
ADAPTERREMOVAL636.GB8.hLabel: process_medium
BBMAP_BBNORM636.GB8.hLabel: process_medium
BCFTOOLS_CONSENSUS636.GB8.hLabel: process_medium
BCFTOOLS_VIEW636.GB8.hLabel: process_medium
CATPACK_PREPARE636.GB8.hLabel: process_medium
CHECKM2_PREDICT636.GB8.hLabel: process_medium
DASTOOL_DASTOOL636.GB8.hLabel: process_medium
GUNC_RUN636.GB8.hLabel: process_medium
MAXBIN2636.GB8.hLabel: process_medium
METABAT2_JGISUMMARIZEBAMCONTIGDEPTHS636.GB8.hLabel: process_medium
METABINNER_METABINNER636.GB8.hLabel: process_medium
METAEUK_EASYPREDICT636.GB8.hLabel: process_medium
MMSEQS_DATABASES636.GB8.hLabel: process_medium
PYDAMAGE_ANALYZE636.GB8.hLabel: process_medium
SEMIBIN_SINGLEEASYBIN636.GB8.hLabel: process_medium
TIARA_TIARA636.GB8.hLabel: process_medium
TRIMMOMATIC636.GB8.hLabel: process_medium
BCFTOOLS_INDEX212.GB4.hLabel: process_low
CHECKM_QA212.GB4.hLabel: process_low
FASTQC212.GB4.hLabel: process_low
FIND_CONCATENATE212.GB4.hLabel: process_low
METABINNER_BINS212.GB4.hLabel: process_low
METABINNER_KMER212.GB4.hLabel: process_low
METABINNER_TOOSHORT212.GB4.hLabel: process_low
MINIMAP2_INDEX212.GB4.hLabel: process_low
NANOPLOT212.GB4.hLabel: process_low
NANOQ212.GB4.hLabel: process_low
SAMTOOLS_INDEX212.GB4.hLabel: process_low
SAMTOOLS_UNMAPPED212.GB4.hLabel: process_low
SPLIT_FASTA212.GB4.hLabel: process_low
SUMMARISE_PYDAMAGEBINS212.GB4.hLabel: process_low
CAT_FASTQ16.GB4.hLabel: process_single
CATPACK_ADDNAMES16.GB4.hLabel: process_single
CATPACK_DOWNLOAD16.GB4.hLabel: process_single
CATPACK_SUMMARISE16.GB4.hLabel: process_single
CHECKM2_DATABASEDOWNLOAD16.GB4.hLabel: process_single
CONCOCT_CONCOCTCOVERAGETABLE16.GB4.hLabel: process_single
CONCOCT_CUTUPFASTA16.GB4.hLabel: process_single
CONCOCT_EXTRACTFASTABINS16.GB4.hLabel: process_single
CONCOCT_MERGECUTUPCLUSTERING16.GB4.hLabel: process_single
DASTOOL_FASTATOCONTIG2BIN16.GB4.hLabel: process_single
FREEBAYES16.GB4.hLabel: process_single
GENOMAD_DOWNLOAD16.GB4.hLabel: process_single
GUNC_DOWNLOADDB16.GB4.hLabel: process_single
GUNC_MERGECHECKM16.GB4.hLabel: process_single
GUNZIP16.GB4.hLabel: process_single
PYDAMAGE_FILTER16.GB4.hLabel: process_single
QSV_CAT16.GB4.hLabel: process_single
SAMTOOLS_FAIDX16.GB4.hLabel: process_single
SAMTOOLS_STATS16.GB4.hLabel: process_single
SEQTK_MERGEPE16.GB4.hLabel: process_single
TIARA_CLASSIFY16.GB4.hLabel: process_single
UNTAR16.GB4.hLabel: process_single
BIN_SUMMARY17.GB4.hDefault
BOWTIE2_ASSEMBLY_BUILD17.GB4.hDefault
BOWTIE2_PHIX_REMOVAL_BUILD17.GB4.hDefault
CONVERT_DEPTHS17.GB4.hDefault
GTDBTK_DB_PREPARATION17.GB4.hDefault
GTDBTK_SUMMARY17.GB4.hDefault
MAG_DEPTHS_SUMMARY17.GB4.hDefault
PREPARE_BIGMAG_SUMMARY17.GB4.hDefault
QUAST17.GB4.hDefault

Table generated for nf-core/mag v5.5, using Claude Haiku 4.5, and corrected for accuracy by a human.