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.
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. -
--amrfinder
Print the output in the fields that match AMRFinderPlus output. See below for details. -
--print_node
In the--amrfinder
output format add the "Hierarchy node" as the last column. See the field description in the AMRFinderPlus documentation for details. -
--nucleotide_output <fasta_output_filename>
Print the nucleotide sequence of the identified operons to this file in FASTA format. Takes the sequence from Target start to Target stop and reverse-complements it if necessary to put it in the coding frame. -
-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
This format of output matches the field names for AMRFinderPlus and is used when StxTyper is run as part of the AMRFinderPlus analysis pipeline. Note that AMRFinderPlus will include gene-based identification of Stx genes in separate rows. StxTyper will only output type calls for the operon as a whole.
- Protein id Always NA for StxTyper which runs using translated blast alignments against the nucleotide sequence.
- Contig id The FASTA identifier for the contig where the operon was found.
- Start The 1-based coordinate of the first base of the identified operon or partial operon.
- Stop The coordinate of the last base of the identified operon or partial operon.
- Strand '+' or '-' to indicate if the coding sequence of the genes is on the forward or reverse strand.
- Element symbol The operon symbol, corresponds to the "stx type" in the default output. For example 'stx2a_operon' or 'stx1_operon'
- Element name A description of the identified operon, including the subtype or whether it was a partial or frameshift operon.
- Scope Always 'plus' for StxTyper output corresponding to the Scope used for virulence genes by AMRFinderPlus.
- Type Always 'VIRULENCE' for StxTyper output.
- Subtype Always 'STX_TYPE' for StxTyper output.
- Class Either STX1 or STX2 corresponding to the type of the stx operon.
- Subclass The more detailed subtype of the operon if typeable.
- Method Corresponds to the operon field in standard output. See above for details.
- Target length Calculated as Stop - Start or the length of the operon hit in nucleotide sequence.
- Referemce sequence length Always empty for StxTyper output.
- % Coverage of reference Always empty for StxTyper output.
- % Identity to reference The amino-acid percent identity to the reference genes, does not include the intergenic spacer.
- Alignment length The total amino-acid length of the subunit alignments.
- Closest reference accession The closest reference accessions, two values separated by a ', ' if both subunits aligned.
- Closest reference name The name of the closest reference operon.
- HMM accession Always NA for StxTyper output since HMMs are not used in operon typing.
- HMM description Always NA for StxTyper output
- Hierarchy node [Optional] When the
--print_node
option is used this is the nodes in the Reference Gene Hierarchy for each of the subunits separated by '::' if there are more than one (e.g., stxB2a::stxA2c). Note that for some Stx operon types the A and B subunits may have different types in the hierarchy becuase some subunits can appear in multiple stx types.