← Back to home
Comparison · Analytics

qtl2 vs tglkmeans

A side-by-side editorial comparison of qtl2 and tglkmeans — release velocity, themes, recent moves, and the top alternatives to consider.

Shared themes:r-package

qtl2 vs tglkmeans: at a glance

Featureqtl2tglkmeans
SectorAnalyticsAnalytics
Velocity score2.50.0
Sparks · 30d00
Top themesqtl-mapping, statistical-genetics, bioinformatics, r-packager-package, clustering, missing-data, correctness
Last editorial update2h ago1h ago
WebsiteVisit →Visit →

What is qtl2?

The standard QTL mapping package in R opened its genome scan to user-supplied likelihood models.

qtl2 is the R toolkit for QTL mapping in experimental crosses, covering genotype probability calculation, genome scans with and without polygenic effects, permutation testing, SNP association, and the plotting that goes with them. The last year of work has pushed hard in two directions: tooling for high-throughput expression and protein QTL studies, and a generalisation of the scan engine itself so the log-likelihood being maximised can be supplied by the user. Note that the release history reached this feed out of order, so feed position is not a reliable guide to which release came first.

Read the full qtl2 trajectory →

What is tglkmeans?

A k-means implementation that just told users their Spearman clustering on missing data was wrong

tglkmeans is a multi-core k-means implementation with seeding, aimed at single-cell and other large matrix workloads. Version 0.4.0 flipped the id_column default and moved to R's random number generator, 0.5.x added count-matrix downsampling and fixed id handling, and 0.6.3 in May 2026 is a correctness release: Spearman distance was ranking missing values as the largest value instead of dropping them, and predict_tgl_kmeans() with Euclidean distance did not reproduce the training metric when a cluster center had a missing dimension.

Read the full tglkmeans trajectory →

qtl2 vs tglkmeans: editorial side-by-side

Q
qtl2
ANALYTICS
2.5

The standard QTL mapping package in R opened its genome scan to user-supplied likelihood models.

◆ Current state

qtl2 is the R toolkit for QTL mapping in experimental crosses, covering genotype probability calculation, genome scans with and without polygenic effects, permutation testing, SNP association, and the plotting that goes with them. The last year of work has pushed hard in two directions: tooling for high-throughput expression and protein QTL studies, and a generalisation of the scan engine itself so the log-likelihood being maximised can be supplied by the user. Note that the release history reached this feed out of order, so feed position is not a reliable guide to which release came first.

◆ Where it's heading

The eQTL and pQTL direction is the clearest thread — cis-trans plots, hotspot counting over a sliding window, multi-trait scan heat maps, and genome-wide genotype plots all arrived together, which is the toolkit an experiment with thousands of traits needs rather than one with a handful. Running underneath it is a steady generalisation of the core: a scan function that accepts an arbitrary likelihood, permutations that work with alternative scan functions, full variance-covariance output from single-position fits. Performance and parallelism get attention each cycle, including a more considerate default that leaves one core free. The rest is the ordinary maintenance of a long-lived package — renames to avoid tidyverse collisions, compiler warnings, and correctness fixes on specific cross types.

◆ Prediction

With scan1gen and permutation support for alternative scan functions in place, the natural next step is more model types built on that hook rather than more special-cased scan functions; the entries do not indicate which models are planned.

T
tglkmeans
ANALYTICS
0.0

A k-means implementation that just told users their Spearman clustering on missing data was wrong

◆ Current state

tglkmeans is a multi-core k-means implementation with seeding, aimed at single-cell and other large matrix workloads. Version 0.4.0 flipped the id_column default and moved to R's random number generator, 0.5.x added count-matrix downsampling and fixed id handling, and 0.6.3 in May 2026 is a correctness release: Spearman distance was ranking missing values as the largest value instead of dropping them, and predict_tgl_kmeans() with Euclidean distance did not reproduce the training metric when a cluster center had a missing dimension.

◆ Where it's heading

The package handles missing data across three distance metrics, and 0.6.3 shows those paths had drifted apart — Spearman behaved unlike Euclidean and Pearson, and prediction behaved unlike training. Both fixes change results on affected data, and the release notes are careful to bound exactly where: Spearman on data with NAs changes, complete data does not. Performance work runs alongside, with the dense per-thread vote matrix removed from the reassignment step.

◆ Prediction

With the metric paths now aligned on missing-value handling, further work is more likely to target the parallel reassignment internals than the distance semantics.

Alternatives to qtl2 and tglkmeans

Other Analytics products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either qtl2 or tglkmeans.

See all qtl2 alternatives → · See all tglkmeans alternatives →

Recent activity from qtl2 and tglkmeans

Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.

  1. 27d agoqtl2chr_lengths() extended to cross2 objects
  2. 1mo agoqtl2A genome scan that takes your own likelihood function
  3. 2mo agoqtl2Hotspot counting and cis-trans plots for eQTL studies
  4. 2mo agotglkmeansSpearman metric no longer ranks missing values as the largest
  5. 3mo agoqtl2Confidence interval plotting, plus a documentation correction
  6. 1y agoqtl2Finer-grained parallelism for kinship-based scans
  7. 1y agoqtl2CSV readers renamed to avoid the readr collision
  8. 2y agotglkmeansFixes corrupted cluster ids and dropped dimnames
  9. 2y agotglkmeansAdds downsample_matrix() for count matrices
  10. 2y agotglkmeansBreaking: id_column defaults to FALSE, switches to R's RNG

Frequently asked questions

What is the difference between qtl2 and tglkmeans?

Both compete on the same themes — r-package — within Analytics. qtl2 is currently shipping more aggressively (velocity 2.5 vs 0.0), with 0 editorial sparks in the last 30 days against 0. See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.

Is qtl2 better than tglkmeans?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. qtl2 is currently shipping more aggressively (velocity 2.5 vs 0.0), with 0 editorial sparks in the last 30 days against 0. For your specific use case, the alternatives sections above list other Analytics products to evaluate alongside.

What are the best alternatives to qtl2?

Top qtl2 alternatives in Analytics are ranked by recent ship velocity. Browse the "qtl2 alternatives" section above for the current picks, or visit /alternatives/qtl2 for the full list with editorial commentary on each.

What are the best alternatives to tglkmeans?

Top tglkmeans alternatives in Analytics are ranked by recent ship velocity. Browse the "tglkmeans alternatives" section above for the current picks, or visit /alternatives/tglkmeans for the full list with editorial commentary on each.