bioRxivGenomicsPreprint
SKA: Split Kmer Analysis Toolkit for Bacterial Genomic Epidemiology
In-depth summary
Claude Opus 5.5 · xhigh effort · 17 Oct 2026 · from the full text of version 1 (25 Oct 2018) · CC BY-ND 4.0
Split k-mer matching lets SKA cluster and align related bacterial genomes from raw reads, matching a mapping pipeline's MRSA outbreak tree topology with nearly 17 times less CPU time.
Mapping pipelines carry reference-dependent biases and many software dependencies, core-genome methods discard much of the genome, and plain k-mer distances cannot tell variation from missing sequence, so they resolve poorly within a sequence type. SKA keeps the speed of exact k-mer matching but reads the single base between two matched k-mers, and unlike kSNP3 it works from raw reads without external software.
Key results
ShownOn 55 MRSA outbreak genomes, a reference-free SKA alignment gave a tree topology consistent with those from SNP Pipeline and from a manually curated gold standard; branch lengths differed only by each method's handful of missed or false SNPs.
Against a curated alignment to a complete outbreak genome (GCA_001369415.1), SKA missed eight variant sites (four in repeats longer than the split k-mer, four from two pairs of variants within a k-mer length); SNP Pipeline with the HO 5096 0412 reference missed seven and called five false sites. SNP Pipeline needed nearly 17 times the CPU time, over 70 times the disk space and 7 times the memory. · Reconstructing the outbreak
ShownStarting from raw reads, with no reference genome chosen and no species information, SKA distance clustering recovered the 45-isolate MRSA outbreak on a special care baby unit (SCBU) from 65 sequenced isolates on one CPU.
With defaults (20-SNP cutoff, minimum identity 0.9) the 65 samples formed 16 clusters, four with two or more isolates; the largest held the 45 isolates of the original investigation (pairwise distance 0 to 12 SNPs). The ska fastq, merge, summary and distance steps together took 105.4 CPU minutes with 1.4Gb peak memory. · Pairwise distance calculation and clustering
ShownSplit k-mers unique to the outbreak isolates screened 1,683 clonal complex 22 S. aureus genomes from a regional survey in 116s and singled out the ten isolates that Toleman et al. had linked to the outbreak, while ruling out the nearest other candidate.
ska unique found 1,714 split k-mers found only in the 45 outbreak isolates (20 non-outbreak isolates as outgroup). Scanning 1,683 clonal complex 22 genomes took 116s and 7Mb: ten matched 100% with no SNPs, one matched 34% (34 SNPs), no other above 5%. The ten were within 11 SNPs of an outbreak isolate and typed ST2371; the other was 53 SNPs away and ST22. · Identifying new linked cases
ShownOn four foodborne outbreak benchmark datasets (Timme et al.), reference-free SKA trees resembled the published reference-mapping trees, but fixed 20-SNP clusters split the diverse L. monocytogenes outbreak in two (as its tree also did) and absorbed one S. enterica outgroup.
Sets of 23 C. jejuni, 9 E. coli, 31 L. monocytogenes and 22 S. enterica ser. Bareilly each needed well under two hours of single-core CPU from raw reads, and less than 1.5 minutes in total once split k-mers existed. Clusters matched the expected outbreaks for C. jejuni and E. coli; outgroup CFSAN000189 joined the S. enterica cluster but sat apart on the IQ-Tree tree. · Results; Results; Description
SuggestedOn 96 simulated genomes, IQ-Tree trees from SKA reference-free alignments came close to the artificial gold standard of Lees et al. (RAxML on reads mapped to an artificially close reference); SKA map trees were weaker on this diverse set.
Kendall-Colijn and Robinson-Foulds distances to the true tree sit in Supplementary Table 1, absent from the extracted text, so only rankings are available: reads beat assemblies slightly, and bioNJ on SKA Mash-like distances beat every realistic method of Lees et al. kSNP3 trees were comparable but it needed more time, memory and disk (over 50,000 intermediate files, more than 15Gb). · Results; Description; Analysis of simulated data from Lees et al. ()…
Methods, data and reproducibility
SKA, a dependency-free C++ toolkit, turns reads (after base-quality, coverage and minor-allele-frequency filters) or assemblies into split k-mers, two k-mers flanking one base, and uses exact matching to compute SNP distances, single-linkage clusters, reference-free or reference alignments, annotations and MLST types. It was tested on simulated, foodborne-outbreak and MRSA hospital and regional surveillance data.
- Simulated reads and assemblies from Lees et al., generated on a published Listeria monocytogenes tree with Streptococcus pneumoniae model parameters · simulated bacterial genomes · n = 96 simulated genomes
- Four real foodborne outbreak benchmark datasets with gold-standard trees and epidemiological data (Timme et al.) · C. jejuni, E. coli, L. monocytogenes, S. enterica ser. Bareilly · n = 23, 9, 31 and 22 samples
- MRSA isolates from the Addenbrooke's Hospital SCBU outbreak investigation (Harris et al.) · Staphylococcus aureus · n = 65 samples (45 outbreak)
- Clonal complex 22 isolates from an East of England MRSA genomic survey (Coll et al.), downloaded from the European Nucleotide Archive · Staphylococcus aureus · n = 1,683 samples
- Complete PacBio genome of one SCBU outbreak isolate, used as an unrealistically close reference for the gold-standard alignment · Staphylococcus aureus · GCA_001369415.1
- Methods & tools
- SKA v1.0, kSNP3 v3.1, SNP Pipeline v2.0.2, IQ-Tree v1.6.5, RapidNJ v2.3.2, ape v5.1 (bionj), treespace v1.1.3, dendropy v4.2.0, phangorn v2.4.0, pyjar, Bowtie2 v2.2.3, Microreact
- Reagents & environment
- SKA v1.0 is C++ with no dependencies beyond a UNIX-like command line, GNU make and a C++11-compatible g++. Analysis versions are listed (R v3.5.1, python v2.7.13, IQ-Tree v1.6.5, RapidNJ v2.3.2, kSNP3 v3.1, SNP Pipeline v2.0.2 and its dependencies).
- Assay conditions & compute
- All timings on an AMD Opteron 6272 2.1GHz; SCBU clustering 105.4 CPU minutes and 1.4Gb peak memory on one CPU. Per-step CPU, memory and disk figures are in Supplementary Tables 2 and 3, not in the extracted text.
- Reproducibility gaps
- Source code and documentation are said to be on GitHub, the simulated data on figshare and the trees on Microreact, but the URLs were lost in text extraction. The per-pair statistics table, the CPU-time table and Supplementary Tables 1 to 3 are also missing.
Limitations (6)
- Split k-mers lose power as variant density rises: a second variant within a k-mer length of the middle base breaks the match, so SKA suits closely related genomes, not species-wide population genomics. · stated by the authors
- Repeats as long as the k-mer or longer cannot be analysed, and variants in the first or last k bases of linear sequences (uncircularised contigs, reads) are missed. · stated by the authors
- Needs high-quality input such as Illumina reads or polished assemblies; raw long reads were not accurate enough, and loosening the read filters adds noise. · stated by the authors
- Only single-base middle split k-mers are supported, so indels are not analysed; ska align output has no positions, ruling out SNP-density recombination tools such as Gubbins or ClonalFrameML; ska map works best with a very close reference. · stated by the authors
- Accuracy against a curated truth was measured in one MRSA outbreak (55 samples); the foodborne benchmarks were compared with published trees only qualitatively in the text. · noted in this summary
- Confirmation that the ten survey hits were the outbreak-linked isolates rests on a personal communication, not on data shown in the paper. · noted in this summary
Read this if you run bacterial outbreak or transmission analyses and want reference-free SNP clustering, alignment and outbreak screening from raw Illumina reads on a desktop machine.
- Citations
- 125
Abstract
Genome sequencing is revolutionising infectious disease epidemiology, providing a huge step forward in sensitivity and specificity over more traditional molecular typing techniques. However, the complexity of genome data often means that its analysis and interpretation requires high-performance compute infrastructure and dedicated bioinformatics support. Furthermore, current methods have limitations that can differ between analyses and are often opaque to the user, and their reliance on multiple external dependencies makes reproducibility difficult. Here I introduce SKA, a toolkit for analysis of genome sequence data from closely-related, small, haploid genomes. SKA uses split kmers to rapidly identify variation between genome sequences, making it possible to analyse hundreds of genomes on a standard home computer. Tests on publicly available simulated and real-life data show that SKA is both faster and more efficient than the gold standard methods used today while retaining similar levels of accuracy for epidemiological purposes. SKA can take raw read data or genome assemblies as input and calculate pairwise distances, create single linkage clusters and align genomes to a reference genome or using a reference-free approach. SKA requires few decisions to be made by the user, which, along with its computational efficiency, allows genome analysis to become accessible to those with only basic bioinformatics training. The limitations of SKA are also far more transparent than for current approaches, and future improvements to mitigate these limitations are possible. Overall, SKA is a powerful addition to the armoury of the genomic epidemiologist. SKA source code is available from Github (https://github.com/simonrharris/SKA).
- organism: bacteria (other)
- organism: E. coli
- assay: whole-genome sequencing
- research focus: phylogenetics / evolution
- research focus: clustering
- research focus: variant calling
- research focus: software / tool
- approach: statistical model
Reproducibility ledger
Nobody has reported trying to reproduce this paper yet. Did you replicate an experiment or run the code? Your report saves the next lab a week.
Sign in to file a reproducibility report.
Related papers
- Seamless, rapid and accurate analyses of outbreak genomic data using Split K-mer Analysis (SKA)
Romain Derelle, Johanna von Wachsmann, … John A. Lees·bioRxiv·Mar 25, 2024
- Fast and flexible bacterial genomic epidemiology with PopPUNK
John A. Lees, Simon R. Harris, … Nicholas J. Croucher·Genome ResearchPeer-reviewed·Feb 1, 2019
- KPop: Accurate and scalable comparative analysis of microbial genomes by sequence embeddings
Xavier Didelot, Paolo Ribeca·Genome biologyPeer-reviewed·Jun 18, 2025
- Reference-free variant calling with local graph construction with ska lo (SKA)
Romain Derelle, Kieran J. Madon, … Leonid Chindelevitch·Molecular Biology and EvolutionPeer-reviewed·Apr 1, 2025
- Assembly-free and alignment-free sample identification using genome skims
S. Sarmashghi, K. Bohmann, … S. Mirarab·Genome BiologyPeer-reviewed·Feb 13, 2019
- Integrated population clustering and genomic epidemiology with PopPIPE
Martin P. McHugh, Samuel Horsfield, … John A. Lees·Microbial GenomicsPeer-reviewed·Apr 28, 2025