gps2gtfs
gps2gtfs spent a release making its docs stop describing functions it does not have.
A side-by-side editorial comparison of glymotif and glyparse — release velocity, themes, recent moves, and the top alternatives to consider.
A glycan motif matcher trading convenience wrappers for speed, strictness and explicit specs.
glymotif detects and counts structural motifs in glycans, over a built-in motif database or user-supplied structures, with fuzzy modification matching and alignment control. Database motifs are now requested through a db_motifs_spec object carrying their own matching parameters rather than as a name vector with loose arguments, and db_motif_info() exposes the built-in set as an inspectable tibble. A lenient mode lets lower-information glycans match more specific motifs while concrete mismatches still fail, and low-level entry points work directly on igraph objects for other package authors.
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.
glymotif detects and counts structural motifs in glycans, over a built-in motif database or user-supplied structures, with fuzzy modification matching and alignment control. Database motifs are now requested through a db_motifs_spec object carrying their own matching parameters rather than as a name vector with loose arguments, and db_motif_info() exposes the built-in set as an inspectable tibble. A lenient mode lets lower-information glycans match more specific motifs while concrete mismatches still fail, and low-level entry points work directly on igraph objects for other package authors.
Performance has been a recurring line item across at least four releases, culminating in optimised graph searches and candidate filtering aimed at batch analyses, which points at the real workload being whole experiments rather than single glycans. The API has moved the other way from convenience toward explicitness: the add_motifs_lgl() and add_motifs_int() wrappers are deprecated in favour of composing with dplyr or glyexp verbs, optional arguments must now be named, and loose matching parameters were folded into the spec object. Documentation is being steered toward the cohort's newer container types, so this package is following a coordinated migration rather than setting its own course.
With the deprecated annotation wrappers on their way out and documentation already pointing at the replacement verbs, their removal is the likely next breaking change. The lenient matching mode is new enough that its boundary against concrete mismatches will probably need tuning as users apply it to real, partially resolved data.
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.
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 glymotif or glyparse.
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 glymotif alternatives → · See all glyparse alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
Both compete on the same themes — glycomics, performance — within Analytics. glymotif 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. glymotif 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 glymotif alternatives in Analytics are ranked by recent ship velocity. Browse the "glymotif alternatives" section above for the current picks, or visit /alternatives/glymotif for the full list with editorial commentary on each.
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.