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 [email protected] or open an issue on GitHub.
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.
You'll need Mamba (Installation instructions) first.
micromamba create -n stxtyper ncbi-stxtyper \
--channel conda-forge \
--channel bioconda \
--channel defaults \
--strict-channel-priority
See below under "Compiling" for instructions to install NCBI BLAST+.
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.
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+
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.
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
StxTyper is included with several Docker images including the ncbi/amr docker image.
stxtyper -n <assembled_nucleotide.fa> [<options>]
stxtyper -n nucleotide.fa
-
-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.
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.
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