gps2gtfs
gps2gtfs spent a release making its docs stop describing functions it does not have.
A side-by-side editorial comparison of glyparse and glyrepr — release velocity, themes, recent moves, and the top alternatives to consider.
glyparse is quietly becoming the universal reader for glycan text notation.
glyparse converts the various text encodings of glycan structures into glyrepr objects. Version 0.7.0 was the widest release in the window, adding parsers for GlyCAM IUPAC, IUPAC-compact, KCF, and LINUCS and teaching auto_parse() to route them, alongside a long list of GlycoCT and WURCS edge cases. The rest of the window is error-handling and performance work: an on_failure switch, a 10-30x speedup on large inputs, and NA and name preservation.
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.
glyparse converts the various text encodings of glycan structures into glyrepr objects. Version 0.7.0 was the widest release in the window, adding parsers for GlyCAM IUPAC, IUPAC-compact, KCF, and LINUCS and teaching auto_parse() to route them, alongside a long list of GlycoCT and WURCS edge cases. The rest of the window is error-handling and performance work: an on_failure switch, a 10-30x speedup on large inputs, and NA and name preservation.
Two things are being built at once. Coverage keeps widening, both in the number of notations supported and in how much malformed or ambiguous real-world input each parser tolerates: alditol residues, unknown ring positions, ambiguous sialic acid descriptors, uppercase residue IDs. Meanwhile the package is hardening for batch use, with progress bars, vectorized speed, and a choice between erroring and returning NA on unparsable strings.
With the major notations now covered, expect further releases to go to robustness on messy inputs and to keeping pace with glyrepr's structure representation rather than adding formats.
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.
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.
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.
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 glyparse or glyrepr.
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.
dvir keeps making disaster victim identification a single call instead of a workflow.
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.
See all glyparse alternatives → · See all glyrepr alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
Both compete on the same themes — glycomics — within Analytics. 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.
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.
Top glyparse alternatives in Analytics are ranked by recent ship velocity. Browse the "glyparse alternatives" section above for the current picks, or visit /alternatives/glyparse for the full list with editorial commentary on each.
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.