nabla
nabla dropped its C++ engine to chase exact derivatives at any order.
A side-by-side editorial comparison of compositional.mle and SeuratObject — release velocity, themes, recent moves, and the top alternatives to consider.
An MLE package rebuilt around composable solvers, then renamed to match.
compositional.mle performs numerical maximum likelihood estimation in R, with the optimisation strategy expressed as composed pieces rather than configured up front. It began in November 2025 as numerical.mle, a configuration-object package with fixed solvers. The v0.2.0 rewrite replaced that with solver factories sharing a uniform signature and operators for chaining and racing them, and renamed the package accordingly. The two most recent releases are CRAN submission work.
The data structure under Seurat, quietly absorbing spatial transcriptomics.
SeuratObject holds the classes and accessors that Seurat is built on, so its releases are felt by every package in that ecosystem rather than by end users directly. Recent work splits between spatial data support, where the Segmentation class gained an sf.data slot and Visium V2 image cropping arrived, and steady correction of subsetting behaviour. Version 5.4.0 adds a settable default dimensional reduction and finer control over factor levels when subsetting.
compositional.mle performs numerical maximum likelihood estimation in R, with the optimisation strategy expressed as composed pieces rather than configured up front. It began in November 2025 as numerical.mle, a configuration-object package with fixed solvers. The v0.2.0 rewrite replaced that with solver factories sharing a uniform signature and operators for chaining and racing them, and renamed the package accordingly. The two most recent releases are CRAN submission work.
The arc is a design idea overtaking an implementation: version 0.1.0 exposed configuration functions and named solvers, version 0.2.0 turned solvers into values that can be sequenced with %>>%, raced with %|%, restarted, or conditionally refined, and separated the statistical problem from the optimisation strategy. Since then all effort has gone into CRAN acceptance, dead code removal, policy compliance, validation fixes. That is a package that redesigned itself early and is now trying to get through the door.
With the composable API settled, the next work will most likely be additional solvers and transformers plugged into the existing operators rather than another redesign.
SeuratObject holds the classes and accessors that Seurat is built on, so its releases are felt by every package in that ecosystem rather than by end users directly. Recent work splits between spatial data support, where the Segmentation class gained an sf.data slot and Visium V2 image cropping arrived, and steady correction of subsetting behaviour. Version 5.4.0 adds a settable default dimensional reduction and finer control over factor levels when subsetting.
Two threads run through the window. The first is spatial: sf-backed segmentation boundaries, a compact slot to mark objects that skip the sp-inherited representation, and Visium V2 cropping, all pointing at spatial transcriptomics becoming a first-class citizen of the object model rather than a bolt-on. The second is a visible argument with itself over droplevels in subsetting, added in 5.1.0, reverted in 5.3.0, and returned in 5.4.0 as an opt-in parameter, which is how a foundational class settles a behaviour it cannot change lightly.
Expect the spatial classes to keep absorbing new assay formats, with breaking behaviour continuing to arrive as opt-in parameters rather than changed defaults.
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 compositional.mle or SeuratObject.
nabla dropped its C++ engine to chase exact derivatives at any order.
Eight months from first release to keyring caching and workload identity.
A research-project workflow package where the interesting work is in the plumbing.
A cyclomatic complexity checker that ships once every couple of years, and lands when it does.
Extreme value sampling in pure upkeep mode, mostly answering to Rcpp and CRAN.
A package retired in 2017 just got rewritten against R's public C API.
See all compositional.mle alternatives → · See all SeuratObject alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
Both compete on the same themes — r-package — within Analytics. compositional.mle and SeuratObject are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). 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. compositional.mle and SeuratObject are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). For your specific use case, the alternatives sections above list other Analytics products to evaluate alongside.
Top compositional.mle alternatives in Analytics are ranked by recent ship velocity. Browse the "compositional.mle alternatives" section above for the current picks, or visit /alternatives/compositional-mle for the full list with editorial commentary on each.
Top SeuratObject alternatives in Analytics are ranked by recent ship velocity. Browse the "SeuratObject alternatives" section above for the current picks, or visit /alternatives/seuratobject for the full list with editorial commentary on each.