SkillAgentSearch skills...

Abricate

:mag_right: :pill: Mass screening of contigs for antimicrobial and virulence genes

Install / Use

/learn @tseemann/Abricate
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

GitHub Release Conda Downloads CI Status License: GPL v2 European Galaxy server Don't judge me

ABRicate

Mass screening of contigs for antimicrobial resistance or virulence genes. It comes bundled with multiple databases: NCBI, CARD, ARG-ANNOT, Resfinder, MEGARES, EcOH, PlasmidFinder, Ecoli_VF and VFDB, VICTORS, BacMet.

Is this the right tool for me?

  1. It only supports contigs, not FASTQ reads
  2. It only detects acquired resistance genes, NOT point mutations
  3. It uses a DNA sequence database, not protein
  4. It needs BLAST+ >= 2.7 and any2fasta to be installed
  5. It's written in Perl :camel:

If you are happy with the above, then please continue! Otherwise consider using Ariba, Resfinder, RGI, SRST2, AMRFinderPlus, etc.

Quick Start

% abricate 6159.fasta
Using database resfinder:  2130 sequences -  Mar 17, 2017
Processing: 6159.fna
Found 3 genes in 6159.fna
#FILE     SEQUENCE     START   END     STRAND GENE     COVERAGE     COVERAGE_MAP     GAPS  %COVERAGE  %IDENTITY  DATABASE  ACCESSION  PRODUCT        RESISTANCE
6159.fna  NC_017338.1  39177   41186   +      mecA_15  1-2010/2010  ===============  0/0   100.00     100.000    ncbi      AB505628   n/a	     FUSIDIC_ACID
6159.fna  NC_017338.1  727191  728356  -      norA_1   1-1166/1167  ===============  0/0   99.91      92.367     ncbi      M97169     n/a            FOSFOMYCIN
6159.fna  NC_017339.1  10150   10995   +      blaZ_32  1-846/846    ===============  0/0   100.00     100.000    ncbi      AP004832   betalactamase  BETA-LACTAM;PENICILLIN

Installation

Bioconda

If you use Conda follow the instructions to add the Bioconda channel:

conda install -c conda-forge -c bioconda abricate
abricate --check
abricate --list

Source

If you install from source, Abricate has the following package dependencies:

  • any2fasta for sequence file format conversion
  • BLAST+ >2.7.0 for blastn, makeblastdb, blastdbcmd
  • Perl modules: LWP::Simple, Bio::Perl, JSON, Path::Tiny
  • git, unzip, gzip for updating databases

Most of these are easy to install on an Ubuntu-based system:

sudo apt-get install bioperl ncbi-blast+ gzip unzip git \
  libjson-perl libtext-csv-perl libpath-tiny-perl liblwp-protocol-https-perl libwww-perl
git clone https://github.com/tseemann/abricate.git
./abricate/bin/abricate --check
./abricate/bin/abricate --setupdb
./abricate/bin/abricate ./abricate/test/assembly.fa

Input

Abricate takes any sequence file that any2fasta can convert to FASTA files (eg. Genbank, EMBL), and they can be optionally gzip or bzip2 compressed.

abricate assembly.fa 
abricate assembly.fa.gz
abricate assembly.gbk 
abricate assembly.gbk.bz2

It can take multiple files at once too:

abricate assembly.*
abricate /mnt/ncbi/bacteria/*.gbk.gz 

Or you can provide it a "file of file names" (a "FOFN"):

% cat test/fofn.txt

assembly.fa
assembly.fa.gz
assembly.gbk
assembly.gbk.bz2

% abricate --fofn test/fofn.txt

It does not accept raw FASTQ reads; please use Ariba or SRTS2 for that.

Output

Abricate produces a tap-separated output file with the following columns:

Column | Example | Description -------|---------|------------ FILE | Ecoli.fna | The filename this hit came from SEQUENCE | contig000324 | The sequence in the filename START | 23423 | Start coordinate in the sequence END | 24117 | End coordinate STRAND | + | Strand + or - GENE | tet(M) | AMR gene name COVERAGE | 1-1920/1920 | What proportion of the gene is in our sequence COVERAGE_MAP | =============== | A visual represenation of the hit. ==aligned, .=unaligned, /=has_gaps GAPS | 1/4 | Openings / gaps in subject and query - possible psuedogene? %COVERAGE | 100.00% | Proportion of gene covered %IDENTITY | 99.95% | Proportion of exact nucleotide matches in the covered part DATABASE | ncbi | The database this sequence comes from ACCESSION | NC_009632:49744-50476 | The genomic source of the sequence PRODUCT | aminoglycoside O-phosphotransferase APH(3')-IIIa | Gene product (if available) RESISTANCE | TETRACYCLINE;FUSIDIC_ACID | putative antibiotic resistance phenotype, ;-separated

Caveats

  • Does not find mutational resistance, only acquired genes.
  • Gap reporting incomplete
  • Sometimes two heavily overlapping genes will be reported for the same locus
  • Possible coverage calculation issues

Databases

ABRicate comes with some pre-downloaded databases:

You can check what you have installed with the --list command. This lists the available databases in TSV (or CSV with --csv) and three columns:

% abricate --list

DATABASE	SEQUENCES	DBTYPE	DATE
ecoh	597	nucl	2025-Apr-14
bacmet2	746	nucl	2025-Apr-14
ncbi	7456	nucl	2025-Apr-14
victors	4545	nucl	2025-Apr-14
vfdb	4394	nucl	2025-Apr-14
megares	7424	nucl	2025-Apr-14
card	6048	nucl	2025-Apr-14
plasmidfinder	488	nucl	2025-Apr-14
resfinder	3174	nucl	2025-Apr-14
argannot	2224	nucl	2025-Apr-14
ecoli_vf	2701	nucl	2025-Apr-14

The default database is ncbi. You can choose a different database using the --db option:

% abricate --db vfdb --quiet 6159.fa

6159.fna  NC_017338.1  2724620  2726149  aur      1-1530/1530     ===============  0/0    100.00     99.346     vfdb      NP_647375	zinc metalloproteinase aureolysin
6159.fna  NC_017338.1  2766595  2767155  icaR     1-561/561       ===============  0/0    100.00     98.930     vfdb      NP_647402	N-acetylglucosaminyltransferase
6159.fna  NC_017338.1  2767319  2768557  icaA     1-1239/1239     ===============  0/0    100.00     99.677     vfdb      NP_647403	n/a
6159.fna  NC_017338.1  2768521  2768826  icaD     1-306/306       ===============  0/0    100.00     99.020     vfdb      NP_647404	n/a
6159.fna  NC_017338.1  2768823  2769695  icaB     1-873/873       ===============  0/0    100.00     99.542     vfdb      NP_647405	n/a
6159.fna  NC_017338.1  2769682  2770734  icaC     1-1053/1053     ===============  0/0    100.00     98.955     vfdb      NP_647406	n/a
6159.fna  NC_017338.1  2771040  2773085  lip      1-2046/2046     ===============  0/0    100.00     98.778     vfdb      NP_647407	triacylglycerol lipase precursor

Combining reports across samples

ABRicate can combine results into a simple matrix of gene presence/absence. An absent gene is denoted . and a present gene is represented by its '%COVERAGE`. This can be individual abricate reports, or a combined one.

# Run abricate on each .fa file
% abricate 1.fna > 1.tab
% abricate 2.fna > 2.tab

# Combine
% abricate --summary 1.tab 2.tab

#FILE     NUM_FOUND  aac(6')-aph(2'')_1  aadD_1  blaZ_32  blaZ_36  erm(A)_1  mecA_15  norA_1  spc_1  tet(M)_7
1.tab     8          100.00              100.00  .     
View on GitHub
GitHub Stars484
CategoryDevelopment
Updated3d ago
Forks102

Languages

Perl

Security Score

100/100

Audited on Mar 28, 2026

No findings