ARIBA is a tool that identifies antibiotic resistance genes by running local assemblies.
It can also be used for MLST calling.
The input is a FASTA file of reference sequences (can be a mix of genes and noncoding sequences) and paired sequencing reads. ARIBA reports which of the reference sequences were found, plus detailed information on the quality of the assemblies and any variants between the sequencing reads and the reference sequences.
Quick Start
Get reference data, for instance from CARD. See getref for a full list.
ARIBA also depends on several Python packages, all of which are available
via pip. Installing ARIBA with pip3 will get these automatically if they
are not already installed:
dendropy >= 4.2.0
matplotlib>=3.1.0
pyfastaq >= 3.12.0
pysam >= 0.9.1
pymummer >= 0.10.1
biopython
Using pip3
Install ARIBA using pip:
pip3 install ariba
From Source
Download the latest release from this github repository or clone it. Run the tests:
python3 setup.py test
Note for OS X: The tests require gawk which will need to be installed separately, e.g. via Homebrew.
If the tests all pass, install:
python3 setup.py install
Alternatively, install directly from github using:
To use ARIBA use a command like this (substituting in your directories), where your files are assumed to be stored in /home/ubuntu/data:
docker run --rm -it -v /home/ubuntu/data:/data sangerpathogens/ariba ariba -h
When calling Ariba via Docker (as above) you’ll also need to add /data/ in front of all the passed in file or directory names (e.g. /data/my_output_folder).
Singularity
ARIBA can be run in a Singularity container. First install Singularity.
Releases include
a Singularity image to download.
Alternatively, build your own Singularity image:
singularity build ariba.simg Singularity.def
Debian (Ariba version may not be the latest)
ARIBA is available in the latest version of Debian, and over time will progressively filter through to Ubuntu and other distributions which use Debian. To install it as root:
sudo apt-get install ariba
Ubuntu
You can use apt-get (see above), or to ensure you get the latest version of ARIBA, the following commands can be
used to install ARIBA and its dependencies. This was tested on a new instance of Ubuntu 16.04.
By default, ARIBA will look for the dependencies in your $PATH, using
the names in the table below. This behaviour can be overridden and
point ARIBA to a specific program using environment variables.
The environment variable is checked first and is used if it is set.
Otherwise ARIBA looks in your $PATH for the default name. This applies
to the following dependencies.
Dependency
Default executable
Environment variable name
Bowtie2
bowtie2
$ARIBA_BOWTIE2
CD-HIT (est)
cd-hit-est
$ARIBA_CDHIT
For example, you could specify an exact version of a bowtie2 executable
that you compiled and downloaded in your home directory (assuming BASH):
export ARIBA_BOWTIE2=$HOME/bowtie2-2.1.0/bowtie2
Note that ARIBA also runs bowtie2-build, for which it uses the
bowtie2 executable with -build appended. So in this case
it would try to use
$HOME/bowtie2-2.1.0/bowtie2-build
Temporary files
ARIBA can temporarily make a large number of files whilst running, which
are put in a temporary directory made by ARIBA. The total size of these
files is small, but there can be a many of them. This can be a
problem when running large numbers (100s or 1000s) of jobs simultaneously
on the same file system.
The parent directory of the temporary directory is determined in the
following order of precedence:
The value of the option --tmp_dir (if that option was used)
The environment variable $ARIBA_TMPDIR (if it is set)
The environment variable $TMPDIR (if it is set)
If none of the above is found, then use the run’s output directory.
Each temporary directory
is unique to one run of ARIBA, and is automatically deleted at the end
of the run (even if ARIBA was killed by the user or crashed).
For example,
export $ARIBA_TMPDIR=/tmp
will result in the creation of a new directory inside /tmp, which
will have a name of the form
/tmp/ariba.tmp.abcdef
where the suffix abcdef is a random string of characters, chosen
such that /tmp/ariba.tmp.abcdef does not already exist.
The exception to the above is if the option --noclean is used.
This forces the temporary directory to be placed in the output
directory, and temporary files are kept. It is intended for
debugging.
Usage
usage: ariba <command> <options>
optional arguments:
-h, --help show this help message and exit
Available commands:
aln2meta Converts multi-aln fasta and SNPs to metadata
expandflag Expands flag column of report file
flag Translate the meaning of a flag
getref Download reference data
micplot Make violin/dot plots using MIC data
prepareref Prepare reference data for input to "run"
pubmlstget Download species from PubMLST and make db
pubmlstspecies
Get list of available species from PubMLST
refquery Get cluster or sequence info from prepareref output
run Run the local assembly pipeline
summary Summarise multiple reports made by "run"
test Run small built-in test dataset
version Get versions and exit
Please read the ARIBA wiki page for full usage instructions.
We currently do not have the resources to provide support for Ariba. However, the community might be able to help you out if you report any issues about usage of the software to the issues page.
ARIBA
Antimicrobial Resistance Identification By Assembly
For how to use ARIBA, please see the ARIBA wiki page.
PLEASE NOTE: we currently do not have the resources to provide support for Ariba - see the Feedback/Issues section.
Contents
Introduction
ARIBA is a tool that identifies antibiotic resistance genes by running local assemblies. It can also be used for MLST calling.
The input is a FASTA file of reference sequences (can be a mix of genes and noncoding sequences) and paired sequencing reads. ARIBA reports which of the reference sequences were found, plus detailed information on the quality of the assemblies and any variants between the sequencing reads and the reference sequences.
Quick Start
Get reference data, for instance from CARD. See getref for a full list.
Prepare reference data for ARIBA:
Run local assemblies and call variants:
Summarise data from several runs:
Please read the ARIBA wiki page for full usage instructions.
Tutorials
The Jupyter notebook tutorial
Installation
If you encounter an issue when installing ARIBA please contact your local system administrator. If you encounter a bug you can log it here.
Required dependencies
ARIBA also depends on several Python packages, all of which are available via pip. Installing ARIBA with pip3 will get these automatically if they are not already installed:
Using pip3
Install ARIBA using pip:
From Source
Download the latest release from this github repository or clone it. Run the tests:
Note for OS X: The tests require gawk which will need to be installed separately, e.g. via Homebrew.
If the tests all pass, install:
Alternatively, install directly from github using:
Docker
ARIBA can be run in a Docker container. First install Docker, then install the latest version of ARIBA:
All Docker images are listed in the packages page.
To use ARIBA use a command like this (substituting in your directories), where your files are assumed to be stored in /home/ubuntu/data:
When calling Ariba via Docker (as above) you’ll also need to add /data/ in front of all the passed in file or directory names (e.g. /data/my_output_folder).
Singularity
ARIBA can be run in a Singularity container. First install Singularity. Releases include a Singularity image to download.
Alternatively, build your own Singularity image:
Debian (Ariba version may not be the latest)
ARIBA is available in the latest version of Debian, and over time will progressively filter through to Ubuntu and other distributions which use Debian. To install it as root:
Ubuntu
You can use
apt-get(see above), or to ensure you get the latest version of ARIBA, the following commands can be used to install ARIBA and its dependencies. This was tested on a new instance of Ubuntu 16.04.Dependencies and environment variables
By default, ARIBA will look for the dependencies in your
$PATH, using the names in the table below. This behaviour can be overridden and point ARIBA to a specific program using environment variables. The environment variable is checked first and is used if it is set. Otherwise ARIBA looks in your$PATHfor the default name. This applies to the following dependencies.bowtie2$ARIBA_BOWTIE2cd-hit-est$ARIBA_CDHITFor example, you could specify an exact version of a bowtie2 executable that you compiled and downloaded in your home directory (assuming BASH):
Note that ARIBA also runs
bowtie2-build, for which it uses thebowtie2executable with-buildappended. So in this case it would try to useTemporary files
ARIBA can temporarily make a large number of files whilst running, which are put in a temporary directory made by ARIBA. The total size of these files is small, but there can be a many of them. This can be a problem when running large numbers (100s or 1000s) of jobs simultaneously on the same file system. The parent directory of the temporary directory is determined in the following order of precedence:
--tmp_dir(if that option was used)$ARIBA_TMPDIR(if it is set)$TMPDIR(if it is set)Each temporary directory is unique to one run of ARIBA, and is automatically deleted at the end of the run (even if ARIBA was killed by the user or crashed). For example,
will result in the creation of a new directory inside
/tmp, which will have a name of the formwhere the suffix
abcdefis a random string of characters, chosen such that/tmp/ariba.tmp.abcdefdoes not already exist.The exception to the above is if the option
--nocleanis used. This forces the temporary directory to be placed in the output directory, and temporary files are kept. It is intended for debugging.Usage
Please read the ARIBA wiki page for full usage instructions.
License
ARIBA is free software, licensed under GPLv3.
Feedback/Issues
We currently do not have the resources to provide support for Ariba. However, the community might be able to help you out if you report any issues about usage of the software to the issues page.
Citation
If you use this software please cite:
ARIBA: rapid antimicrobial resistance genotyping directly from sequencing reads Hunt M, Mather AE, Sánchez-Busó L, Page AJ, Parkhill J , Keane JA, Harris SR. Microbial Genomics 2017. doi: 110.1099/mgen.0.000131