Skip to content

Module end to end

jamesck2 edited this page Jun 21, 2026 · 1 revision

Module: end-to-end

Runs annotate, then de-novo (reusing the proteins predicted by annotate), then aggregate, writing each module to its own sub-directory within a single output:

<output>/
|-- 01_annotate/
|-- 02_denovo/
`-- 03_aggregate/

This is the recommended way to run CheckAMG when feasible. Because de-novo is more sensitive than annotate alone, the combined run often identifies additional AVGs that annotation cannot, while still providing the functional classifications and curation from annotate. de-novo benefits substantially from a GPU; if a GPU is unavailable or de-novo is impractical at your input scale, run annotate alone instead.

When --input-type nucl, the de-novo step reuses the proteins predicted by the annotate module (proteins are not predicted twice). The annotate step always runs on CPU; de-novo can be directed to a GPU independently via --denovo-accelerator.

Basic usage

checkamg end-to-end \
  -d /path/to/db/destination \
  -i examples/example_data/single_contig_viruses.fasta \
  -I examples/example_data/multi_contig_vMAGs \
  -o CheckAMG_example_out

--db-dir must point to a directory containing both the annotate and de-novo databases (the default layout produced by checkamg download).

Parameters

Required

Argument Description
-d, --db-dir Directory containing both the annotate and de-novo databases.
-o, --output Output directory for all modules and combined results.

Inputs

Same as annotate: -i/--input-contigs, -I/--input-bins, -p/--input-proteins, -P/--input-bin-proteins, and --input-type (nucl or prot, default nucl).

annotate options

A curated subset of the annotate parameters is exposed (the rest use annotate's defaults):

Argument Default Description
-l, --min-len 5000 Minimum contig length (bp).
-f, --min-orf 4 Minimum ORFs/proteins per contig.
-amg, --min-amg-weight 0.6 Minimum AMG weight for a putative AMG annotation to be kept.
-kf, --keep-full-hmm-results / --no-... off Write all HMM search results (large; use with --save-to-parquet).
--filter-ambig-regions / --no-... off Exclude predictions outside strict viral regions.
--filter-avg-arrays / --no-... on Exclude AVG predictions in contiguous arrays.
--avg-array-limit 3 Exclude AVG runs of this length or more.
--filter-presets allow_glucan,allow_nucleotide,allow_methyl,allow_lipid Annotation filtering presets (see annotate).

de-novo options

Argument Default Description
-b, --batch-size 16 Batch size in scaffolds when computing PST embeddings.
--nn-batch-size 4096 Batch size in proteins for kNN searches.
--num-index-cells auto Cells to partition the training data into when building a search index.
--num-probe-cells 1 Index cells to visit when searching for nearest neighbors.
-k, --knn 20 Number of nearest neighbors for distance-weighted voting.
--denovo-accelerator auto Accelerator for de-novo only (cpu/gpu/auto). Annotate always runs on CPU.
--denovo-devices = --threads (CPU) Number of devices for de-novo. On CPU this is cores/threads; capped at 1 on GPU.

Outputs, resources

Argument Default Description
-pq, --save-to-parquet / --no-... off Write tables as parquet instead of TSV.
-t, --threads 25% of available Maximum number of threads.
-m, --mem 80% of available Memory limit in GB.
--debug / --no-debug off Enable debug-level logging.

Outputs

  • 01_annotate/: a full annotate output.
  • 02_denovo/: a full de-novo output.
  • 03_aggregate/: the merged aggregate report (aggregated_results.tsv, aggregated_results_detailed.tsv, and aggregated_results_categories.tsv). The categories table can list multiple function categories per AVG (especially AMGs); this does not mean the gene acts in all of them (or any). See Why does one AVG have multiple function categories?.

Clone this wiki locally