fillpattern
Pattern fills for ggplot2, hardened against the ways users write sizes
A side-by-side editorial comparison of qtl2 and tglkmeans — release velocity, themes, recent moves, and the top alternatives to consider.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Pattern fills for ggplot2, hardened against the ways users write sizes
gcube's recent releases are all packaging metadata, not simulation code
The R port of Quinlan's Cubist gets reproducibility fixes, not new modelling
ggstats keeps widening what a coefficient or Likert plot can be
ecodive rebuilt itself into a broad diversity-metric library, breaking as it went
State-space data simulation for R, filled in one function at a time
See all qtl2 alternatives → · See all tglkmeans alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
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.
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.
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.
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.