Skip to content
Genomes & evolutionlatest-release

funcscan

nf-core/funcscan

Pipeline for screening for functional components of assembled contigs

version4.0.0aee3dc965eJun 27, 2026 Upstream Usage docs

Key tools

ABRicateAMPirAMPlifyAMRFinderPlusAntiSMASHargNormBaktaBiG-SLiCEcomBGCDeepARGDeepBGCfARGeneGECCOAMPcombihAMRonizationHMMERInterProInterProScanMacrelMMseqs2ProdigalPROKKAPyrodigalRGIdbCANSeqKit

Run it

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

Runtime corrections

For this exact commit, nfclaw run applies funcscan-hmm-metadata-v1 in a separate verified working copy. HMM search retains sample metadata so all HMM results reach AMPcombi. The original pinned checkout stays unchanged. The direct Nextflow command omits this correction. The actual corrected bytes, recipe, source archive and executable modes are recorded for replay; resume refuses missing or changed source identity. Use NFCLAW_SOURCE_CACHE to select another writable user cache. Recorded source corrections explains the exact scope and validation.

Inputs

columntyperequiredallowed valuesconstraints
samplestringyesmatches ^\S+$
fastastring (file path)yesmatches ^\S+\.(fasta|fas|fna|fa)(\.gz)?$
proteinstring (file path)nomatches ^\S+\.(faa|fasta)(\.gz)?$
gbkstring (file path)nomatches ^\S+\.(gbk|gbff)(\.gz)?$
gffstring (file path)nomatches ^\S+\.(gff|gff3)(\.gz)?$
gff_typestringnoNCBI_prok, prodigal, NCBI_euk, JGI

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

Additional row validation rules from the schema:

  • When protein is set, also provide gbk.
  • When gbk is set, also provide protein.
  • When gff is set, also provide protein.

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,fasta

Any of the optional columns above may be appended to the header when your data needs them: protein, gbk, gff, gff_type.

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; fasta, protein, gbk, gff from files matching their patterns, by sample name. Set other columns with --sheet-set COLUMN=VALUE. Preview it with --check; a run records it in <outdir>/provenance/ for replay.

Reference database

The bundled demo selects APD. For DRAMP, this release uses AMPcombi 3.0.0, whose downloader crashes on missing sequence cells. Prepare a complete local DRAMP TSV with nfclaw prepare-dramp RAW.tsv --outdir /refs/amp_DRAMP_database, inspect its recorded exclusions, then build mmseqs2/ref_DB before analysis. Supply both --amp-ampcombi-db-id DRAMP and --amp-ampcombi-db /refs/amp_DRAMP_database. The helper preserves retained sequences and annotations, excludes missing IDs and noncanonical/missing sequences, and refuses an existing output. DRAMP reference preparation gives the pinned-image index recipe and validation scope.

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 funcscan --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 funcscan ... --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 funcscan --demo --outdir results # adds the upstream test profile (-profile test,docker)

This pinned test profile reads its two-sample sheet and HMM model from a moving test-datasets branch. For a bare demo, nfclaw stages the same sheet with immutable FASTA URLs and supplies the HMM model from commit 6612875ff5d8d54fd0a7532acbfb9dda25edb9b2, every file byte-identical to that branch. The sheet is bundled in provenance, so a replay reads the recorded sheet. Explicit input, HMM models, the test-data base, extra profiles or --config disable the fixture. Other releases retain their own defaults.

<!-- Generated from nf-core/funcscan@aee3dc965eb0c77267435544dda30da858763913. 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,fasta
ColumnTypeRequiredAllowed / constraints
samplestringrequiredmatches ^\S+$
fastastring (file path)requiredmatches ^\S+\.(fasta|fas|fna|fa)(\.gz)?$
proteinstring (file path)optionalmatches ^\S+\.(faa|fasta)(\.gz)?$
gbkstring (file path)optionalmatches ^\S+\.(gbk|gbff)(\.gz)?$
gffstring (file path)optionalmatches ^\S+\.(gff|gff3)(\.gz)?$
gff_typestringoptionalNCBI_prokprodigalNCBI_eukJGI

Required parameters

--inputstring (file path)

Path to comma-separated file containing sample names and paths to corresponding FASTA files, and optional annotation files.

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

220 parameters · 34 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.

203 parameters · 17 hidden

Amp Ampcombi2 Cluster7

MMseqs2 alignment coverage.

MMseqs2 coverage mode.

Keep any hits that form a single member cluster.

Remove clusters that don't have more AMP hits than this number.

MMseqs2 clustering mode.

Remove hits that have no stop codon upstream and downstream of the AMP.

MMseqs2 sequence identity.

Amp Ampcombi2 Parsetables13

The path to the folder containing the reference database files.

The name of the database used to classify the AMPs.

Filter out all amino acid fragments shorter than this number.

Assigns the file extension used to identify AMPIR output.

Assigns the file extension used to identify AMPLIFY output.

Specifies the prediction tools' cut-offs.

Remove all DRAMP annotations that have an e-value greater than this value.

Retain HMM hits that have an e-value lower than this.

Assigns the file extension used to identify HMMER/HMMSEARCH output.

Assigns the file extension used to identify MACREL output.

Remove hits that have no stop codon upstream and downstream of the AMP.

Assign the number of codons used to look for stop codons, upstream and downstream of the AMP hit.

Assign the number of CDSs upstream and downstream of the AMP to look for a transport protein.

Amp Ampir3

Specify minimum protein length for prediction calculation.

Specify which machine learning classification model to use.

Skip ampir during AMP screening.

Amp Amplify1

Skip AMPlify during AMP screening.

Amp Hmmsearch5

Specify path to the AMP hmm model file(s) to search against. Must have quotes if wildcard used.

Saves a multiple alignment of all significant hits to a file.

Save a simple tabular file summarising the per-domain output.

Save a simple tabular file summarising the per-target output.

Run hmmsearch during AMP screening.

Amp Macrel1

Skip Macrel during AMP screening.

Annotation Bakta22

Activate generation of circular genome plots.

Specify that all contigs are complete replicons.

Clean the result annotations to standardise them to Genbank/ENA conventions.

Activate CRISPR array detection & annotation.

Specify a path to a local copy of a BAKTA database.

Download full or light version of the Bakta database if not supplying own database.

Activate gap detection & annotation.

Specify the type of bacteria to be annotated to detect signaling peptides.

Supply a path of an HMM file of trusted hidden markov models in HMMER format for CDS annotation

Specify the minimum contig size.

Activate ncRNA detection & annotation.

Activate ncRNA region detection & annotation.

Activate oriC/oriT detection & annotation.

Activate pseudogene detection & annotation.

Changes the original contig headers.

Activate rRNA detection & annotation.

Use the default genome-length optimised mode (rather than the metagenome mode).

Skip CDS detection & annotation.

Skip sORF detection & annotation.

Activate tmRNA detection & annotation.

Specify the genetic code translation table.

Activate tRNA detection & annotation.

Annotation General options2

Specify which annotation tool to use for some downstream tools.

Specify whether to save gene annotations in the results directory.

Annotation Prodigal4

Does not allow partial genes on contig edges.

Forces Prodigal to scan for motifs.

Specify whether to use Prodigal's single-genome mode for long sequences.

Specifies the translation table used for gene annotation.

Annotation Prokka12

Add the gene features for each CDS hit.

Allow transfer RNA (trRNA) to overlap coding sequences (CDS).

Force contig name to Genbank/ENA/DDJB naming rules.

Set the assigned minimum coverage.

E-value cut-off.

Specify the translation table used to annotate the sequences.

Specify the kingdom that the input represents.

Minimum contig size required for annotation (bp).

Suppress the default clean-up of the gene annotations.

Retains contig names.

Use RNAmmer for rRNA prediction.

Use the default genome-length optimised mode (rather than the metagenome mode).

Annotation Pyrodigal5

Does not allow partial genes on contig edges.

Forces Pyrodigal to scan for motifs.

Specify whether to use Pyrodigal's single-genome mode for long sequences.

Specifies the translation table used for gene annotation.

This forces Pyrodigal to append asterisks (*) as stop codon indicators. Do not use when running AMP workflow.

Arg Abricate5

Path to user-defined local ABRicate database directory for using custom databases.

Specify the name of the ABRicate database to use. Names of non-default databases can be supplied if --arg_abricate_db provided.

Minimum percent coverage of alignment required for a hit to be considered.

Minimum percent identity of alignment required for a hit to be considered.

Skip ABRicate during the ARG screening.

Arg Amrfinderplus7

Minimum coverage of the reference protein.

Specify the path to a local version of the ARMFinderPlus database.

Minimum percent identity to reference sequence.

Add identified column to AMRFinderPlus output.

Add the plus genes to the report.

Specify which NCBI genetic code to use for translated BLAST.

Skip AMRFinderPlus during the ARG screening.

Arg Argnorm1

Skip argNorm during ARG screening.

Arg Deeparg9

Specify E-value cutoff under which hits are discarded.

Specify percent identity cutoff for sequence alignment under which hits are discarded.

Specify alignment read overlap.

Specify the path to the DeepARG database.

Specify the numeric version number of a user supplied DeepaRG database.

Specify minimum probability cutoff under which hits are discarded.

Specify which model to use (short or long sequences).

Specify minimum number of alignments per entry for DIAMOND step of DeepARG.

Skip DeepARG during the ARG screening.

Arg Fargene7

Specify comma-separated list of which pre-defined HMM models to screen against

The minimum length of a predicted ORF retrieved from annotating the nucleotide sequences.

Defines which ORF finding algorithm to use.

Specify to save intermediate temporary files to results directory.

The threshold score for a sequence to be classified as a (almost) complete gene.

The translation table/format to use for sequence annotation.

Skip fARGene during the ARG screening.

Arg Hamronization1

Specifies summary output format.

Arg Rgi11

Specify the alignment tool to be used.

Specify a more specific data-type of input (e.g. plasmid, chromosome).

Path to user-defined local CARD database.

Include all of loose, strict and perfect hits (i.e. more than 95% identity) found by RGI.

Suppresses the default behaviour of RGI with --arg_rgi_includeloose.

Include screening of low quality contigs for partial genes.

Specify to trigger RGI's internal cleanup of intermediate files.

Save RGI output .json file.

Specify to save intermediate temporary files in the results directory.

Run multiple prodigal jobs simultaneously for contigs in a fasta file.

Skip RGI during the ARG screening.

Bgc Antismash16

Turn on clusterblast comparison against database of antiSMASH-predicted clusters.

Turn on clusterblast comparison against known gene clusters from the MIBiG database.

Turn on clusterblast comparison against known subclusters responsible for synthesising precursors.

Turn on ClusterCompare comparison against known gene clusters from the MIBiG database.

Run antiSMASH with --clusterhmmer mode with Pfam profiles

Minimum length a contig must have to be screened with antiSMASH.

Path to user-defined local antiSMASH database.

Run antiSMASH with --fullhmmer mode with Pfam profiles

Defines which level of strictness to use for HMM-based cluster detection.

Run Pfam to Gene Ontology mapping module.

Run RREFinder precision mode on all RiPP gene clusters.

Generate phylogenetic trees of secondary metabolite group orthologs.

Specify which taxonomic classification of input sequence to use.

Run TFBS finder on all gene clusters.

Run antiSMASH with --tigrfam annotation activated

Skip antiSMASH during the BGC screening.

Bgc Bigslice7

Run BiG-SLiCE in complete mode, re-clustering all BGCs into GCFs from scratch.

Path to the pre-downloaded BiG-SLiCE HMM database directory.

Export BiG-SLiCE results as TSV files in addition to the SQLite database.

Number of best GCF hits to report for each BGC membership assignment.

Jaccard index threshold for considering a BGC as a member of a GCF.

Percentage-based BGC-to-GCF membership threshold.

Run BiG-SLiCE to cluster detected BGCs into gene cluster families (GCFs).

Bgc Deepbgc11

DeepBGC classification score threshold for assigning classes to BGCs.

Path to local DeepBGC database folder.

Merge detected BGCs within given number of nucleotides.

Merge detected BGCs within given number of proteins.

Minimum number of known biosynthetic (as defined by antiSMASH) protein domains in a BGC.

Minimum number of protein domains in a BGC.

Minimum BGC nucleotide length.

Minimum number of proteins in a BGC.

Run DeepBGC's internal Prodigal step in single mode to restrict detecting genes to long contigs

Average protein-wise DeepBGC score threshold for extracting BGC regions from Pfam sequences.

Skip DeepBGC during the BGC screening.

Bgc Gecco9

The minimum number of coding sequences a valid cluster must contain.

Specify output format for GECCO convert.

Specify conversion mode for GECCO convert.

The minimum number of annotated genes that must separate a cluster from the edge.

Enable unknown region masking to prevent genes from stretching across unknown nucleotides.

The p-value cutoff for protein domains to be included.

Enable GECCO file conversion to formats for downstream analysis.

The probability threshold for cluster detection.

Skip GECCO during the BGC screening.

Bgc General options2

Specify the minimum length of contigs that go into BGC screening.

Specify to save the length-filtered (unannotated) FASTAs used for BGC screening.

Bgc Hmmsearch5

Specify path to the BGC hmm model file(s) to search against. Must have quotes if wildcard used.

Saves a multiple alignment of all significant hits to a file.

Save a simple tabular file summarising the per-domain output.

Save a simple tabular file summarising the per-target output.

Run hmmsearch during BGC screening.

Cazyme Dbcan4

Path to local dbCAN database folder.

Skip dbCAN during the CAZyme screening.

Skip CGC during the dbCAN screening.

Skip substrate prediction during the dbCAN screening.

Database Downloading options1

Specify whether to save pipeline-downloaded databases in your results directory.

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 options4

Email address for completion summary.

Path to comma-separated file containing sample names and paths to corresponding FASTA files, and optional annotation files.

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.

Protein Annotation6

Assigns the database(s) to be used to annotate the coding regions.

Path to pre-downloaded InterProScan database.

Change the database version used for annotation.

Pre-calculates residue mutual matches.

Specifies the tool used for further protein annotation.

Activates the functional annotation of annotated coding regions to provide more information about the codon regions classified.

Screening Type Activation4

Activate antimicrobial peptide genes screening tools.

Activate antimicrobial resistance gene screening tools.

Activate biosynthetic gene cluster screening tools.

Activate CAZyme and CAZyme gene cluster screening tools.

Taxonomic Classification General options3

Activates the taxonomic classification of input nucleotide sequences.

If MMseqs2 is chosen as taxonomic classification tool: Specifies if the output of all MMseqs2 subcommands shall be compressed.

Specifies the tool used for taxonomic classification.

Taxonomic Classification Mmseqs2 Databases3

Specify a path to MMseqs2-formatted database.

Specify the label of the database to be used.

Specify whether the temporary files should be saved.

Taxonomic Classification Mmseqs2 Taxonomy8

Specify the mode to assign the taxonomy.

Specify the taxonomic levels to display in the result table.

Specify the ORF search sensitivity in the prefilter step.

Specify whether to save the temporary files.

Specify the alignment type between database and query.

Specify the speed and sensitivity for taxonomy assignment.

Specify whether to include or remove the taxonomic lineage.

Specify the weights of the taxonomic assignment.

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/funcscan/blob/4.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.