← Back to home
Comparison · Analytics

glyanno vs vellumwidget

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

glyanno vs vellumwidget: at a glance

Featureglyannovellumwidget
SectorAnalyticsAnalytics
Velocity score3.86.3
Sparks · 30d11
Top themesglycomics, mass-spectrometry, structure-annotation, databasesr-graphics, interactive-widgets, declarative-interaction, shiny
Last editorial update49m ago1h ago
WebsiteVisit →Visit →

What is glyanno?

Glycan annotation stops depending on the database having seen the structure before.

glyanno resolves mass spectrometry observations into glycan compositions and structures, converting between m/z, composition and structure, filling in missing detail on partial structures, and mapping results to GlyTouCan accessions. The newest release adds de novo reconstruction of topological N-glycans, falling back to the topological database only when reconstruction is not possible. Batch performance was reworked at the same time, with vector inputs reusing prepared databases and direct lookups instead of repeating setup per element.

Read the full glyanno trajectory →

What is vellumwidget?

vellumwidget is dissolving its own API: interaction now lives in the plot spec, not the widget call.

vellumwidget compiles a vellum scene or a vellumplot plot into a self-contained client-side htmlwidget with hover, select, brush, lasso, pan/zoom and export, and no server round-trip. The two-way Shiny story is complete: interactions surface as reactive inputs keyed by output id, and vellumwidget_proxy() drives an already-rendered widget from the server without re-rendering it. The last two releases are fidelity work rather than new surface, calibrating hit-testing from the rendered positions of marks and rendering the raster base image at 2x for HiDPI screens.

Read the full vellumwidget trajectory →

glyanno vs vellumwidget: editorial side-by-side

G
glyanno
ANALYTICS
3.8

Glycan annotation stops depending on the database having seen the structure before.

◆ Current state

glyanno resolves mass spectrometry observations into glycan compositions and structures, converting between m/z, composition and structure, filling in missing detail on partial structures, and mapping results to GlyTouCan accessions. The newest release adds de novo reconstruction of topological N-glycans, falling back to the topological database only when reconstruction is not possible. Batch performance was reworked at the same time, with vector inputs reusing prepared databases and direct lookups instead of repeating setup per element.

◆ Where it's heading

The consistent theme is making ambiguous results honest and predictable. return_best moved from returning a shortened tibble to a vector aligned with the input, with NA for unmatched glycans; matching concrete compositions against a generic database now errors instead of silently returning nothing; zero-length database arguments are rejected. Alongside that, functions belonging elsewhere have been pushed down into glyrepr rather than duplicated, which is the same boundary discipline visible across this cohort. Version churn is largely driven by upstream: two of the last six entries exist to absorb breaking changes in glyrepr.

◆ Prediction

De novo reconstruction currently covers topological N-glycans only, so extending it to other structure levels or to O-glycans is the natural next step. The performance work suggests batch annotation of full experiments is now the primary use being optimised for.

V
vellumwidget
ANALYTICS
6.3

vellumwidget is dissolving its own API: interaction now lives in the plot spec, not the widget call.

◆ Current state

vellumwidget compiles a vellum scene or a vellumplot plot into a self-contained client-side htmlwidget with hover, select, brush, lasso, pan/zoom and export, and no server round-trip. The two-way Shiny story is complete: interactions surface as reactive inputs keyed by output id, and vellumwidget_proxy() drives an already-rendered widget from the server without re-rendering it. The last two releases are fidelity work rather than new surface, calibrating hit-testing from the rendered positions of marks and rendering the raster base image at 2x for HiDPI screens.

◆ Where it's heading

The direction is declarative. 0.7.0 removed the interaction-intent arguments from as_widget() outright, dropping the signature from roughly 36 arguments to 24 and moving highlight, filter and cross-filter into vellumplot's spec via select_point(), condition() and filter_by(). Each release since has enacted more of that compiled spec on the frozen scene, from conditional encodings to single-view filters to cross-view cross-filtering, leaving the widget as an interpreter of the plot rather than a configuration surface of its own. The bug fixes track the same theme the engine's do: measured geometry and rendered geometry must not drift.

◆ Prediction

The notes name the remaining hold-outs explicitly, saying hover_mode, crosshair, legend_click, select_mode and the tooltip-appearance arguments remain only until their spec equivalents land, so the next releases most likely move those into vellumplot and shrink as_widget() further. The scale binds flagged as following the filter work are the other stated next step.

Alternatives to glyanno and vellumwidget

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 glyanno or vellumwidget.

See all glyanno alternatives → · See all vellumwidget alternatives →

Recent activity from glyanno and vellumwidget

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

  1. 14d agovellumwidget2x raster base image for HiDPI, and exact element hit-testing
  2. 20d agovellumwidgetInteraction moves into the plot spec; as_widget() sheds a third of its arguments
  3. 24d agoglyannoDe novo reconstruction of topological N-glycans, with database fallback
  4. 27d agovellumwidgetAxis-aware zoom re-ticks the axes instead of scaling the whole scene
  5. 1mo agovellumwidgetSelectable native SVG text, and crisp canvas redraw when zooming raster
  6. 1mo agovellumwidgetServer-side proxy drives a rendered widget without re-rendering it
  7. 1mo agovellumwidgetShiny input read-back, and keyboard plus screen-reader access by default
  8. 3mo agoglyannoGlyTouCan accession mapping and anomeric position filling
  9. 3mo agoglyannoFixes an enhance_struc() break from glyrepr 0.11.0
  10. 4mo agoglyannoExplicit empty return from com_to_struc()
  11. 4mo agoglyannoreturn_best output aligns with input length; silent empty matches now error
  12. 5mo agoglyannoto_level parameter removed from enhance_struc()

Frequently asked questions

What is the difference between glyanno and vellumwidget?

They serve adjacent needs but don't currently overlap on shipped themes. vellumwidget is currently shipping more aggressively (velocity 6.3 vs 3.8), with 1 editorial sparks in the last 30 days against 1. See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.

Is glyanno better than vellumwidget?

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

What are the best alternatives to glyanno?

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

What are the best alternatives to vellumwidget?

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