staramr
staramr
(AMR) scans bacterial genome contigs against the ResFinder, PointFinder, and PlasmidFinder databases (used by the ResFinder webservice and other webservices offered by the Center for Genomic Epidemiology) and compiles a summary report of detected antimicrobial resistance genes. The `star|in
staramr` indicates that it can handle all of the ResFinder, PointFinder, and PlasmidFinder databases.
Note: The predicted phenotypes/drug resistances are for microbiological resistance and not clinical resistance. This is provided with support from the NARMS/CIPARS Molecular Working Group and is continually being improved. A small comparison between phenotype/drug resistance predictions produced by staramr
and those available from NCBI can be found in the tutorial. We welcome any feedback or suggestions.
For example:
staramr search -o out --pointfinder-organism salmonella *.fasta
out/summary.tsv:
Isolate ID | Quality Module | Genotype | Predicted Phenotype | CGE Predicted Phenotype | Plasmid | Scheme | Sequence Type | Genome Length | N50 value | Number of Contigs Greater Than Or Equal To 300 bp | Quality Module Feedback |
---|---|---|---|---|---|---|---|---|---|---|---|
SRR1952908 | Passed | aadA1, aadA2, blaTEM-57, cmlA1, gyrA (S83Y), sul3, tet(A) | streptomycin, ampicillin, chloramphenicol, ciprofloxacin I/R, nalidixic acid, sulfisoxazole, tetracycline | Spectinomycin, Streptomycin, Amoxicillin, Ampicillin, Cephalothin, Piperacillin, Ticarcillin, Chloramphenicol, Nalidixic acid, Ciprofloxacin, Sulfamethoxazole, Doxycycline, Tetracycline | ColpVC, IncFIB(S), IncFII(S), IncI1-I(Alpha) | senterica_achtman_2 | 11 | 4785500 | 250423 | 41 | |
SRR1952926 | Passed | blaTEM-57, gyrA (S83Y), tet(A) | ampicillin, ciprofloxacin I/R, nalidixic acid, tetracycline | Amoxicillin, Ampicillin, Cephalothin, Piperacillin, Ticarcillin, Nalidixic acid, Ciprofloxacin, Doxycycline, Tetracycline | ColpVC, IncFIB(S), IncFII(S), IncI1-I(Alpha) | senterica_achtman_2 | 11 | 4785451 | 228311 | 40 |
out/detailed_summary.tsv:
Isolate ID | Data | Data Type | Predicted Phenotype | CGE Predicted Phenotype | %Identity | %Overlap | HSP Length/Total Length | Contig | Start | End | Accession |
---|---|---|---|---|---|---|---|---|---|---|---|
SRR1952908 | ST11 (senterica_achtman_2) | MLST | |||||||||
SRR1952908 | ColpVC | Plasmid | 98.96 | 100.0 | 193/193 | contig00038 | 1618 | 1426 | JX133088 | ||
SRR1952908 | aadA1 | Resistance | streptomycin | Spectinomycin, Streptomycin | 100.0 | 100.0 | 792/792 | contig00030 | 5355 | 4564 | JQ414041 |
out/resfinder.tsv:
Isolate ID | Gene | Predicted Phenotype | CGE Predicted Phenotype | %Identity | %Overlap | HSP Length/Total Length | Contig | Start | End | Accession | Sequence | CGE Notes |
---|---|---|---|---|---|---|---|---|---|---|---|---|
SRR1952908 | sul3 | sulfisoxazole | Sulfamethoxazole | 100.00 | 100.00 | 792/792 | contig00030 | 2091 | 2882 | AJ459418 | ATGA[...] | |
SRR1952908 | tet(A) | tetracycline | Doxycycline, Tetracycline | 99.92 | 97.80 | 1247/1275 | contig00032 | 1476 | 2722 | AF534183 | ATGT[...] |
out/pointfinder.tsv:
Isolate ID | Gene | Predicted Phenotype | CGE Predicted Phenotype | Type | Position | Mutation | %Identity | %Overlap | HSP Length/Total Length | Contig | Start | End | Pointfinder Position | CGE Notes | CGE Required Mutation | CGE Mechanism | CGE PMID |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SRR1952908 | gyrA (S83Y) | ciprofloxacin I/R, nalidixic acid | Nalidixic acid,Ciprofloxacin | codon | 83 | TCC -> TAC (S -> Y) | 99.96 | 100.00 | 2637/2637 | contig00008 | 22801 | 20165 | S83Y | Target modification | 7492118,10471553 | ||
SRR1952926 | gyrA (S83Y) | ciprofloxacin I/R, nalidixic acid | Nalidixic acid,Ciprofloxacin | codon | 83 | TCC -> TAC (S -> Y) | 99.96 | 100.00 | 2637/2637 | contig00011 | 157768 | 160404 | S83Y | Target modification | 7492118,10471553 |
out/plasmidfinder.tsv:
Isolate ID | Plasmid | %Identity | %Overlap | HSP Length/Total Length | Contig | Start | End | Accession |
---|---|---|---|---|---|---|---|---|
SRR1952908 | ColpVC | 98.96 | 100 | 193/193 | contig00038 | 1618 | 1426 | JX133088 |
SRR1952908 | IncFIB(S) | 98.91 | 100 | 643/643 | contig00024 | 10302 | 9660 | FN432031 |
out/mlst.tsv:
Isolate ID | Scheme | Sequence Type | Locus 1 | Locus 2 | Locus 3 | Locus 4 | Locus 5 | Locus 6 | Locus 7 |
---|---|---|---|---|---|---|---|---|---|
SRR1952908 | senterica_achtman_2 | 11 | aroC(5) | dnaN(2) | hemD(3) | hisD(7) | purE(6) | sucA(6) | thrA(11) |
SRR1952926 | senterica_achtman_2 | 11 | aroC(5) | dnaN(2) | hemD(3) | hisD(7) | purE(6) | sucA(6) | thrA(11) |
To search a list of contigs (in fasta format) for AMR genes using ResFinder please run:
staramr search -o out *.fasta
Output files will be located in the directory out/
.
To include acquired point-mutation resistances using PointFinder, please run:
staramr search --pointfinder-organism salmonella -o out *.fasta
Where --pointfinder-organism
is the specific organism you are interested in (currently only salmonella, campylobacter, enterococcus faecalis and enterococcus faecium are supported).
To specify which PlasmidFinder database to use, please run:
staramr search --plasmidfinder-database-type enterobacteriaceae -o out *.fasta
Where --plasmidfinder-database-type
is the specific database type you are interested in (currently only gram_positive, enterobacteriaceae are supported). By default, both databases are used.
To specify which MLST scheme to use, please run:
staramr search -o out --mlst-scheme senterica *.fasta
Where --mlst-scheme
is the specific organism you are interested in (please visit the scheme genus map to see which are available). By default, it detects the scheme automatically.
To print information about the installed databases, please run:
staramr db info
If you wish to update to the latest ResFinder, PointFinder, and PlasmidFinder databases, you may run:
staramr db update --update-default
If you wish to switch to specific git commits of either ResFinder, PointFinder, or PlasmidFinder databases you may also pass --resfinder-commit [COMMIT]
, --pointfinder-commit [COMMIT]
, and --plasmidfinder-commit [COMMIT]
.
If you have updated the ResFinder/PointFinder/PlasmidFinder databases and wish to restore to the default version, you may run:
staramr db restore-default
The easiest way to install staramr
is through Bioconda (we recommend using mamba as an alternative to conda
).
conda install mamba # Install mamba to make it easier to install later dependencies
mamba create -c conda-forge -c bioconda -c defaults --name staramr staramr
This will install the staramr
software at the most recent version within the conda environment named staramr
. Bioconda will install all necessary dependencies and databases. Once this is complete you can run:
conda activate staramr # Activate conda environment
staramr --help
If, instead, you wish to install staramr
to the current conda environment you can run:
mamba install -c conda-forge -c bioconda -c defaults staramr
You should now be able to run staramr --help
and recieve a usage statement.
You can also install staramr
from PyPI using pip
:
pip install staramr
However, you will have to install the external dependencies (listed below) separately.
If you wish to make use of the latest in-development version of staramr
, you may update directly from GitHub using pip
:
pip install git+https://github.com/phac-nml/staramr
This will only install the Python code, you will still have to install the dependencies listed below (or run the pip
command from the previously installed Bioconda environment).
Alternatively, if you wish to do development with staramr
you can use a Python virtual environment (you must still install the non-Python dependencies separately).
# Clone code
git clone https://github.com/phac-nml/staramr.git
cd staramr
# Setup virtual environment
virtualenv -p /path/to/python-bin .venv
source .venv/bin/activate
# Install staramr. Use '-e' to update the install on code changes.
pip install -e .
# Now run `staramr`
staramr
Due to the way we packaged the ResFinder/PointFinder/PlasmidFinder databases, the development code will not come with a default database. You must first build the database before usage. E.g.
staramr db restore-default
By default, the ResFinder/PointFinder/PlasmidFinder genes listed in genes_to_exclude.tsv will be excluded from the final results. To pass a custom list of genes the option --exclude-genes-file
can be used, where the file specified will contains a list of the sequence ids (one per line) from the ResFinder/PointFinder/PlasmidFinder databases. For example:
gene_id
aac(6')-Iaa_1_NC_003197
ColpVC_1__JX133088
Please make sure to include gene_id
in the first line. The default exclusion list can also be disabled with --no-exclude-genes
.
Complex mutations describe multiple point mutations that must be simultaneously present in order to confer resistance. One such example is the multiple pbp5 mutations that must be present in Enterococcus faecium in order to confer ampicillin resistance. These complex mutations may be specified by the user using a TSV-formatted file with the following format:
positions | mandatory | phenotype |
---|---|---|
gene (mutation1), gene (mutation2) | gene (mutation1) | phenotype |
Where positions
is all the point mutations to group into the complex mutation (optional and mandatory), mandatory
is all the point mutations that must be present for the complex mutation to be reported (mandatory
is a subset of positions
), and phenotype
is the phenotype that is conferred when this set of mutations is present. To see a specific example of this, please look at the default complex_mutations.tsv
file included with StarAMR. The mutation will be reported in the pointfinder.tsv
file similar to as follows:
Isolate ID | Gene | Predicted Phenotype | CGE Predicted Phenotype | Type | Position | Mutation | %Identity | %Overlap | HSP Length/Total Length | Contig | Start | End | Pointfinder Position | CGE Notes | CGE Required Mutation | CGE Mechanism | CGE PMID |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
pbp5 | pbp5 (A216S), pbp5 (A499T), pbp5 (A68T), pbp5 (D204G), pbp5 (E100Q), pbp5 (E525D), pbp5 (E629V), pbp5 (E85D), pbp5 (G66E), pbp5 (K144Q), pbp5 (L177I), pbp5 (M485A), pbp5 (N496K), pbp5 (P667S), pbp5 (R34Q), pbp5 (S27G), pbp5 (T172A), pbp5 (T324A), pbp5 (V24A), pbp5 (V586L) | ampicillin | - | complex | 524, 527, 534, 566, 568, 585, 5100, 5144, 5172, 5177, 5204, 5216, 5324, 5485, 5496, 5499, 5525, 5586, 5629, 5667 | complex | 98.28 | 100.00 | 2037/2037 | pbp5_1_AAK43724.1 | 1 | 2037 | pbp5 (A216S), pbp5 (A499T), pbp5 (A68T), pbp5 (D204G), pbp5 (E100Q), pbp5 (E525D), pbp5 (E629V), pbp5 (E85D), pbp5 (G66E), pbp5 (K144Q), pbp5 (L177I), pbp5 (M485A), pbp5 (N496K), pbp5 (P667S), pbp5 (R34Q), pbp5 (S27G), pbp5 (T172A), pbp5 (T324A), pbp5 (V24A), pbp5 (V586L) | - | - | - | - |
The complex mutation TSV file may be specifed on the command line when running Pointfinder:
staramr search --pointfinder-organism enterococcus_faecium -o out pbp5.fa --complex-mutations-file complex_mutations.tsv
There are 8 different output files produced by staramr
:
summary.tsv
: A summary of all detected AMR genes/mutations/plasmids/sequence type in each genome, one genome per line. A series of descriptive statistics is also provided for each genome as well as feedback for whether or not the genome passes several quality metrics and if not, feedback on why the genome fails.detailed_summary.tsv
: A detailed summary of all detected AMR genes/mutations/plasmids/sequence type in each genome, one gene per line.resfinder.tsv
: A tabular file of each AMR gene and additional BLAST information from the ResFinder database, one gene per line.pointfinder.tsv
: A tabular file of each AMR point mutation and additional BLAST information from the PointFinder database, one gene per line.plasmidfinder.tsv
: A tabular file of each AMR plasmid type and additional BLAST information from the PlasmidFinder database, one plasmid type per line.mlst.tsv
: A tabular file of each multi-locus sequence type (MLST) and it's corresponding locus/alleles, one genome per line.settings.txt
: The command-line, database versions, and other settings used to run staramr
.results.xlsx
: An Excel spreadsheet containing the previous 6 files as separate worksheets.In addition, the directory hits/
stores fasta files of the specific blast hits.
The summary.tsv output file generated by staramr
contains the following columns:
staramr
.Isolate ID | Quality Module | Genotype | Predicted Phenotype | CGE Predicted Phenotype | Plasmid | Scheme | Sequence Type | Genome Length | N50 value | Number of Contigs Greater Than Or Equal To 300 bp | Quality Module Feedback |
---|---|---|---|---|---|---|---|---|---|---|---|
SRR1952908 | Passed | aadA1, aadA2, blaTEM-57, cmlA1, gyrA (S83Y), sul3, tet(A) | streptomycin, ampicillin, chloramphenicol, ciprofloxacin I/R, nalidixic acid, sulfisoxazole, tetracycline | Spectinomycin, Streptomycin, Amoxicillin, Ampicillin, Cephalothin, Piperacillin, Ticarcillin, Chloramphenicol, Nalidixic acid, Ciprofloxacin, Sulfamethoxazole, Doxycycline, Tetracycline | ColpVC, IncFIB(S), IncFII(S), IncI1-I(Alpha) | senterica_achtman_2 | 11 | 4785500 | 250423 | 41 | |
SRR1952926 | Passed | blaTEM-57, gyrA (S83Y), tet(A) | ampicillin, ciprofloxacin I/R, nalidixic acid, tetracycline | Amoxicillin, Ampicillin, Cephalothin, Piperacillin, Ticarcillin, Nalidixic acid, Ciprofloxacin, Doxycycline, Tetracycline | ColpVC, IncFIB(S), IncFII(S), IncI1-I(Alpha) | senterica_achtman_2 | 11 | 4785451 | 228311 | 40 |
The detailed_summary.tsv output file generated by staramr
contains the following columns:
staramr
.Isolate ID | Data | Data Type | Predicted Phenotype | CGE Predicted Phenotype | %Identity | %Overlap | HSP Length/Total Length | Contig | Start | End | Accession |
---|---|---|---|---|---|---|---|---|---|---|---|
SRR1952908 | ST11 (senterica_achtman_2) | MLST | |||||||||
SRR1952908 | ColpVC | Plasmid | 98.96 | 100.0 | 193/193 | contig00038 | 1618 | 1426 | JX133088 | ||
SRR1952908 | aadA1 | Resistance | streptomycin | Spectinomycin, Streptomycin | 100.0 | 100.0 | 792/792 | contig00030 | 5355 | 4564 | JQ414041 |
The resfinder.tsv output file generated by staramr
contains the following columns:
staramr
.Isolate ID | Gene | Predicted Phenotype | CGE Predicted Phenotype | %Identity | %Overlap | HSP Length/Total Length | Contig | Start | End | Accession | Sequence | CGE Notes |
---|---|---|---|---|---|---|---|---|---|---|---|---|
SRR1952908 | sul3 | sulfisoxazole | Sulfamethoxazole | 100.00 | 100.00 | 792/792 | contig00030 | 2091 | 2882 | AJ459418 | ATGA[...] | |
SRR1952908 | tet(A) | tetracycline | Doxycycline, Tetracycline | 99.92 | 97.80 | 1247/1275 | contig00032 | 1476 | 2722 | AF534183 | ATGT[...] |
The pointfinder.tsv output file generated by staramr
contains the following columns:
staramr
.Isolate ID | Gene | Predicted Phenotype | CGE Predicted Phenotype | Type | Position | Mutation | %Identity | %Overlap | HSP Length/Total Length | Contig | Start | End | Pointfinder Position | CGE Notes | CGE Required Mutation | CGE Mechanism | CGE PMID |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SRR1952908 | gyrA (S83Y) | ciprofloxacin I/R, nalidixic acid | Nalidixic acid,Ciprofloxacin | codon | 83 | TCC -> TAC (S -> Y) | 99.96 | 100.00 | 2637/2637 | contig00008 | 22801 | 20165 | S83Y | Target modification | 7492118,10471553 | ||
SRR1952926 | gyrA (S83Y) | ciprofloxacin I/R, nalidixic acid | Nalidixic acid,Ciprofloxacin | codon | 83 | TCC -> TAC (S -> Y) | 99.96 | 100.00 | 2637/2637 | contig00011 | 157768 | 160404 | S83Y | Target modification | 7492118,10471553 |
The plasmidfinder.tsv output file generated by staramr
contains the following columns:
staramr
.Isolate ID | Plasmid | %Identity | %Overlap | HSP Length/Total Length | Contig | Start | End | Accession |
---|---|---|---|---|---|---|---|---|
SRR1952908 | ColpVC | 98.96 | 100 | 193/193 | contig00038 | 1618 | 1426 | JX133088 |
SRR1952908 | IncFIB(S) | 98.91 | 100 | 643/643 | contig00024 | 10302 | 9660 | FN432031 |
The mlst.tsv output file generated by staramr
contains the following columns:
staramr
.MLST
has identified.Isolate ID | Scheme | Sequence Type | Locus 1 | Locus 2 | Locus 3 | Locus 4 | Locus 5 | Locus 6 | Locus 7 |
---|---|---|---|---|---|---|---|---|---|
SRR1952908 | senterica_achtman_2 | 11 | aroC(5) | dnaN(2) | hemD(3) | hisD(7) | purE(6) | sucA(6) | thrA(11) |
SRR1952926 | senterica_achtman_2 | 11 | aroC(5) | dnaN(2) | hemD(3) | hisD(7) | purE(6) | sucA(6) | thrA(11) |
The settings.txt file contains the particular settings used to run staramr
.
staramr
.staramr
.staramr
.MLST
.staramr
.The hits/ directory contains the BLAST HSP nucleotides for the entries listed in the resfinder.tsv and pointfinder.tsv files. There are up to two files per input genome, one for ResFinder and one for PointFinder.
For example, with an input genome named SRR1952908.fasta there would be two files hits/resfinder_SRR1952908.fasta
and hits/pointfinder_SRR1952908.fasta
. These files contain mostly the same information as in the resfinder.tsv, pointfinder.tsv, and plasmidfinder.tsv files. Additional information is the database_gene_start and database_gene_end listing the start/end of the BLAST HSP on the AMR resistance gene from the ResFinder/PointFinder/PlasmidFinder databases.
>aadA1_3_JQ414041 isolate: SRR1952908, contig: contig00030, contig_start: 5355, contig_end: 4564, database_gene_start: 1, database_gene_end: 792, hsp/length: 792/792, pid: 100.00%, plength: 100.00%
ATGAGGGAAGCGGTGATCGCCGAAGTATCGACTCAACTATCAGAGGTAGTTGGCGTCATC
GAGCGCCATCTCGAACCGACGTTGCTGGCCGTACATTTGTACGGCTCCGCAGTGGATGGC
...
A tutorial guiding you though the usage of staramr
, interpreting the results, and comparing with antimicrobial resistances available on NCBI can be found at staramr tutorial.
Main staramr
command. Can be used to set global options (primarily --verbose
).
Searches input FASTA files for AMR genes.
Downloads and builds the ResFinder, PointFinder, and PlasmidFinder databases.
Updates an existing download of the ResFinder, PointFinder, and PlasmidFinder databases.
Prints information about an existing build of the ResFinder/PointFinder/PlasmidFinder databases.
Restores the default database for staramr
.
This software is still a work-in-progress. In particular, not all organisms stored in the PointFinder database are supported (only salmonella, campylobacter are currently supported). Additionally, the predicted phenotypes are for microbiological resistance and not clinical resistance. Phenotype/drug resistance predictions are an experimental feature which is continually being improved.
staramr
only works on assembled genomes and not directly on reads. A quick genome assembler you could use is Shovill. Or, you may also wish to try out the ResFinder webservice, or the command-line tools rgi or ariba which will work on sequence reads as well as genome assemblies. You may also wish to check out the CARD webservice.
Some ideas for the software were derived from the ResFinder, PointFinder, and PlasmidFinder command-line software, as well as from ABRicate and from SISTR (Salmonella In Silico Typing Resource) command-line tool .
Phenotype/drug resistance predictions are provided with support from the NARMS/CIPARS Molecular Working Group.
The Multi-locus sequence typing program is from the MLST Github.
If you find staramr
useful, please cite the following paper:
Bharat A, Petkau A, Avery BP, Chen JC, Folster JP, Carson CA, Kearney A, Nadon C, Mabon P, Thiessen J, Alexander DC, Allen V, El Bailey S, Bekal S, German GJ, Haldane D, Hoang L, Chui L, Minion J, Zahariadis G, Domselaar GV, Reid-Smith RJ, Mulvey MR. Correlation between Phenotypic and In Silico Detection of Antimicrobial Resistance in Salmonella enterica in Canada Using Staramr. Microorganisms. 2022; 10(2):292. https://doi.org/10.3390/microorganisms10020292
You may also consider citing the following (databases or other resources used by staramr
):
Zankari E, Hasman H, Cosentino S, Vestergaard M, Rasmussen S, Lund O, Aarestrup FM, Larsen MV. 2012. Identification of acquired antimicrobial resistance genes. J. Antimicrob. Chemother. 67:2640–2644. doi: 10.1093/jac/dks261
Zankari E, Allesøe R, Joensen KG, Cavaco LM, Lund O, Aarestrup F. PointFinder: a novel web tool for WGS-based detection of antimicrobial resistance associated with chromosomal point mutations in bacterial pathogens. J Antimicrob Chemother. 2017; 72(10): 2764–8. doi: 10.1093/jac/dkx217
Carattoli A, Zankari E, Garcia-Fernandez A, Voldby Larsen M, Lund O, Villa L, Aarestrup FM, Hasman H. PlasmidFinder and pMLST: in silico detection and typing of plasmids. Antimicrob. Agents Chemother. 2014. April 28th. doi: 10.1128/AAC.02412-14
Seemann T, MLST Github https://github.com/tseemann/mlst
Jolley KA, Bray JE and Maiden MCJ. Open-access bacterial population genomics: BIGSdb software, the PubMLST.org website and their applications [version 1; peer review: 2 approved]. Wellcome Open Res 2018, 3:124. doi: 10.12688/wellcomeopenres.14826.1
Copyright 2018 Government of Canada
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License at:
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.