auto_parse() now detects GlyCAM IUPAC, IUPAC-compact,
KCF, and LINUCS structures and routes them to the corresponding parser
(#26, #28, #30, #31).progress argument for opt-in
progress bars when parsing large inputs (#29).parse_glycam_iupac() parses GlyCAM IUPAC structures
(#25, #27).parse_iupac_compact() parses IUPAC-compact
structures (#28).parse_kcf() parses KCF structures (#30).parse_linucs() parses LINUCS structures (#31).parse_glycoct() now accepts space-separated GlycoCT
records, such as records stored in CSV exports (#24).parse_glycoct() now parses GlycoCT alditol residues as
regular reducing-end glycans with unknown anomer configurations
(#22).parse_glycoct() now supports generic GlycoCT
HEX, N-acetylated HEX, deoxy-HEX,
and sialic acid descriptors, including direct n-sulfate
substituents on amino sugars (#24).parse_wurcs() now parses WURCS alditol residues as
regular reducing-end glycans with unknown anomer configurations
(#21).parse_wurcs() now supports additional generic residue
descriptors, ambiguous sialic acid descriptors, and uppercase residue
IDs for large structures (#23).parse_wurcs() now supports ambiguous u
residues and unknown ring closure residues (? ring
position).parse_wurcs() now correctly handles WURCS N-sulfate
substituent codes (*NSO/3=O/3=O).parse_glycoct() now preserves unknown reducing-end ring
positions and matches amino sugars with unknown ring bounds.on_failure parameter to all parser functions.
When on_failure = "error", the parser will throw an error
when it encounters an unparsable string. When
on_failure = "na", the parser will return NA for unparsable
strings. The default is “error”, for backwards compatibility.parse_iupac_extended() now accepts input with plain
text equivalents (“alpha”, “beta”, “->”). (#10)dplyr::case_match() with
dplyr::recode_values() in parsers to prevent warnings.parse_iupac_extended() and
parse_iupac_short() now support generic monosaccharides,
e.g. “Hex”, “HexNAc”, “HexN”.parse_linear_code() to parse Linear Code
strings.auto_parse() now supports Linear Code strings.parse_iupac_extended().parse_wurcs().parse_iupac_short().parse_glycoct().glyrepr
v0.7.0.parse_iupac_condensed() and
parse_iupac_short() now require the reducing-end
monosaccharide to have anomer information. For example, “Neu5Ac(a2-” and
“Neu5Aca-” are valid, but “Neu5Ac” is not.parse_pglyco_struc() now support “aH” and “pH”
monosaccharides.auto_parse() to automatically detect and parse
different glycan structure string formats.Better error messages. Before:
> parse_iupac_condensed("bad_glycan")Error in `purrr::map()` at glyparse/R/struc-parser-wrapper.R:13:3:
ℹ In index: 1.
Caused by error in `value[[3L]]()`:
! Could not parse IUPAC-condensed string: {.val {x}}
ℹ Invalid characters or format in IUPAC-condensed string
Run `rlang::last_trace()` to see where the error occurred.
Now:
> parse_iupac_condensed("bad_glycan")Error in `parse_iupac_condensed()`:
! Can't parse: "bad_glycan"
Run `rlang::last_trace()` to see where the error occurred.parse_glycoct() to parse glycans in GlycoCT
format.parse_iupac_short(),
parse_iupac_extended(),
parse_iupac_condensed(), parse_wurcs() now
support multiple substituents on the same monosaccharide, to align with
the updates in glyrepr v0.5.0.