← Back to home
Comparison · Analytics

dvir vs glyrepr

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

dvir vs glyrepr: at a glance

Featuredvirglyrepr
SectorAnalyticsAnalytics
Velocity score0.02.5
Sparks · 30d00
Top themesforensic genetics, victim identification, pipeline, scalabilityglycomics, data-structures, type-system, r-packages
Last editorial update17m ago1h ago
WebsiteVisit →Visit →

What is dvir?

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.

Read the full dvir trajectory →

What is glyrepr?

The type system the rest of the glycan stack is built on, being hardened one breaking change at a time.

glyrepr defines the vector types for glycan structures and compositions that every sibling package operates on, with names, NA values, resolution levels from basic through intact, and mapping helpers over structure vectors. Structures now convert to and from node and edge tibbles, low-level constructors support name-preserving construction from trusted graphs, and as_glycan_structure() can degrade element-local failures to NA with one aggregated warning instead of failing the whole vector. The monosaccharide table has been normalised so every entry has a generic form, and substituent support keeps widening.

Read the full glyrepr trajectory →

dvir vs glyrepr: editorial side-by-side

D
dvir
ANALYTICS
0.0

dvir keeps making disaster victim identification a single call instead of a workflow.

◆ Current state

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.

◆ Where it's heading

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.

◆ Prediction

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.

G
glyrepr
ANALYTICS
2.5

The type system the rest of the glycan stack is built on, being hardened one breaking change at a time.

◆ Current state

glyrepr defines the vector types for glycan structures and compositions that every sibling package operates on, with names, NA values, resolution levels from basic through intact, and mapping helpers over structure vectors. Structures now convert to and from node and edge tibbles, low-level constructors support name-preserving construction from trusted graphs, and as_glycan_structure() can degrade element-local failures to NA with one aggregated warning instead of failing the whole vector. The monosaccharide table has been normalised so every entry has a generic form, and substituent support keeps widening.

◆ Where it's heading

This package sets the pace for the cohort, and its breaking changes show up as compatibility patches in glyanno, glyenzy and glymotif within days. The direction is toward behaving like a well-built vctrs type: 0.10.0 rewrote the internals to support names and NA properly, 0.11.0 made structure level a vector-wide scalar rather than a per-element value, and the recent releases keep making failure explicit rather than silent, with strict input checks and typed errors replacing quiet drops. Dependencies get shed as readily as features get added, with the parallel-mapping arguments and their furrr and future dependencies removed outright in 0.13.0.

◆ Prediction

The graph-table conversions added in 0.13.0 and the name-preserving low-level constructors in 0.14.0 both look like foundations for other packages to build structures programmatically, so expect that surface to firm up next. Given the cadence of breaking changes, a 1.0 that freezes the type semantics is the more consequential thing to watch for.

Alternatives to dvir and glyrepr

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 glyrepr.

See all dvir alternatives → · See all glyrepr alternatives →

Recent activity from dvir and glyrepr

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

  1. 26d agoglyreprName-preserving construction from trusted graphs; partial-failure coercion
  2. 1mo agoglyreprStructures convert to and from graph tibbles; parallel mapping dropped
  3. 1mo agodvirCombination sizing and a cutoff for joint analysis
  4. 1mo agoglyreprFaster structure vector creation
  5. 3mo agodvirJoint tables added to solver output
  6. 3mo agoglyreprAnomeric position helpers for structures with missing detail
  7. 3mo agoglyreprStructure level becomes a vector-wide scalar; sialic acid shorthand parsed
  8. 3mo agodvirVictim and database accessors, plus solver refinements
  9. 6mo agoglyreprReplaces a deprecated dplyr call to silence warnings
  10. 1y agodvirSolver rewritten around generalised likelihood ratios
  11. 2y agodvirdviSolve() pipeline and manual pairing controls
  12. 2y agodvirMaintainer handover and small reporting additions

Frequently asked questions

What is the difference between dvir and glyrepr?

They serve adjacent needs but don't currently overlap on shipped themes. glyrepr 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 dvir better than glyrepr?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. glyrepr 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 dvir?

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.

What are the best alternatives to glyrepr?

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