Skip to content

taffish/abricate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

taf-abricate

taf-abricate packages ABRicate 1.4.0, a command-line tool for screening assembled contigs against antimicrobial resistance, virulence, plasmid, metal resistance, and related gene databases using BLAST.

This app provides the ABRicate runtime, its helper downloader, BLAST+, any2fasta, the required Perl modules, and the ABRicate bundled database snapshot from the packaged upstream release.

Package Identity

BLAST is pinned to 2.16.0 because the newer Bioconda blast=2.17.0 package is not currently published for linux-aarch64; ABRicate requires BLAST+ 2.7 or newer, so 2.16.0 keeps both native TAFFISH platforms available while satisfying the upstream runtime requirement.

Installation

taf install abricate

Then run:

taf-abricate --help
taf-abricate -- --help
taf-abricate -- --version
taf-abricate -- --list

Basic Usage

The default upstream command is abricate:

taf-abricate contigs.fa > abricate.tsv
taf-abricate -- --db vfdb contigs.fa > vfdb.tsv
taf-abricate -- --db card --minid 90 --mincov 80 contigs.fa > card.tsv
taf-abricate -- --summary sample1.tsv sample2.tsv > summary.tsv

Because this is a command-mode TAFFISH tool, helper commands in the same image can be called explicitly:

taf-abricate abricate --list
taf-abricate abricate-get_db --help
taf-abricate blastn -version
taf-abricate makeblastdb -version
taf-abricate any2fasta -h

Use taf-abricate -- ... when passing option-leading arguments to the default abricate command. For helper executables, prefer the explicit command form shown above.

Inputs

ABRicate screens assembled contigs, not raw reads. Inputs accepted by the upstream any2fasta conversion path include FASTA, GenBank, EMBL, and common compressed forms such as .gz, .bz2, and .zip. The --fofn option accepts a file of input filenames.

Typical inputs:

  • assembled contig FASTA from a bacterial isolate or metagenome-assembled genome
  • gzipped contig FASTA
  • GenBank or EMBL records that can be converted by any2fasta
  • a file-of-filenames for batch screening

Outputs

By default ABRicate writes a tab-separated report to stdout. Important columns include:

  • #FILE, SEQUENCE, START, END, STRAND
  • GENE, COVERAGE, %COVERAGE, %IDENTITY
  • DATABASE, ACCESSION, PRODUCT, RESISTANCE

Use --csv for comma-separated output and --summary to combine one or more ABRicate reports into a gene presence/absence matrix.

Bundled Databases

The image includes the database snapshot packaged with ABRicate 1.4.0 and runs abricate --setupdb at image build time so the bundled databases are ready for normal use.

List available bundled databases:

taf-abricate -- --list

Common choices include:

  • ncbi
  • card
  • resfinder
  • argannot
  • megares
  • vfdb
  • ecoli_vf
  • plasmidfinder
  • bacmet2
  • victors
  • ecoh
  • upec_expec_vf

The default upstream database is ncbi.

Updating or Customizing Databases

The bundled databases are useful for reproducible offline screening, but they are snapshots. For a production analysis, record both the ABRicate software version and the database name/date shown by abricate --list.

ABRicate provides abricate-get_db for user-initiated database updates. This helper downloads from external database providers and requires network access. It is not run automatically by this app and is not used in smoke tests.

Project-local updated database example:

mkdir -p abricate-db
taf-abricate abricate-get_db --db ncbi --dbdir "$PWD/abricate-db" --force
taf-abricate -- --datadir "$PWD/abricate-db" --db ncbi contigs.fa > ncbi.tsv

Persistent personal database example:

DBROOT="$HOME/.local/share/taffish/databases/abricate"
mkdir -p "$DBROOT"
cd "$DBROOT"
taf-abricate abricate-get_db --db ncbi --dbdir "$PWD" --force

When using a database outside the current working tree, make sure the selected container backend can see that host path. If needed, mount it explicitly and pass the mounted path to --datadir:

TAFFISH_DOCKER_RUN_ARGS="-v $HOME/.local/share/taffish/databases/abricate:/abricate-db:ro" \
  TAFFISH_CONTAINER_BACKEND=docker \
  taf-abricate -- --datadir /abricate-db --db ncbi contigs.fa > ncbi.tsv

Use TAFFISH_PODMAN_RUN_ARGS for Podman and TAFFISH_APPTAINER_RUN_ARGS for Apptainer.

Custom database directories follow upstream ABRicate layout:

my-db-root/
  tinyamr/
    sequences

The sequences FASTA headers should ideally use:

>DB~~~ID~~~ACC~~~RESISTANCES description

Then build BLAST indices and run:

taf-abricate -- --setupdb --datadir "$PWD/my-db-root"
taf-abricate -- --datadir "$PWD/my-db-root" --db tinyamr contigs.fa > tinyamr.tsv

Scope and Boundaries

This app supports the ABRicate command-line workflow:

  • database listing and setup with bundled or user-provided ABRicate databases
  • contig screening with BLASTN/BLASTX-backed searches
  • file-of-filenames batch input
  • TSV/CSV reports and --summary matrices
  • explicit database update helper when the user requests it

This app does not:

  • screen raw FASTQ reads directly
  • call AMR-associated SNPs or chromosomal point mutations
  • infer antimicrobial phenotype by itself
  • replace AMRFinderPlus, ResFinder, CARD RGI, or a full microbial annotation flow
  • automatically download or mutate production databases during normal runs

ABRicate is a DNA-sequence matching tool. Absence of an ABRicate hit is not proof that a sample lacks antimicrobial resistance, especially for mechanisms driven by point mutations, expression changes, incomplete assemblies, or database coverage.

Testing

The smoke test covers:

  • TAFFISH metadata parsing through taf check
  • upstream version/help/dependency checks
  • bundled database list and prebuilt BLAST indices
  • ABRicate --check
  • BLAST+, any2fasta, Perl module, gzip, bzip2, unzip, and git availability
  • an offline tiny custom database built with --setupdb
  • a real ABRicate positive screening path
  • --summary
  • gzipped input through --fofn, --csv, and --nopath

Smoke tests are offline and self-contained. They do not download production databases and do not validate sensitivity or specificity on clinical datasets.

License and Citation

The TAFFISH app packaging code and documentation are licensed as Apache-2.0. The upstream ABRicate software is GPL-2.0-only. Bundled database snapshots and external database updates retain their source database terms and citation requirements.

Upstream asks users to cite ABRicate itself and the database selected with --db. See the upstream citation guidance:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors