Awesome
StxTyper
StxTyper is used to determine stx type from nucleotide sequence. Stx (Shiga-toxin) genes are found in some strains of Escherichia coli and code for powerful toxins that can cause severe illness. StxTyper is software to classify these genes from assembled sequence using a standard algorithm.
WARNING: This is currently beta software and changes and new releases may come quickly. Please report any issues or comments to pd-help@ncbi.nlm.nih.gov or open an issue on GitHub.
Installation
Note StxTyper is included with AMRFinderPlus as of version 4.0 and is run by AMRFinderPlus when the --organism Escherichia option is used
. If you have installed AMRFinderPlus you don't need to separately install StxTyper.
Installing with Bioconda
You'll need Mamba (Installation instructions) first.
micromamba create -n stxtyper ncbi-stxtyper \
--channel conda-forge \
--channel bioconda \
--channel defaults \
--strict-channel-priority
Installing from binary
Prerequisites
NCBI BLAST+
See below under "Compiling" for instructions to install NCBI BLAST+.
Download and install Binary
Download the latest binary tarball from https://github.com/ncbi/stxtyper/releases. Untar it and run the tests e.g.:
tar xvfz stxtyper_v*.tar.gz
cd stxtyper_v*/
./test_stxtyper.sh
Note that we are currently only publishing binary tarballs for x86 linux.
Compiling
Prerequisites
NCBI BLAST+
StxTyper needs NCBI BLAST binaries in your path (specifically tblastn). If you don't already have BLAST installed see https://www.ncbi.nlm.nih.gov/books/NBK569861/ for the official instructions to install BLAST binaries. It's also available in many package repositories, for example on Ubuntu:
sudo apt-get install ncbi-blast+
C compiler and make
These are necessary if compiling from source. If using the binary distribution, or Bioconda you won't need to worry about these. They generally come standard for unix systems, if not the user will need to intall make and GCC. MacOS users will need to go to the App store and install Xcode.
Compiling
StxTyper should compile cleanly for Mac and Linux x86 and ARM, though our official policy is we only support x86 Linux.
git clone https://github.com/evolarjun/stxtyper.git
cd stxtyper
make
make test
Docker
StxTyper is included with several Docker images including the ncbi/amr docker image.
Usage
stxtyper -n <assembled_nucleotide.fa> [<options>]
Example
stxtyper -n nucleotide.fa
Parameters
-
-nucleotide <nucleotide_fasta>
or-n <nucleotide_fasta>
Assembled nucleotide sequence to search in FASTA format. -
--name <assembly_identifier>
Add an identifier as the first column in each row of the report. This is useful when combining results for many assemblies. -
--output <output_file>
or-o <output_file>
Write the output to <output_file> instead of STDOUT -
--nucleotide_output <output_fasta>
Output the nucleotide sequence for any identified stx operons (includes partial and full length operons) -
--blast_bin <path>
Directory to search for tblastn binary. Overrides environment variable$BLAST_BIN
and the default PATH. -
-q
or--quiet
Suppress the status messages normally written to STDERR. -
--log <log_file>
Error log file, appended and opened when you first run the application. This is used for debugging. -
--debug
Run in debug mode. Additional messages are printed and files in $TMPDIR are not removed after running.
For AMRFinderPlus
These options are not expected to be used outside of the AMRFinderPlus pipeline.
-
--amrfinder
Output in AMRFinderPlus format -
--print_node
Add column for Hierarchy node optionally reported by AMRFinderPlus.
Output
The output of StxTyper is a tab-delimited file with the following fields, all percent identity and coverage metrics are measured in proportion of amino-acids.
- target_contig: The contig identifier from the input FASTA file
- stx_type: The stx type called by the algorithm, for "operon = COMPLETE" it will be stx plus two characters (e.g., stx1a), for other values of operon stx_type will be stx1, stx2, or just stx if it can't resolve at all.
- operon: What status the operon was found to be. It can be
- COMPLETE for complete and fully typeable known stx types
- PARTIAL for partial operons that are internal to contigs and not terminating at contig boundaries
- PARTIAL_CONTIG_END for partial operons that could be split by contig boundaries due to sequencing or assembly artifacts
- EXTENDED The coding sequence extends beyond the reference stop codon for one or both of the reference proteins
- INTERNAL_STOP for Stx operons where one of the subunits has a nonsense mutation
- FRAMESHIFT where StxTyper detected an indel in the coding sequence that would cause a frame shift in one or more of the subunits
- AMBIGUOUS StxTyper found an ambiguous base in the query sequence (e.g., N), this could be the result sequencing or assembly error so the user might want to take a closer look at the sequence.
- COMPLETE_NOVEL a full-length stx operon that is not typeable using the current scheme
- identity The combined percent identity for both A and B subunits
- target_start The detected start of the alignments
- target_stop The detected end of the alignments
- target_strand What strand the target is on
- A_reference The closest reference protein for the A subunit, empty if none aligned
- A_identity The percent identity to the reference for the A subunit, empty if none aligned
- A_reference_subtype The subtype assigned to the reference sequence for the A subunit. Note this may be different from the subtype for the operon as a whole.
- A_coverage The percentage of the reference for the A subunit that is covered by the alignment, empty if none aligned
- B_reference The closest reference protein for the B subunit, empty if none aligned
- B_reference_subtype The subtype assigned to the reference sequence for the B subunit. Note this may be different from the subtype for the operon as a whole.
- B_identity The percent identity to the reference for the B subunit, empty if none aligned
- B_coverage The percentage of the reference for the B subunit that is covered by the alignment, empty if none aligned