'''
GWS Format
----------
A parser for a subset of the GlycoWorkbench sequence format.
'''
import re
import warnings
from collections import deque
from glypy.structure import (
Monosaccharide, Glycan, Link, AmbiguousLink,
Substituent, constants, named_structures, UnknownPosition)
from glypy.composition.structure_composition import substituent_compositions
from glypy.utils import invert_dict
from glypy.io import format_constants_map
from glypy.io.nomenclature import identity
from glypy.io import iupac, file_utils
monosaccharide_reference = {k: v for k,
v in named_structures.monosaccharides.items()}
special_base_types = {
# "Neu5Ac", "Neu5Gc", "Neu",
# "Kdn", "Kdo",
"Oli", "Tyv",
"Psi", "Fru", "Sor", "Tag",
"Xul", "Sed"
}
special_base_types = {
s: monosaccharide_reference[s]
for s in special_base_types
}
special_base_type_resolver = identity.MonosaccharideIdentifier(
special_base_types)
anomer_map_from = dict(format_constants_map.anomer_map)
anomer_map_from['?'] = anomer_map_from.pop('x')
anomer_map_to = invert_dict(anomer_map_from)
Stem = constants.Stem
Configuration = constants.Configuration
Modification = constants.Modification
SuperClass = constants.SuperClass
deserializer = iupac.MonosaccharideDeserializer()
reducing_or_free = re.compile(r"(redEnd|freeEnd)")
residue_pattern = re.compile(r"""^(?:(?P<monosaccharide>(?:(?P<configuration>[DL?])-)?
(?P<base_type>(?:[A-Z][a-z]{2}?|(?:[a-z]{3}[A-Z][a-z]{2})))
(?P<bound_substituent>Ac|NAc|N|S|P|A)?,
(?P<ring_type>[fpo?]))|
(?P<substituent>Ac|NAc|N|S|P|A)|
(?P<modification>deoxy))
""", re.VERBOSE)
linkage_pattern = re.compile(
r"^--(?P<parent_position>\?|\d+)(?:(?P<anomer>[ab?])(?P<child_position>\?|\d+)?)?")
def _make_substituent_name(name):
return ''.join(t.title() for t in name.split("_")).replace("(", "").replace(")", "")
[docs]class GWSError(file_utils.ParserError):
pass
substituents_map_to = {
name: _make_substituent_name(name) for name in substituent_compositions
}
# Special Cases
substituents_map_to['n_acetyl'] = "NAc"
substituents_map_to['n_glycolyl'] = "NGc"
substituents_map_to['n_sulfate'] = "NS"
substituents_map_to['sulfate'] = "S"
substituents_map_to["methyl"] = "Me"
substituents_map_to["acetyl"] = "Ac"
substituents_map_to["glycolyl"] = "Gc"
substituents_map_to["fluoro"] = "F"
substituents_map_to["amino"] = "N"
substituents_map_to['phosphate'] = 'P'
substituents_map_to['phospho_ethanolamine'] = 'PEtn'
substituents_map_to['ethanolamine'] = 'Etn'
substituents_map_from = invert_dict(substituents_map_to)
substituents_map_from['Phosphate'] = 'phosphate'
_modification_map_to = {
'deoxy': 'd',
}
_substituent_replacement_rules = {
'NeuAc': [
('n_acetyl', 'acetyl')
],
'NeuGc': [
('n_glycolyl', 'glycolyl')
],
'Neu': [
('amino', None)
]
}
def set_ring_bounds(residue, ring_type):
if residue.ring_start == UnknownPosition:
residue.ring_end = UnknownPosition
elif ring_type == 'p':
residue.ring_end = residue.ring_start + 4
elif ring_type == 'f':
residue.ring_end = residue.ring_start + 3
elif ring_type == 'o':
residue.ring_end = residue.ring_start = 0
else:
residue.ring_end = residue.ring_start = UnknownPosition
def build_residue(residue_dict):
if residue_dict['monosaccharide']:
residue_dict['substituent'] = residue_dict.pop(
'bound_substituent', '') or ''
residue_dict['configuration'] = residue_dict['configuration'] or '?'
residue, _ = deserializer.build_residue(residue_dict)
return residue, 'monosaccharide'
elif residue_dict['substituent']:
substs = [subst for pos, subst in deserializer.substituent_parser(
residue_dict['substituent'])]
return substs[0], 'substituent'
elif residue_dict['modification']:
return Modification[residue_dict['modification']], 'modification'
else:
raise ValueError("Could not determine node type from %r" %
(residue_dict, ))
def apply_linkage(parent, child, linkage_spec, child_type):
if linkage_spec['anomer'] and child_type == 'monosaccharide':
child.anomer = linkage_spec['anomer']
if parent is None:
return
child_position = linkage_spec['child_position']
if child_position[:1].isdigit():
child_position = int(child_position)
else:
child_position = UnknownPosition
parent_position = linkage_spec['parent_position']
if parent_position[:1].isdigit():
parent_position = int(parent_position)
else:
parent_position = UnknownPosition
if child_type == 'monosaccharide':
parent.add_monosaccharide(child, parent_position, child_position)
elif child_type == 'substituent':
parent.add_substituent(child, parent_position)
elif child_type == "modification":
parent.add_modification(child, parent_position)
else:
raise GWSError(child_type)
[docs]def loads(text):
'''Parse a single GWS glycan sequence plus metadata.
Parameters
----------
text : str
The sequence to parse
Returns
-------
structure : :class:`~.Glycan`
The parsed glycan structure
metadata : :class:`tuple`
Unstructured metadata associated with the sequence.
'''
reducing_end = reducing_or_free.search(text)
if reducing_end:
text = text[reducing_end.end():]
branch_queue = deque()
root = None
last_residue = root
i = 0
while text:
if text[0] == "(":
while text[0] == "(":
text = text[1:]
branch_queue.append((last_residue, i))
elif text[0] == ')':
text = text[1:]
last_residue, last_id = branch_queue.pop()
elif text[0] == '$':
metadata = text[1:].split(",")
break
elif text[0] == '}':
warnings.warn("Unknown symbol }, ignoring")
text = text[1:]
i += 1
linkage = linkage_pattern.search(text)
if linkage:
text = text[linkage.end():]
else:
raise GWSError(
"Failed to parse linkage from \"%s\"..." % (text[:20], ))
residue = residue_pattern.search(text)
if residue:
text = text[residue.end():]
else:
raise GWSError(
"Failed to parse residue from \"%s\"..." % (text[:20], ))
residue, node_type = build_residue(residue.groupdict())
apply_linkage(last_residue, residue, linkage.groupdict(), node_type)
if root is None:
root = residue
if node_type == 'monosaccharide':
# refuse to handle bridge substituents
last_residue = residue
return Glycan(root).reindex(), metadata
parse_gws = loads
test_data = '''redEnd--?a1D-GalNAc,p--3b1D-Gal,p--3a2D-NeuAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p--3b1D-Gal,p--3a2D-NeuAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p--3b1D-Gal,p--3a2D-NeuAc,p$MONO,Und,-H,0,redEnd
redEnd--??1Hex,p--??1Hex,p--??1Hex,p$MONO,Und,-H,0,redEnd
redEnd--??1Hex,p--??1Hex,p--??1Hex,p$MONO,Und,-H,0,redEnd
redEnd--??1Hex,p--??1Hex,p--??1Hex,p--??1Hex,p$MONO,Und,-H,0,redEnd
redEnd--??1Hex,p--??1Hex,p--??1Hex,p$MONO,Und,-H,0,redEnd
redEnd--??1Hex,p--??1Hex,p--??1Hex,p--??1Hex,p$MONO,Und,-H,0,redEnd
redEnd--??1Hex,p--??1Hex,p(--??1Hex,p)--??1Hex,p$MONO,Und,-H,0,redEnd
redEnd--??1Hex,p--??1Hex,p(--??1Hex,p)--??1Hex,p$MONO,Und,-H,0,redEnd
redEnd--??1Hex,p--??1Hex,p--??1Hex,p(--??1Hex,p)--??1Hex,p$MONO,Und,-H,0,redEnd
redEnd--??1Hex,p--??1Hex,p--??1Hex,p(--??1Hex,p)--??1Hex,p$MONO,Und,-H,0,redEnd
redEnd--??1Hex,p--??1Hex,p--??1Hex,p(--??1Hex,p)--??1D-GlcA,p$MONO,Und,-H,0,redEnd
redEnd--??1Hex,p--??1Hex,p--??1Hex,p(--??1Hex,p)--??1D-GlcA,p$MONO,Und,-H,0,redEnd
redEnd--??1Hex,p--??1Hex,p(--??1Hex,p--??1Hex,p--??1Hex,p)--??1D-GlcA,p$MONO,Und,-H,0,redEnd
redEnd--??1Hex,p--??1Hex,p(--??1Hex,p--??1Hex,p--??1Hex,p)--??1D-GlcA,p$MONO,Und,-H,0,redEnd
redEnd--??1Hex,p--??1Hex,p--??1Hex,p--??1Hex,p--??1Hex,p}--??1D-GlcA,p$MONO,Und,-H,0,redEnd
redEnd--??1Hex,p--??1Hex,p--??1Hex,p--??1Hex,p--??1Hex,p}--??1D-GlcA,p$MONO,Und,-H,0,redEnd
redEnd--??1Hex,p--??1Hex,p--??1Hex,p--??1Hex,p--??1Hex,p(--??1Hex,p)--??1D-GlcA,p$MONO,Und,-H,0,redEnd
redEnd--??1Hex,p--??1Hex,p--??1Hex,p--??1Hex,p--??1Hex,p(--??1Hex,p)--??1D-GlcA,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p--3b1D-Gal,p--4a1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p--3b1D-Gal,p--4a1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p)--3b1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p)--3b1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-GlcNAc,p--4b1D-Gal,p)--6a2D-NeuAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-GlcNAc,p--4b1D-Gal,p)--6a2D-NeuAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--3a2D-NeuAc,p)--6a2D-NeuAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--3a2D-NeuAc,p)--6a2D-NeuAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p--6b1D-GlcNAc,p--4b1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p--6b1D-GlcNAc,p--4b1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--4a1D-GlcNAc,p)--6b1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--4a1D-GlcNAc,p)--6b1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p)--3b1D-Gal,p--??1D-GlcNAc,p((--??1D-Gal,p)--??1L-Fuc,p)--??1S$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p)--3b1D-Gal,p--??1D-GlcNAc,p((--??1D-Gal,p)--??1L-Fuc,p)--??1S$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p((--??1D-Gal,p)--??1L-Fuc,p)--??1S$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p((--??1D-Gal,p)--??1L-Fuc,p)--??1S$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--6b1D-Gal,p)--3b1D-GlcNAc,p(--3a1L-Fuc,p)--4b1D-Gal,p)--6b1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--6b1D-Gal,p)--3b1D-GlcNAc,p(--3a1L-Fuc,p)--4b1D-Gal,p)--6b1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--3a2D-NeuAc,p)--6b1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--3a2D-NeuAc,p)--6b1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p)--3b1D-Gal,p--??1D-GlcNAc,p(--??1L-Fuc,p)--??1S$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p(--??1S)--??1L-Fuc,p)--3b1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p)--3b1D-Gal,p--??1D-GlcNAc,p(--??1L-Fuc,p)--??1S$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p(--??1S)--??1L-Fuc,p)--3b1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p--3b1D-Gal,p--??1D-GlcNAc,p((--??1S)--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p--3b1D-Gal,p--??1D-GlcNAc,p((--??1S)--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p(--??1S)--??1L-Fuc,p)--3b1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p(--??1S)--??1L-Fuc,p)--3b1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p--4b1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p--4b1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1L-Fuc,p)--??1HexNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1L-Fuc,p)--??1HexNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??2D-NeuAc,p)--??1D-GlcNAc,p--??1D-GalNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??2D-NeuAc,p)--??1D-GlcNAc,p--??1D-GalNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p)--3b1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p)--3b1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??2D-NeuAc,p)--6b1D-GlcNAc,p--??1D-GalNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??2D-NeuAc,p)--6b1D-GlcNAc,p--??1D-GalNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??2D-NeuAc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??2D-NeuAc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p--3b1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p)--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p--3b1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p)--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-GlcNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-GlcNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--??1D-GalNAc,p--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--??1D-GalNAc,p--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1L-Fuc,p)--??1D-GalNAc,p)--6b1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-GlcNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p}--??2D-NeuAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??2D-NeuAc,p)--6b1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p--??2D-NeuAc,p$MONO,Und,-H,0,redEnd
redEnd--??1D-GalNAc,p--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??2D-NeuAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p)--??1D-GlcNAc,p--??1D-Gal,p--??2D-NeuAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p)--??1D-GlcNAc,p--??1D-Gal,p--??2D-NeuAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??2D-NeuAc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??2D-NeuAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??2D-NeuAc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??2D-NeuAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p(--??1S)--??1D-Gal,p--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1D-GlcNAc,p--??1S--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p(--??1S)--??1D-Gal,p--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1D-GlcNAc,p--??1S--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GalNAc,p)--3b1D-GlcNAc,p}--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GalNAc,p)--3b1D-GlcNAc,p}--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p(--??1L-Fuc,p)--??1D-Gal,p--??2D-NeuAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??2D-NeuAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??2D-NeuAc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p(--??1L-Fuc,p)--??1D-Gal,p--??2D-NeuAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??2D-NeuAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??2D-NeuAc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p(--??1S)--??1D-Gal,p--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p(--??1S)--??1D-Gal,p--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-GlcNAc,p--??1D-Gal,p--??2D-NeuAc,p)--6b1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-GlcNAc,p--??1D-Gal,p--??2D-NeuAc,p)--6b1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1L-Fuc,p)--??2D-NeuAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1L-Fuc,p)--??2D-NeuAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p--3b1D-Gal,p(--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p--3b1D-Gal,p(--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1L-Fuc,p)--??1D-GalNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1L-Fuc,p)--??1D-GalNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1L-Fuc,p)--??1D-GalNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1L-Fuc,p)--??1D-GalNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p)--??1D-Gal,p(--??1D-GlcNAc,p)--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p)--??1D-Gal,p(--??1D-GlcNAc,p)--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p(--??1S)--??1D-Gal,p--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p(--??1S)--??1D-Gal,p--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p(--??1L-Fuc,p)--??1D-Gal,p--??2D-NeuAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p(--??1L-Fuc,p)--??1D-Gal,p--??2D-NeuAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p--3b1D-Gal,p--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p--3b1D-Gal,p--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1D-GlcNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1D-GlcNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p--3b1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p)--??1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p--3b1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p)--??1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p)--??1D-Gal,p(--??1D-GlcNAc,p)--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p)--??1D-Gal,p(--??1D-GlcNAc,p)--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-GlcNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-GlcNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p(--??1L-Fuc,p)--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p(--??1L-Fuc,p)--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p)--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p)--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p(--??1S)--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p(--??1S)--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p(--??1L-Fuc,p)--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p(--??1L-Fuc,p)--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p)--??1D-GlcNAc,p--??1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p)--??1D-GlcNAc,p--??1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-Gal,p)--??1L-Fuc,p)--6b1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-Gal,p)--??1L-Fuc,p)--6b1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p)--??1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1D-GlcNAc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p)--??1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1D-GlcNAc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p)--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p)--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p)--??1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1D-GlcNAc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p)--??1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1D-GlcNAc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p)--??1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1D-GlcNAc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p)--??1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1D-GlcNAc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p(--??1L-Fuc,p)--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p(--??1L-Fuc,p)--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??2D-NeuAc,p)--6b1D-GlcNAc,p(--??1L-Fuc,p)--??1D-Gal,p--??2D-NeuAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??2D-NeuAc,p)--6b1D-GlcNAc,p(--??1L-Fuc,p)--??1D-Gal,p--??2D-NeuAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p(--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p(--??1L-Fuc,p)--??1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p(--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p(--??1L-Fuc,p)--??1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p(--??1L-Fuc,p)--??1D-Gal,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p(--??1L-Fuc,p)--??1D-Gal,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1D-GlcNAc,p(--??1L-Fuc,p)--??1D-Gal,p)--6b1D-GlcNAc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1D-GlcNAc,p(--??1L-Fuc,p)--??1D-Gal,p)--6b1D-GlcNAc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p(--??1L-Fuc,p)--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p--??1D-Gal,p(--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p(--??1L-Fuc,p)--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p--??1D-Gal,p(--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1D-GlcNAc,p(--??1L-Fuc,p)--??1D-Gal,p)--6b1D-GlcNAc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1D-GlcNAc,p(--??1L-Fuc,p)--??1D-Gal,p)--6b1D-GlcNAc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1L-Fuc,p)--??1D-GalNAc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1L-Fuc,p)--??1D-GalNAc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p(--??1L-Fuc,p)--??1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p(--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p(--??1L-Fuc,p)--??1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p(--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p(--??1D-Gal,p--??1L-Fuc,p)--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p(--??1D-Gal,p--??1L-Fuc,p)--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p)--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p)--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p)--6b1D-GlcNAc,p(--??1L-Fuc,p)--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p)--6b1D-GlcNAc,p(--??1L-Fuc,p)--??1D-Gal,p$MONO,Und,-H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1D-GlcNAc,p(--??1L-Fuc,p)--??1D-Gal,p)--6b1D-GlcNAc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1D-GlcNAc,p(--??1L-Fuc,p)--??1D-Gal,p)--6b1D-GlcNAc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p(--??1L-Fuc,p)--??1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p(--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p(--??1L-Fuc,p)--??1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p(--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p(--??1D-GalNAc,p)--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p--??1D-GlcNAc,p--??1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p(--??1D-Gal,p--??1L-Fuc,p)--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p(--??1D-Gal,p--??1L-Fuc,p)--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p(--??1D-Gal,p--??1L-Fuc,p)--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p((--??1D-Gal,p)--??1L-Fuc,p)--??1L-Fuc,p)--??1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--6b1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p--??1D-Gal,p--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p--??1D-GlcNAc,p)--6b1D-GlcNAc,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-2H,0,redEnd
redEnd--?a1D-GalNAc,p(--3b1D-Gal,p(--??1D-GlcNAc,p(--??1D-Gal,p)--??1L-Fuc,p)--??1D-GlcNAc,p--??1D-Gal,p)--6b1D-GlcNAc,p--??1D-Gal,p$MONO,Und,-2H,0,redEnd
'''