XspecT utilizes the uniqueness of kmers and compares extracted kmers from the input-data to a reference database. Bloom Filter ensure a fast lookup in this process. For a final prediction the results are classified using a Support Vector Machine.
Local extensions of the reference database are supported.
The tool is available as a web-based application and a smaller command line interface.
To install Xspect, please download the lastest 64 bit Python version and install the package using pip:
pip install xspect
If you would like to train filters yourself, you need to install Jellyfish, which is used to count distinct k-meres in the assemblies. It can be installed using bioconda:
conda install -c bioconda jellyfish
On Apple Silicon, it is possible that this command installs an incorrect Jellyfish package. Please refer to the official Jellyfish project for installation guidance.
To download basic pre-trained filters, you can use the built-in command:
xspect download-filters
Additional species filters can be trained using:
xspect train you-ncbi-genus-name
Run the following command lines in a console, a browser window will open automatically after the application is fully loaded.
xspect web
Run xspect with the configuration you want to run it with as arguments.
xspect classify your-genus path/to/your/input-set
For further instructions on how to use the command line interface, execute:
xspect --help
XspecT is able to use either raw sequence-reads (FASTQ-format .fq/.fastq) or already assembled genomes (FASTA-format .fasta/.fna). Using sequence-reads saves up the assembly process but high-quality reads with a low error-rate are needed (e.g. Illumina-reads).
The amount of reads that will be used has to be set by the user when using sequence-reads. The minimum amount is 5000 reads for species classification and 500 reads for sub-type classification. The maximum number of reads is limited by the browser and is usually around ~8 million reads. Using more reads will lead to a increased runtime (xsec./1mio reads).