funcscan
nf-core/funcscan
Pipeline for screening for functional components of assembled contigs
Key tools
Run it
nfclaw run funcscan --input samplesheet.csv --outdir results -profile dockernextflow run pipelines/funcscan/upstream -profile docker --input samplesheet.csv --outdir resultsnfclaw 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
| column | type | required | allowed values | constraints |
|---|---|---|---|---|
sample | string | yes | matches ^\S+$ | |
fasta | string (file path) | yes | matches ^\S+\.(fasta|fas|fna|fa)(\.gz)?$ | |
protein | string (file path) | no | matches ^\S+\.(faa|fasta)(\.gz)?$ | |
gbk | string (file path) | no | matches ^\S+\.(gbk|gbff)(\.gz)?$ | |
gff | string (file path) | no | matches ^\S+\.(gff|gff3)(\.gz)?$ | |
gff_type | string | no | NCBI_prok, prodigal, NCBI_euk, JGI |
--input must match ^\S+\.csv$.
Additional row validation rules from the schema:
- When
proteinis set, also providegbk. - When
gbkis set, also provideprotein. - When
gffis set, also provideprotein.
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):
sample,fastaAny 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:
nfclaw run funcscan --input samplesheet.csv --outdir results -profile docker \ --limit-cpus 4 --limit-memory 15.GBnfclaw 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:
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
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.
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.
sample,fasta| Column | Type | Required | Allowed / constraints |
|---|---|---|---|
sample | string | required | matches ^\S+$ |
fasta | string (file path) | required | matches ^\S+\.(fasta|fas|fna|fa)(\.gz)?$ |
protein | string (file path) | optional | matches ^\S+\.(faa|fasta)(\.gz)?$ |
gbk | string (file path) | optional | matches ^\S+\.(gbk|gbff)(\.gz)?$ |
gff | string (file path) | optional | matches ^\S+\.(gff|gff3)(\.gz)?$ |
gff_type | string | optional | NCBI_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 groupsEvery 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.