smap()
.structure_to_iupac()
returns incorrect
sequences with incorrect backbone or branch order.smap2()
, spmap()
, and
related functions return unexpected results when the input
y
is a list.glycan_structure()
,
including the new behavior of vertex and edge order introduced in
0.7.0.convert_mono_type()
is now replaced by
convert_to_generic()
. convert_mono_type()
was
created when three monosaccharide types existed: “concrete”, “generic”,
and “simple”. When “simple” was removed, the old
convert_mono_type()
seems redundant, as the only valid
conversion is from “concrete” to “generic” now. Therefore, we remove
this function now and add a more straightforward
convert_to_generic()
.get_structure_graphs()
is redesigned.
i
parameter is removed, as indexing can be done
manually on the input glyrepr_structure
vector or on the
returned list easily.return_list
parameter to control the return type.
This parameter makes this function “type-stable”.glycan_structure()
and
as_glycan_structure()
now reorder the underlying graphs to
be in line with the IUPAC-style sequence. For example, the vertex order
of “Gal(b1-3)[GlcNAc(b1-6)]GalNAc(b1-” is always 1. Gal, 2. GlcNAc, 3.
GalNAc, and edges b1-3, b1-6, no matter what the original graphs are.
Users can assign the indices of vertices and edges easily by printing
the structure to console. This update makes
glymotif::match_motif()
more meaningful.glyrepr_structure
has colors now in tibbles when
printed to console.glycan_structure()
is printed in the console. For
example, the “Neu5Ac” part in “Neu5Ac9Ac(a2-” was printed in black. Now
it is printed in purple, while the “9Ac” part remains in black.n_glycan_core()
now has a “b1” reducing end anomer, not
“?1”.glycan_structure()
to ensure no
duplicated linkage positions. For example,
“Gal(b1-3)[Fuc(a1-3)]GalNAc(b1-” is invalid now becuase both “Gal” and
“Fuc” are linked to “GalNAc” at position 3.glycan_structure()
documentation.remove_linkages()
now also removes reducing end
anomers.n_glycan_core()
, o_glycan_core_1()
, and
o_glycan_core_2()
now have “??” anomers when
linkage = FALSE
.smap_structure()
,
smap2_structure()
, spmap_structure()
, and
simap_structure()
where modifying the structures can create
identical structures, but the unique structures are not updated
correctly. This automatically fixes a similar bug in
remove_linkages()
.glycan_structure()
objects. This information is rarely used in glycomics and
glycoproteomics data analysis. It is removed according to the razor
principle.as_glycan_structure()
now doesn’t allow the input
IUPAC-condensed strings to omit the anomer information. Previously,
something like “Glc(a1-3)GlcNAc” is valid.
as_glycan_structure()
assumed that the core “GlcNAc” has a
“?1-” anomer and added it automatically. The problem is that this
behavior was not easily awared by users and might cause confusion.
Again, less is more, so we remove it.glyrepr_structure
from structure
to struct
.Glycan structures now support multiple substituents on a single monosaccharide. Substituents are stored as comma-separated strings internally and concatenated in IUPAC format for display.
Glycan compositions now support substituents. The
glycan_composition
class can now represent and count
substituents alongside monosaccharides.