Crates.io | ska |
lib.rs | ska |
version | 0.3.11 |
source | src |
created_at | 2023-02-07 11:54:54.95309 |
updated_at | 2024-09-25 15:55:07.594782 |
description | Split k-mer analysis |
homepage | https://bacpop.org/software/ |
repository | https://github.com/bacpop/ska.rust/ |
max_upload_size | |
id | 778690 |
size | 350,993 |
This is a reimplementation of the SKA package in the rust language, by Johanna von Wachsmann, Simon Harris and John Lees. We are also grateful to have received user contributions from:
Split k-mer analysis (version 2) uses exact matching of split k-mer sequences to align closely related sequences, typically small haploid genomes such as bacteria and viruses.
SKA can only align SNPs further than the k-mer length apart, and does not use a gap penalty approach or give alignment scores. But the advantages are speed and flexibility, particularly the ability to run on a reference-free manner (i.e. including accessory genome variation) on both assemblies and reads.
Romain Derelle, Johanna von Wachsmann, Tommi Mäklin, Joel Hellewell, Timothy Russell, Ajit Lalvani, Leonid Chindelevitch, Nicholas J. Croucher, Simon R. Harris, John A. Lees (2024). Seamless, rapid and accurate analyses of outbreak genomic data using Split k-mer Analysis Genome Research
Can be found at https://docs.rs/ska. We also have some tutorials available:
Choose from:
cargo install ska
or cargo add ska
.conda install -c bioconda ska2
(note the two!).For 2) or 4) you must have the rust toolchain installed.
If you have an M1/M2 (arm64) Mac, we aren't currently automatically building binaries, so would recommend either option 2) or 4) for best performance.
If you get a message saying the binary isn't signed by Apple and can't be run, use the following command to bypass this:
xattr -d "com.apple.quarantine" ./ska
git clone
.cargo install --path .
or RUSTFLAGS="-C target-cpu=native" cargo install --path .
to optimise for your machine.Optimisations include:
And other improvements:
-o
.ska fasta
, ska fastq
, ska alleles
and ska merge
into the new ska build
.ska align
or ska map
.ska cov
.All of which make ska.rust
run faster and with smaller file size and memory
footprint than the original.
ska map
). Issue #5.ska annotate
(use bedtools).ska compare
, ska humanise
, ska info
or ska summary
(replaced by ska nk --full-info
).ska unique
(you can parse ska nk --full-info
if you want this functionality, but we didn't think it's used much).ska type
(use PopPUNK instead of MLST 🙂).skf
files are not backwards compatible with version 1.