gps2gtfs
gps2gtfs spent a release making its docs stop describing functions it does not have.
A side-by-side editorial comparison of dvir and glydraw — release velocity, themes, recent moves, and the top alternatives to consider.
dvir keeps making disaster victim identification a single call instead of a workflow.
dvir handles disaster victim identification: matching unidentified remains against reference families using pedigree likelihoods. The package has consolidated around dviSolve(), a complete pipeline introduced in 3.2.1 and rewritten in 3.3.0 to use generalised likelihood ratios for families with several missing persons. Recent releases have been about making that pipeline survive large cases, adding dviGridSize() and a maxAssign cutoff to skip joint analysis when the combination count explodes, plus per-step timings.
SNFG glycan cartoons stopped being pictures and became ggplot2 geoms, guides and axis labels.
glydraw renders glycan structures as SNFG-standard cartoons, standalone or exported in bulk, and since 0.7.0 as native ggplot2 components: geom_glycan() for observations, geom_node_glycan() for ggraph networks, guide_glycan() for legends, and scale_x_glycan() and scale_y_glycan() for discrete axes. Appearance is configured through a single reusable style object rather than scattered arguments, a consolidation that 0.8.0 made breaking. The colour handling now expects a complete SNFG palette rather than sparse per-monosaccharide overrides.
dvir handles disaster victim identification: matching unidentified remains against reference families using pedigree likelihoods. The package has consolidated around dviSolve(), a complete pipeline introduced in 3.2.1 and rewritten in 3.3.0 to use generalised likelihood ratios for families with several missing persons. Recent releases have been about making that pipeline survive large cases, adding dviGridSize() and a maxAssign cutoff to skip joint analysis when the combination count explodes, plus per-step timings.
The arc is from a toolbox of functions toward one supervised pipeline, with the older jointDVI() now emitting a legacy message. The current constraint is combinatorial: joint analysis over many victims and missing persons blows up, so the work has gone to measuring the blowup and bailing out of it. Parallelism is mid-migration, with the parallel and pbapply implementation removed and a mirai replacement stated as planned but not yet shipped, leaving numCores accepted and ignored with a warning.
The mirai-based parallelisation is announced as coming, so expect it next, most likely applied to the joint analysis step that maxAssign currently exists to avoid.
glydraw renders glycan structures as SNFG-standard cartoons, standalone or exported in bulk, and since 0.7.0 as native ggplot2 components: geom_glycan() for observations, geom_node_glycan() for ggraph networks, guide_glycan() for legends, and scale_x_glycan() and scale_y_glycan() for discrete axes. Appearance is configured through a single reusable style object rather than scattered arguments, a consolidation that 0.8.0 made breaking. The colour handling now expects a complete SNFG palette rather than sparse per-monosaccharide overrides.
The first half of this record is geometry correctness, fixing branch spacing, overlapping linkage annotations, core fucose collisions, triangle alignment and nested side-chain layout, because a cartoon that draws the wrong topology is worse than no cartoon. Once the drawing was trustworthy the package moved outward into ggplot2 and then inward again to consolidate its own API, dropping the glyexp dependency, removing positional argument support, and folding rendering options into style_glydraw(). Each of the last several releases has been explicitly breaking, which is a maintainer using a pre-1.0 window deliberately.
With the style object established and the ggplot2 surface in place, the remaining explicit arguments, show_linkage and orient, are the visible inconsistency and may follow the others into the style. Sibling packages adopt each change within days, as glyenzy did with the new orientation values, so expect the next breaking change to propagate the same way.
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 dvir or glydraw.
gps2gtfs spent a release making its docs stop describing functions it does not have.
ducksemantics puts an ontology graph and ColBERT retrieval inside DuckDB, callable from R.
pedbuildr reconstructs pedigrees from DNA, and it just got much faster at the search.
forrel is getting faster at the simulations forensic kinship work actually spends its time on.
pedFamilias exists to read one legacy file format, and it has that job nearly finished.
pedmut turns awkward mutation models into ones the likelihood engine can actually handle.
See all dvir alternatives → · See all glydraw alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. glydraw is currently shipping more aggressively (velocity 6.3 vs 0.0), with 1 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. glydraw is currently shipping more aggressively (velocity 6.3 vs 0.0), with 1 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 dvir alternatives in Analytics are ranked by recent ship velocity. Browse the "dvir alternatives" section above for the current picks, or visit /alternatives/dvir for the full list with editorial commentary on each.
Top glydraw alternatives in Analytics are ranked by recent ship velocity. Browse the "glydraw alternatives" section above for the current picks, or visit /alternatives/glydraw for the full list with editorial commentary on each.