AMAP

Docs / User guide

Parameters

Every AMAP parameter, what it defaults to, and when you would change it. Run nextflow run PathoGenOmics-Lab/AMAP --help for the same list at the terminal.

Pipeline parameters take two dashes (--tsv). Nextflow's own options take one (-profile, -resume).

Input and output#

ParameterDescriptionTypeDefaultRequired
--tsvSample sheet with sampleId and fasta columns, tab separated. Not needed with -profile test.filesamples.tsvYes
--outdirDirectory for results.stringresultsNo

Skip options#

ParameterDescriptionTypeDefault
--skip_typingSkip pathotypr lineage typing. Required for non-MTBC organisms.booleanfalse
--skip_functional_annotationStop after annotation correction. Skips eggNOG, duplications, pangenome and the report.booleanfalse
--skip_mycobrowserSkip Mycobrowser functional categories. Auto-enabled when --genus is not Mycobacterium and a custom reference is set.booleanfalse

Their effect on the output tree is covered under outputs.

Annotation#

ParameterDescriptionTypeDefault
--genusGenus passed to Bakta.string"Mycobacterium"
--speciesSpecies passed to Bakta.string"Mycobacterium tuberculosis"

Bakta uses these to pick naming conventions and reference sets, so setting them correctly improves the baseline annotation that AMAP then corrects.

Resources#

ParameterDescriptionTypeDefault
--max_cpusCeiling on CPUs for any single process.integerthe machine's CPUs
--max_memoryCeiling on memory for any single process.string16.GB
--max_timeCeiling on wall-clock time for any single process.string72.h
--scratchUse node-local scratch for I/O-heavy processes. On by default in the HPC profiles.booleanfalse

These are ceilings, not requests. Each process asks for what it needs and is then clamped to these values, so lowering them makes AMAP fit a smaller machine rather than making it run faster.

The defaults are a single machine's. The HPC profiles raise them to 48 CPUs and 128 GB, -profile highmem to 48 CPUs, 256 GB and 120 h, and -profile test sets 4 CPUs, 8 GB and 1 h, in whatever order -profile names them.

Memory scales on retry: a process killed by the out-of-memory killer is resubmitted with more, up to the ceiling.

Validation and information#

ParameterDescriptionTypeDefault
--validate_onlyRun input validation and stop.booleanfalse
--strict_validationStop on validation warnings too, not only on errors.booleanfalse
--helpPrint the help text and exit.booleanfalse
--versionPrint pipeline and Nextflow versions and exit.booleanfalse

Custom reference#

Supply both to annotate any prokaryote against your own trusted annotation.

ParameterDescriptionTypeDefault
--ref_annotationTrusted reference annotation, GFF3 or GenBank.filenull
--ref_genomeTrusted reference genome, FASTA.filenull

They must be given together; setting only one is an error. See custom reference for what AMAP does with them.

Reference and database arguments#

You almost certainly do not need these

Every file below ships inside the Docker and Singularity images, under /reference/. Running with -profile docker or -profile singularity picks them up automatically.

They exist for running without a container, for swapping in updated reference files, or for adapting the pipeline by hand.

ParameterDescriptionDefault inside the container
--bakta_dbBakta database directory, inside the container or on the host./data/bakta_db/db-light
--eggnog_dbPre-formatted eggNOG database directory.eggnog_db
--pathotyper_snpsLineage marker SNPs for pathotypr./reference/snps_lineages.tsv
--pathotyper_refReference FASTA for pathotypr./reference/MTB_ancestor_reference.fasta
--miniprot_ref_aaReference proteome aligned onto each genome./reference/aa_H37Rv.translated.fas
--miniprot_ref_bad_baktaKnown problematic annotations, used to filter novel-gene candidates./reference/bad.bakta.translated.fas
--miniprot_ref_h37rvReference genome FASTA./reference/new_refH37Rv.fasta
--bakta_proteinsReference proteins GenBank file for Bakta./reference/sequence.gb
--mycobrowser_refMycobrowser functional categories table./reference/Mycobacterium_tuberculosis_H37Rv_txt_v4.txt

A database or a file of your own on the host, the full Bakta database or a newer Mycobrowser table for instance, is mounted into the tasks that use it, so it works with the container profiles too. A path that is not on the host is read inside the container, where the defaults are, and validation stops a run whose file is in neither place.

The eggNOG database is the one exception: it is not bundled, because of its size. AMAP downloads and builds it on the first run and caches it at --eggnog_db, so point that at somewhere persistent and shared if you run on a cluster.

Nextflow options worth knowing#

These belong to Nextflow rather than AMAP, so they take a single dash.

OptionWhat it does
-profileSelects execution profiles, comma separated: docker, singularity, slurm, sge, pbs, test.
-resumeReuse cached results from the previous run.
-work-dirWhere intermediate files go. Defaults to ./work, and it gets large.
-process.queueOverride the scheduler queue or partition.
-process.clusterOptionsExtra flags passed to the scheduler, such as '--account=mygroup'.

See running AMAP for how the profiles combine.

Edit this page on GitHub