# Glycan type

@ Relative abundance of high mannose type glycans within total spectrum
$ TM = [type == 'high_mannose'] / [1]

@ Relative abundance of hybrid type glycans within total spectrum
$ THy = [type == 'hybrid'] / [1]

@ The ratio of high-mannose to hybrid glycans
$ MHy = [type == 'high_mannose'] / [type == 'hybrid']

@ Average number of mannoses on high mannose type glycans
$ MM = [nM] // [type == 'high_mannose']

@ Relative abundance of monoantennary glycans within complex type glycans
$ CA1 = [nAnt == 1] // [type == 'complex']

@ Relative abundance of diantennary glycans within complex type glycans
$ CA2 = [nAnt == 2] // [type == 'complex']

@ Relative abundance of triantennary glycans within complex type glycans
$ CA3 = [nAnt == 3] // [type == 'complex']

@ Relative abundance of tetra-antennary glycans within complex type glycans
$ CA4 = [nAnt == 4] // [type == 'complex']


# Core Fucosylation

@ Core fucosylation within complex type glycans
$ CFc = [nFc > 0] // [type == 'complex']

@ Core fucosylation within monoantennary glycans
$ A1Fc = [nFc > 0] // [(type == 'complex') * (nAnt == 1)]

@ Core fucosylation within diantennary glycans
$ A2Fc = [nFc > 0] // [(type == 'complex') * (nAnt == 2)]

@ Core fucosylation within triantennary glycans
$ A3Fc = [nFc > 0] // [(type == 'complex') * (nAnt == 3)]

@ Core fucosylation within tetra-antennary glycans
$ A4Fc = [nFc > 0] // [(type == 'complex') * (nAnt == 4)]

@ Core fucosylation within sialylated monoantennary glycans
$ A1SFc = [nFc > 0] // [(type == 'complex') * (nAnt == 1) * (nS > 0)]

@ Core fucosylation within sialylated diantennary glycans
$ A2SFc = [nFc > 0] // [(type == 'complex') * (nAnt == 2) * (nS > 0)]

@ Core fucosylation within sialylated triantennary glycans
$ A3SFc = [nFc > 0] // [(type == 'complex') * (nAnt == 3) * (nS > 0)]

@ Core fucosylation within sialylated tetra-antennary glycans
$ A4SFc = [nFc > 0] // [(type == 'complex') * (nAnt == 4) * (nS > 0)]

@ Core fucosylation within non-sialylated monoantennary glycans
$ A1S0Fc = [nFc > 0] // [(type == 'complex') * (nAnt == 1) * (nS == 0)]

@ Core fucosylation within non-sialylated diantennary glycans
$ A2S0Fc = [nFc > 0] // [(type == 'complex') * (nAnt == 2) * (nS == 0)]

@ Core fucosylation within non-sialylated triantennary glycans
$ A3S0Fc = [nFc > 0] // [(type == 'complex') * (nAnt == 3) * (nS == 0)]

@ Core fucosylation within non-sialylated tetra-antennary glycans
$ A4S0Fc = [nFc > 0] // [(type == 'complex') * (nAnt == 4) * (nS == 0)]

@ Core fucosylation within monoantennary glycans with α2,6-linked sialic acid
$ A1EFc = [nFc > 0] // [(type == 'complex') * (nAnt == 1) * (nE == 0)]

@ Core fucosylation within diantennary glycans with α2,6-linked sialic acid
$ A2EFc = [nFc > 0] // [(type == 'complex') * (nAnt == 2) * (nE > 0)]

@ Core fucosylation within triantennary glycans with α2,6-linked sialic acid
$ A3EFc = [nFc > 0] // [(type == 'complex') * (nAnt == 3) * (nE > 0)]

@ Core fucosylation within tetra-antennary glycans with α2,6-linked sialic acid
$ A4EFc = [nFc > 0] // [(type == 'complex') * (nAnt == 4) * (nE > 0)]

@ Core fucosylation within monoantennary glycans without α2,6-linked sialic acid
$ A1E0Fc = [nFc > 0] // [(type == 'complex') * (nAnt == 1) * (nE == 0)]

@ Core fucosylation within diantennary glycans without α2,6-linked sialic acid
$ A2E0Fc = [nFc > 0] // [(type == 'complex') * (nAnt == 2) * (nE == 0)]

@ Core fucosylation within triantennary glycans without α2,6-linked sialic acid
$ A3E0Fc = [nFc > 0] // [(type == 'complex') * (nAnt == 3) * (nE == 0)]

@ Core fucosylation within tetra-antennary glycans without α2,6-linked sialic acid
$ A4E0Fc = [nFc > 0] // [(type == 'complex') * (nAnt == 4) * (nE == 0)]

@ Core fucosylation within monoantennary glycans with α2,3-linked sialic acid
$ A1LFc = [nFc > 0] // [(type == 'complex') * (nAnt == 1) * (nL > 0)]

@ Core fucosylation within diantennary glycans with α2,3-linked sialic acid
$ A2LFc = [nFc > 0] // [(type == 'complex') * (nAnt == 2) * (nL > 0)]

@ Core fucosylation within triantennary glycans with α2,3-linked sialic acid
$ A3LFc = [nFc > 0] // [(type == 'complex') * (nAnt == 3) * (nL > 0)]

@ Core fucosylation within tetra-antennary glycans with α2,3-linked sialic acid
$ A4LFc = [nFc > 0] // [(type == 'complex') * (nAnt == 4) * (nL > 0)]

@ Core fucosylation within monoantennary glycans without α2,3-linked sialic acid
$ A1L0Fc = [nFc > 0] // [(type == 'complex') * (nAnt == 1) * (nL == 0)]

@ Core fucosylation within diantennary glycans without α2,3-linked sialic acid
$ A2L0Fc = [nFc > 0] // [(type == 'complex') * (nAnt == 2) * (nL == 0)]

@ Core fucosylation within triantennary glycans without α2,3-linked sialic acid
$ A3L0Fc = [nFc > 0] // [(type == 'complex') * (nAnt == 3) * (nL == 0)]

@ Core fucosylation within tetra-antennary glycans without α2,3-linked sialic acid
$ A4L0Fc = [nFc > 0] // [(type == 'complex') * (nAnt == 4) * (nL == 0)]


# Antennary fucosylation

@ Antennary fucosylation within complex type glycans
$ CFa = [nFa] // [type == 'complex']

@ Antennary fucosylation within monoantennary glycans
$ A1Fa = [nFa] // [(type == 'complex') * (nAnt == 1)]

@ Antennary fucosylation within diantennary glycans
$ A2Fa = [nFa] // [(type == 'complex') * (nAnt == 2)]

@ Antennary fucosylation within triantennary glycans
$ A3Fa = [nFa] // [(type == 'complex') * (nAnt == 3)]

@ Antennary fucosylation within tetra-antennary glycans
$ A4Fa = [nFa] // [(type == 'complex') * (nAnt == 4)]

@ Antennary fucosylation within sialylated monoantennary glycans
$ A1SFa = [nFa] // [(type == 'complex') * (nAnt == 1) * (nS > 0)]

@ Antennary fucosylation within sialylated diantennary glycans
$ A2SFa = [nFa] // [(type == 'complex') * (nAnt == 2) * (nS > 0)]

@ Antennary fucosylation within sialylated triantennary glycans
$ A3SFa = [nFa] // [(type == 'complex') * (nAnt == 3) * (nS > 0)]

@ Antennary fucosylation within sialylated tetra-antennary glycans
$ A4SFa = [nFa] // [(type == 'complex') * (nAnt == 4) * (nS > 0)]

@ Antennary fucosylation within non-sialylated monoantennary glycans
$ A1S0Fa = [nFa] // [(type == 'complex') * (nAnt == 1) * (nS == 0)]

@ Antennary fucosylation within non-sialylated diantennary glycans
$ A2S0Fa = [nFa] // [(type == 'complex') * (nAnt == 2) * (nS == 0)]

@ Antennary fucosylation within non-sialylated triantennary glycans
$ A3S0Fa = [nFa] // [(type == 'complex') * (nAnt == 3) * (nS == 0)]

@ Antennary fucosylation within non-sialylated tetra-antennary glycans
$ A4S0Fa = [nFa] // [(type == 'complex') * (nAnt == 4) * (nS == 0)]

@ Antennary fucosylation within monoantennary glycans with α2,6-linked sialic acid
$ A1EFa = [nFa] // [(type == 'complex') * (nAnt == 1) * (nE > 0)]

@ Antennary fucosylation within diantennary glycans with α2,6-linked sialic acid
$ A2EFa = [nFa] // [(type == 'complex') * (nAnt == 2) * (nE > 0)]

@ Antennary fucosylation within triantennary glycans with α2,6-linked sialic acid
$ A3EFa = [nFa] // [(type == 'complex') * (nAnt == 3) * (nE > 0)]

@ Antennary fucosylation within tetra-antennary glycans with α2,6-linked sialic acid
$ A4EFa = [nFa] // [(type == 'complex') * (nAnt == 4) * (nE > 0)]

@ Antennary fucosylation within monoantennary glycans without α2,6-linked sialic acid
$ A1E0Fa = [nFa] // [(type == 'complex') * (nAnt == 1) * (nE == 0)]

@ Antennary fucosylation within diantennary glycans without α2,6-linked sialic acid
$ A2E0Fa = [nFa] // [(type == 'complex') * (nAnt == 2) * (nE == 0)]

@ Antennary fucosylation within triantennary glycans without α2,6-linked sialic acid
$ A3E0Fa = [nFa] // [(type == 'complex') * (nAnt == 3) * (nE == 0)]

@ Antennary fucosylation within tetra-antennary glycans without α2,6-linked sialic acid
$ A4E0Fa = [nFa] // [(type == 'complex') * (nAnt == 4) * (nE == 0)]

@ Antennary fucosylation within monoantennary glycans with α2,3-linked sialic acid
$ A1LFa = [nFa] // [(type == 'complex') * (nAnt == 1) * (nL > 0)]

@ Antennary fucosylation within diantennary glycans with α2,3-linked sialic acid
$ A2LFa = [nFa] // [(type == 'complex') * (nAnt == 2) * (nL > 0)]

@ Antennary fucosylation within triantennary glycans with α2,3-linked sialic acid
$ A3LFa = [nFa] // [(type == 'complex') * (nAnt == 3) * (nL > 0)]

@ Antennary fucosylation within tetra-antennary glycans with α2,3-linked sialic acid
$ A4LFa = [nFa] // [(type == 'complex') * (nAnt == 4) * (nL > 0)]

@ Antennary fucosylation within monoantennary glycans without α2,3-linked sialic acid
$ A1L0Fa = [nFa] // [(type == 'complex') * (nAnt == 1) * (nL == 0)]

@ Antennary fucosylation within diantennary glycans without α2,3-linked sialic acid
$ A2L0Fa = [nFa] // [(type == 'complex') * (nAnt == 2) * (nL == 0)]

@ Antennary fucosylation within triantennary glycans without α2,3-linked sialic acid
$ A3L0Fa = [nFa] // [(type == 'complex') * (nAnt == 3) * (nL == 0)]

@ Antennary fucosylation within tetra-antennary glycans without α2,3-linked sialic acid
$ A4L0Fa = [nFa] // [(type == 'complex') * (nAnt == 4) * (nL == 0)]


# Bisection

@ Relative abundance of species with a bisecting GlcNAc within all complex glycans
$ CB = [B] // [type == 'complex']

@ Relative abundance of species with a bisecting GlcNAc within diantennary glycans
$ A2B = [B] // [(type == 'complex') * (nAnt == 2)]

@ Relative abundance of species with a bisecting GlcNAc within fucosylated diantennary
$ A2FB = [B] // [(type == 'complex') * (nAnt == 2) * (nF > 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-fucosylated diantennary glycans
$ A2F0B = [B] // [(type == 'complex') * (nAnt == 2) * (nF == 0)]

@ Relative abundance of species with a bisecting GlcNAc within sialylated diantennary glycans
$ A2SB = [B] // [(type == 'complex') * (nAnt == 2) * (nS > 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-sialylated diantennary glycans
$ A2S0B = [B] // [(type == 'complex') * (nAnt == 2) * (nS == 0)]

@ Relative abundance of species with a bisecting GlcNAc within fucosylated sialylated diantennary glycans
$ A2FSB = [B] // [(type == 'complex') * (nAnt == 2) * (nF > 0) * (nS > 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-fucosylated sialylated diantennary glycans
$ A2F0SB = [B] // [(type == 'complex') * (nAnt == 2) * (nF == 0) * (nS > 0)]

@ Relative abundance of species with a bisecting GlcNAc within fucosylated non-sialylated diantennary glycans
$ A2FS0B = [B] // [(type == 'complex') * (nAnt == 2) * (nF > 0) * (nS == 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-fucosylated non-sialylated diantennary glycans
$ A2F0S0B = [B] // [(type == 'complex') * (nAnt == 2) * (nF == 0) * (nS == 0)]

@ Relative abundance of species with a bisecting GlcNAc within a2,3-sialylated diantennary glycans
$ A2LB = [B] // [(type == 'complex') * (nAnt == 2) * (nL > 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-a2,3-sialylated diantennary glycans
$ A2L0B = [B] // [(type == 'complex') * (nAnt == 2) * (nL == 0)]

@ Relative abundance of species with a bisecting GlcNAc within fucosylated a2,3-sialylated diantennary glycans
$ A2FLB = [B] // [(type == 'complex') * (nAnt == 2) * (nF > 0) * (nL > 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-fucosylated a2,3-sialylated diantennary glycans
$ A2F0LB = [B] // [(type == 'complex') * (nAnt == 2) * (nF == 0) * (nL > 0)]

@ Relative abundance of species with a bisecting GlcNAc within fucosylated non-a2,3-sialylated diantennary glycans
$ A2FL0B = [B] // [(type == 'complex') * (nAnt == 2) * (nF > 0) * (nL == 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-fucosylated non-a2,3-sialylated diantennary glycans
$ A2F0L0B = [B] // [(type == 'complex') * (nAnt == 2) * (nF == 0) * (nL == 0)]

@ Relative abundance of species with a bisecting GlcNAc within a2,6-sialylated diantennary glycans
$ A2EB = [B] // [(type == 'complex') * (nAnt == 2) * (nE > 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-a2,6-sialylated diantennary glycans
$ A2E0B = [B] // [(type == 'complex') * (nAnt == 2) * (nE == 0)]

@ Relative abundance of species with a bisecting GlcNAc within fucosylated a2,6-sialylated diantennary glycans
$ A2FEB = [B] // [(type == 'complex') * (nAnt == 2) * (nF > 0) * (nE > 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-fucosylated a2,6-sialylated diantennary glycans
$ A2F0EB = [B] // [(type == 'complex') * (nAnt == 2) * (nF == 0) * (nE > 0)]

@ Relative abundance of species with a bisecting GlcNAc within fucosylated non-a2,6-sialylated diantennary glycans
$ A2FE0B = [B] // [(type == 'complex') * (nAnt == 2) * (nF > 0) * (nE == 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-fucosylated non-a2,6-sialylated diantennary glycans
$ A2F0E0B = [B] // [(type == 'complex') * (nAnt == 2) * (nF == 0) * (nE == 0)]

@ Relative abundance of species with a bisecting GlcNAc within triantennary glycans
$ A3B = [B] // [(type == 'complex') * (nAnt == 3)]

@ Relative abundance of species with a bisecting GlcNAc within fucosylated triantennary glycans
$ A3FB = [B] // [(type == 'complex') * (nAnt == 3) * (nF > 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-fucosylated triantennary glycans
$ A3F0B = [B] // [(type == 'complex') * (nAnt == 3) * (nF == 0)]

@ Relative abundance of species with a bisecting GlcNAc within sialylated triantennary glycans
$ A3SB = [B] // [(type == 'complex') * (nAnt == 3) * (nS > 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-sialylated triantennary glycans
$ A3S0B = [B] // [(type == 'complex') * (nAnt == 3) * (nS == 0)]

@ Relative abundance of species with a bisecting GlcNAc within fucosylated sialylated triantennary glycans
$ A3FSB = [B] // [(type == 'complex') * (nAnt == 3) * (nF > 0) * (nS > 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-fucosylated sialylated triantennary glycans
$ A3F0SB = [B] // [(type == 'complex') * (nAnt == 3) * (nF == 0) * (nS > 0)]

@ Relative abundance of species with a bisecting GlcNAc within fucosylated non-sialylated triantennary glycans
$ A3FS0B = [B] // [(type == 'complex') * (nAnt == 3) * (nF > 0) * (nS == 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-fucosylated non-sialylated triantennary glycans
$ A3F0S0B = [B] // [(type == 'complex') * (nAnt == 3) * (nF == 0) * (nS == 0)]

@ Relative abundance of species with a bisecting GlcNAc within a2,3-sialylated triantennary glycans
$ A3LB = [B] // [(type == 'complex') * (nAnt == 3) * (nL > 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-a2,3-sialylated triantennary glycans
$ A3L0B = [B] // [(type == 'complex') * (nAnt == 3) * (nL == 0)]

@ Relative abundance of species with a bisecting GlcNAc within fucosylated a2,3-sialylated triantennary glycans
$ A3FLB = [B] // [(type == 'complex') * (nAnt == 3) * (nF > 0) * (nL > 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-fucosylated a2,3-sialylated triantennary glycans
$ A3F0LB = [B] // [(type == 'complex') * (nAnt == 3) * (nF == 0) * (nL > 0)]

@ Relative abundance of species with a bisecting GlcNAc within fucosylated non-a2,3-sialylated triantennary glycans
$ A3FL0B = [B] // [(type == 'complex') * (nAnt == 3) * (nF > 0) * (nL == 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-fucosylated non-a2,3-sialylated triantennary glycans
$ A3F0L0B = [B] // [(type == 'complex') * (nAnt == 3) * (nF == 0) * (nL == 0)]

@ Relative abundance of species with a bisecting GlcNAc within a2,6-sialylated triantennary glycans
$ A3EB = [B] // [(type == 'complex') * (nAnt == 3) * (nE > 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-a2,6-sialylated triantennary glycans
$ A3E0B = [B] // [(type == 'complex') * (nAnt == 3) * (nE == 0)]

@ Relative abundance of species with a bisecting GlcNAc within fucosylated a2,6-sialylated triantennary glycans
$ A3FEB = [B] // [(type == 'complex') * (nAnt == 3) * (nF > 0) * (nE > 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-fucosylated a2,6-sialylated triantennary glycans
$ A3F0EB = [B] // [(type == 'complex') * (nAnt == 3) * (nF == 0) * (nE > 0)]

@ Relative abundance of species with a bisecting GlcNAc within fucosylated non-a2,6-sialylated triantennary glycans
$ A3FE0B = [B] // [(type == 'complex') * (nAnt == 3) * (nF > 0) * (nE == 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-fucosylated non-a2,6-sialylated triantennary glycans
$ A3F0E0B = [B] // [(type == 'complex') * (nAnt == 3) * (nF == 0) * (nE == 0)]

@ Relative abundance of species with a bisecting GlcNAc within tetra-antennary glycans
$ A4B = [B] // [(type == 'complex') * (nAnt == 4)]

@ Relative abundance of species with a bisecting GlcNAc within fucosylated tetra-antennary glycans
$ A4FB = [B] // [(type == 'complex') * (nAnt == 4) * (nF > 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-fucosylated tetra-antennary glycans
$ A4F0B = [B] // [(type == 'complex') * (nAnt == 4) * (nF == 0)]

@ Relative abundance of species with a bisecting GlcNAc within sialylated tetra-antennary glycans
$ A4SB = [B] // [(type == 'complex') * (nAnt == 4) * (nS > 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-sialylated tetra-antennary glycans
$ A4S0B = [B] // [(type == 'complex') * (nAnt == 4) * (nS == 0)]

@ Relative abundance of species with a bisecting GlcNAc within fucosylated sialylated tetra-antennary glycans
$ A4FSB = [B] // [(type == 'complex') * (nAnt == 4) * (nF > 0) * (nS > 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-fucosylated sialylated tetra-antennary glycans
$ A4F0SB = [B] // [(type == 'complex') * (nAnt == 4) * (nF == 0) * (nS > 0)]

@ Relative abundance of species with a bisecting GlcNAc within fucosylated non-sialylated tetra-antennary glycans
$ A4FS0B = [B] // [(type == 'complex') * (nAnt == 4) * (nF > 0) * (nS == 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-fucosylated non-sialylated tetra-antennary glycans
$ A4F0S0B = [B] // [(type == 'complex') * (nAnt == 4) * (nF == 0) * (nS == 0)]

@ Relative abundance of species with a bisecting GlcNAc within a2,3-sialylated tetra-antennary glycans
$ A4LB = [B] // [(type == 'complex') * (nAnt == 4) * (nL > 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-a2,3-sialylated tetra-antennary glycans
$ A4L0B = [B] // [(type == 'complex') * (nAnt == 4) * (nL == 0)]

@ Relative abundance of species with a bisecting GlcNAc within fucosylated a2,3-sialylated tetra-antennary glycans
$ A4FLB = [B] // [(type == 'complex') * (nAnt == 4) * (nF > 0) * (nL > 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-fucosylated a2,3-sialylated tetra-antennary glycans
$ A4F0LB = [B] // [(type == 'complex') * (nAnt == 4) * (nF == 0) * (nL > 0)]

@ Relative abundance of species with a bisecting GlcNAc within fucosylated non-a2,3-sialylated tetra-antennary glycans
$ A4FL0B = [B] // [(type == 'complex') * (nAnt == 4) * (nF > 0) * (nL == 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-fucosylated non-a2,3-sialylated tetra-antennary glycans
$ A4F0L0B = [B] // [(type == 'complex') * (nAnt == 4) * (nF == 0) * (nL == 0)]

@ Relative abundance of species with a bisecting GlcNAc within a2,6-sialylated tetra-antennary glycans
$ A4EB = [B] // [(type == 'complex') * (nAnt == 4) * (nE > 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-a2,6-sialylated tetra-antennary glycans
$ A4E0B = [B] // [(type == 'complex') * (nAnt == 4) * (nE == 0)]

@ Relative abundance of species with a bisecting GlcNAc within fucosylated a2,6-sialylated tetra-antennary glycans
$ A4FEB = [B] // [(type == 'complex') * (nAnt == 4) * (nF > 0) * (nE > 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-fucosylated a2,6-sialylated tetra-antennary glycans
$ A4F0EB = [B] // [(type == 'complex') * (nAnt == 4) * (nF == 0) * (nE > 0)]

@ Relative abundance of species with a bisecting GlcNAc within fucosylated non-a2,6-sialylated tetra-antennary glycans
$ A4FE0B = [B] // [(type == 'complex') * (nAnt == 4) * (nF > 0) * (nE == 0)]

@ Relative abundance of species with a bisecting GlcNAc within non-fucosylated non-a2,6-sialylated tetra-antennary glycans
$ A4F0E0B = [B] // [(type == 'complex') * (nAnt == 4) * (nF == 0) * (nE == 0)]


# Galactosylaiton

@ Average number of galactoses on complex glycans
$ CG = [nG] // [type == 'complex']

@ Galactosylation per antenna within monoantennary glycans
$ A1G = [nG] // [(type == 'complex') * (nAnt == 1)]

@ Galactosylation per antenna within diantennary glycans
$ A2G = [nG / 2] // [(type == 'complex') * (nAnt == 2)]

@ Galactosylation per antenna within triantennary glycans
$ A3G = [nG / 3] // [(type == 'complex') * (nAnt == 3)]

@ Galactosylation per antenna within tetra-antennary glycans
$ A4G = [nG / 4] // [(type == 'complex') * (nAnt == 4)]

@ Galactosylation per antenna within fucosylated monoantennary glycans
$ A1FG = [nG] // [(type == 'complex') * (nAnt == 1) * (nF > 0)]

@ Galactosylation per antenna within fucosylated diantennary glycans
$ A2FG = [nG / 2] // [(type == 'complex') * (nAnt == 2) * (nF > 0)]

@ Galactosylation per antenna within fucosylated triantennary glycans
$ A3FG = [nG / 3] // [(type == 'complex') * (nAnt == 3) * (nF > 0)]

@ Galactosylation per antenna within fucosylated tetra-antennary glycans
$ A4FG = [nG / 4] // [(type == 'complex') * (nAnt == 4) * (nF > 0)]

@ Galactosylation per antenna within non-fucosylated monoantennary glycans
$ A1F0G = [nG] // [(type == 'complex') * (nAnt == 1) * (nF == 0)]

@ Galactosylation per antenna within non-fucosylated diantennary glycans
$ A2F0G = [nG / 2] // [(type == 'complex') * (nAnt == 2) * (nF == 0)]

@ Galactosylation per antenna within non-fucosylated triantennary glycans
$ A3F0G = [nG / 3] // [(type == 'complex') * (nAnt == 3) * (nF == 0)]

@ Galactosylation per antenna within non-fucosylated tetra-antennary glycans
$ A4F0G = [nG / 4] // [(type == 'complex') * (nAnt == 4) * (nF == 0)]

@ Galactosylation per antenna within sialylated monoantennary glycans
$ A1SG = [nG] // [(type == 'complex') * (nAnt == 1) * (nS > 0)]

@ Galactosylation per antenna within sialylated diantennary glycans
$ A2SG = [nG / 2] // [(type == 'complex') * (nAnt == 2) * (nS > 0)]

@ Galactosylation per antenna within sialylated triantennary glycans
$ A3SG = [nG / 3] // [(type == 'complex') * (nAnt == 3) * (nS > 0)]

@ Galactosylation per antenna within sialylated tetra-antennary glycans
$ A4SG = [nG / 4] // [(type == 'complex') * (nAnt == 4) * (nS > 0)]

@ Galactosylation per antenna within non-sialylated monoantennary glycans
$ A1S0G = [nG] // [(type == 'complex') * (nAnt == 1) * (nS == 0)]

@ Galactosylation per antenna within non-sialylated diantennary glycans
$ A2S0G = [nG / 2] // [(type == 'complex') * (nAnt == 2) * (nS == 0)]

@ Galactosylation per antenna within non-sialylated triantennary glycans
$ A3S0G = [nG / 3] // [(type == 'complex') * (nAnt == 3) * (nS == 0)]

@ Galactosylation per antenna within non-sialylated tetra-antennary glycans
$ A4S0G = [nG / 4] // [(type == 'complex') * (nAnt == 4) * (nS == 0)]

@ Galactosylation per antenna within fucosylated sialylated monoantennary glycans
$ A2FSG = [nG] // [(type == 'complex') * (nAnt == 1) * (nF > 0) * (nS > 0)]

@ Galactosylation per antenna within fucosylated sialylated diantennary glycans
$ A2FSG = [nG / 2] // [(type == 'complex') * (nAnt == 2) * (nF > 0) * (nS > 0)]

@ Galactosylation per antenna within fucosylated sialylated triantennary glycans
$ A3FSG = [nG / 3] // [(type == 'complex') * (nAnt == 3) * (nF > 0) * (nS > 0)]

@ Galactosylation per antenna within fucosylated sialylated tetra-antennary glycans
$ A4FSG = [nG / 4] // [(type == 'complex') * (nAnt == 4) * (nF > 0) * (nS > 0)]

@ Galactosylation per antenna within non-fucosylated sialylated monoantennary glycans
$ A1F0SG = [nG] // [(type == 'complex') * (nAnt == 1) * (nF == 0) * (nS > 0)]

@ Galactosylation per antenna within non-fucosylated sialylated diantennary glycans
$ A2F0SG = [nG / 2] // [(type == 'complex') * (nAnt == 2) * (nF == 0) * (nS > 0)]

@ Galactosylation per antenna within non-fucosylated sialylated triantennary glycans
$ A3F0SG = [nG / 3] // [(type == 'complex') * (nAnt == 3) * (nF == 0) * (nS > 0)]

@ Galactosylation per antenna within non-fucosylated sialylated tetra-antennary glycans
$ A4F0SG = [nG / 4] // [(type == 'complex') * (nAnt == 4) * (nF == 0) * (nS > 0)]

@ Galactosylation per antenna within fucosylated non-sialylated monoantennary glycans
$ A1FS0G = [nG] // [(type == 'complex') * (nAnt == 1) * (nF > 0) * (nS == 0)]

@ Galactosylation per antenna within fucosylated non-sialylated diantennary glycans
$ A2FS0G = [nG / 2] // [(type == 'complex') * (nAnt == 2) * (nF > 0) * (nS == 0)]

@ Galactosylation per antenna within fucosylated non-sialylated triantennary glycans
$ A3FS0G = [nG / 3] // [(type == 'complex') * (nAnt == 3) * (nF > 0) * (nS == 0)]

@ Galactosylation per antenna within fucosylated non-sialylated tetra-antennary glycans
$ A4FS0G = [nG / 4] // [(type == 'complex') * (nAnt == 4) * (nF > 0) * (nS == 0)]

@ Galactosylation per antenna within non-fucosylated, non-sialylated monoantennary glycans
$ A1F0S0G = [nG] // [(type == 'complex') * (nAnt == 1) * (nF == 0) * (nS == 0)]

@ Galactosylation per antenna within non-fucosylated, non-sialylated diantennary glycans
$ A2F0S0G = [nG / 2] // [(type == 'complex') * (nAnt == 2) * (nF == 0) * (nS == 0)]

@ Galactosylation per antenna within non-fucosylated, non-sialylated triantennary glycans
$ A3F0S0G = [nG / 3] // [(type == 'complex') * (nAnt == 3) * (nF == 0) * (nS == 0)]

@ Galactosylation per antenna within non-fucosylated, non-sialylated tetra-antennary glycans
$ A4F0S0G = [nG / 4] // [(type == 'complex') * (nAnt == 4) * (nF == 0) * (nS == 0)]

@ Galactosylation per antenna within a2,3-sialylated monoantennary glycans
$ A1LG = [nG] // [(type == 'complex') * (nAnt == 1) * (nL > 0)]

@ Galactosylation per antenna within a2,3-sialylated diantennary glycans
$ A2LG = [nG / 2] // [(type == 'complex') * (nAnt == 2) * (nL > 0)]

@ Galactosylation per antenna within a2,3-sialylated triantennary glycans
$ A3LG = [nG / 3] // [(type == 'complex') * (nAnt == 3) * (nL > 0)]

@ Galactosylation per antenna within a2,3-sialylated tetra-antennary glycans
$ A4LG = [nG / 4] // [(type == 'complex') * (nAnt == 4) * (nL > 0)]

@ Galactosylation per antenna within non-a2,3-sialylated monoantennary glycans
$ A1L0G = [nG] // [(type == 'complex') * (nAnt == 1) * (nL == 0)]

@ Galactosylation per antenna within non-a2,3-sialylated diantennary glycans
$ A2L0G = [nG / 2] // [(type == 'complex') * (nAnt == 2) * (nL == 0)]

@ Galactosylation per antenna within non-a2,3-sialylated triantennary glycans
$ A3L0G = [nG / 3] // [(type == 'complex') * (nAnt == 3) * (nL == 0)]

@ Galactosylation per antenna within non-a2,3-sialylated tetra-antennary glycans
$ A4L0G = [nG / 4] // [(type == 'complex') * (nAnt == 4) * (nL == 0)]

@ Galactosylation per antenna within fucosylated a2,3-sialylated monoantennary glycans
$ A1FLG = [nG] // [(type == 'complex') * (nAnt == 1) * (nF > 0) * (nL > 0)]

@ Galactosylation per antenna within fucosylated a2,3-sialylated diantennary glycans
$ A2FLG = [nG / 2] // [(type == 'complex') * (nAnt == 2) * (nF > 0) * (nL > 0)]

@ Galactosylation per antenna within fucosylated a2,3-sialylated triantennary glycans
$ A3FLG = [nG / 3] // [(type == 'complex') * (nAnt == 3) * (nF > 0) * (nL > 0)]

@ Galactosylation per antenna within fucosylated a2,3-sialylated tetra-antennary glycans
$ A4FLG = [nG / 4] // [(type == 'complex') * (nAnt == 4) * (nF > 0) * (nL > 0)]

@ Galactosylation per antenna within non-fucosylated a2,3-sialylated monoantennary glycans
$ A1F0LG = [nG] // [(type == 'complex') * (nAnt == 1) * (nF == 0) * (nL > 0)]

@ Galactosylation per antenna within non-fucosylated a2,3-sialylated diantennary glycans
$ A2F0LG = [nG / 2] // [(type == 'complex') * (nAnt == 2) * (nF == 0) * (nL > 0)]

@ Galactosylation per antenna within non-fucosylated a2,3-sialylated triantennary glycans
$ A3F0LG = [nG / 3] // [(type == 'complex') * (nAnt == 3) * (nF == 0) * (nL > 0)]

@ Galactosylation per antenna within non-fucosylated a2,3-sialylated tetra-antennary glycans
$ A4F0LG = [nG / 4] // [(type == 'complex') * (nAnt == 4) * (nF == 0) * (nL > 0)]

@ Galactosylation per antenna within fucosylated non-a2,3-sialylated monoantennary glycans
$ A1FL0G = [nG] // [(type == 'complex') * (nAnt == 1) * (nF > 0) * (nL == 0)]

@ Galactosylation per antenna within fucosylated non-a2,3-sialylated diantennary glycans
$ A2FL0G = [nG / 2] // [(type == 'complex') * (nAnt == 2) * (nF > 0) * (nL == 0)]

@ Galactosylation per antenna within fucosylated non-a2,3-sialylated triantennary glycans
$ A3FL0G = [nG / 3] // [(type == 'complex') * (nAnt == 3) * (nF > 0) * (nL == 0)]

@ Galactosylation per antenna within fucosylated non-a2,3-sialylated tetra-antennary glycans
$ A4FL0G = [nG / 4] // [(type == 'complex') * (nAnt == 4) * (nF > 0) * (nL == 0)]

@ Galactosylation per antenna within non-fucosylated, non-a2,3-sialylated monoantennary glycans
$ A1F0L0G = [nG] // [(type == 'complex') * (nAnt == 1) * (nF == 0) * (nL == 0)]

@ Galactosylation per antenna within non-fucosylated, non-a2,3-sialylated diantennary glycans
$ A2F0L0G = [nG / 2] // [(type == 'complex') * (nAnt == 2) * (nF == 0) * (nL == 0)]

@ Galactosylation per antenna within non-fucosylated, non-a2,3-sialylated triantennary glycans
$ A3F0L0G = [nG / 3] // [(type == 'complex') * (nAnt == 3) * (nF == 0) * (nL == 0)]

@ Galactosylation per antenna within non-fucosylated, non-a2,3-sialylated tetra-antennary glycans
$ A4F0L0G = [nG / 4] // [(type == 'complex') * (nAnt == 4) * (nF == 0) * (nL == 0)]

@ Galactosylation per antenna within a2,6-sialylated monoantennary glycans
$ A1EG = [nG] // [(type == 'complex') * (nAnt == 1) * (nE > 0)]

@ Galactosylation per antenna within a2,6-sialylated diantennary glycans
$ A2EG = [nG / 2] // [(type == 'complex') * (nAnt == 2) * (nE > 0)]

@ Galactosylation per antenna within a2,6-sialylated triantennary glycans
$ A3EG = [nG / 3] // [(type == 'complex') * (nAnt == 3) * (nE > 0)]

@ Galactosylation per antenna within a2,6-sialylated tetra-antennary glycans
$ A4EG = [nG / 4] // [(type == 'complex') * (nAnt == 4) * (nE > 0)]

@ Galactosylation per antenna within non-a2,6-sialylated monoantennary glycans
$ A1E0G = [nG] // [(type == 'complex') * (nAnt == 1) * (nE == 0)]

@ Galactosylation per antenna within non-a2,6-sialylated diantennary glycans
$ A2E0G = [nG / 2] // [(type == 'complex') * (nAnt == 2) * (nE == 0)]

@ Galactosylation per antenna within non-a2,6-sialylated triantennary glycans
$ A3E0G = [nG / 3] // [(type == 'complex') * (nAnt == 3) * (nE == 0)]

@ Galactosylation per antenna within non-a2,6-sialylated tetra-antennary glycans
$ A4E0G = [nG / 4] // [(type == 'complex') * (nAnt == 4) * (nE == 0)]

@ Galactosylation per antenna within fucosylated a2,6-sialylated monoantennary glycans
$ A1FEG = [nG] // [(type == 'complex') * (nAnt == 1) * (nF > 0) * (nE > 0)]

@ Galactosylation per antenna within fucosylated a2,6-sialylated diantennary glycans
$ A2FEG = [nG / 2] // [(type == 'complex') * (nAnt == 2) * (nF > 0) * (nE > 0)]

@ Galactosylation per antenna within fucosylated a2,6-sialylated triantennary glycans
$ A3FEG = [nG / 3] // [(type == 'complex') * (nAnt == 3) * (nF > 0) * (nE > 0)]

@ Galactosylation per antenna within fucosylated a2,6-sialylated tetra-antennary glycans
$ A4FEG = [nG / 4] // [(type == 'complex') * (nAnt == 4) * (nF > 0) * (nE > 0)]

@ Galactosylation per antenna within non-fucosylated a2,6-sialylated monoantennary glycans
$ A1F0EG = [nG] // [(type == 'complex') * (nAnt == 1) * (nF == 0) * (nE > 0)]

@ Galactosylation per antenna within non-fucosylated a2,6-sialylated diantennary glycans
$ A2F0EG = [nG / 2] // [(type == 'complex') * (nAnt == 2) * (nF == 0) * (nE > 0)]

@ Galactosylation per antenna within non-fucosylated a2,6-sialylated triantennary glycans
$ A3F0EG = [nG / 3] // [(type == 'complex') * (nAnt == 3) * (nF == 0) * (nE > 0)]

@ Galactosylation per antenna within non-fucosylated a2,6-sialylated tetra-antennary glycans
$ A4F0EG = [nG / 4] // [(type == 'complex') * (nAnt == 4) * (nF == 0) * (nE > 0)]

@ Galactosylation per antenna within fucosylated non-a2,6-sialylated monoantennary glycans
$ A1FE0G = [nG] // [(type == 'complex') * (nAnt == 1) * (nF > 0) * (nE == 0)]

@ Galactosylation per antenna within fucosylated non-a2,6-sialylated diantennary glycans
$ A2FE0G = [nG / 2] // [(type == 'complex') * (nAnt == 2) * (nF > 0) * (nE == 0)]

@ Galactosylation per antenna within fucosylated non-a2,6-sialylated triantennary glycans
$ A3FE0G = [nG / 3] // [(type == 'complex') * (nAnt == 3) * (nF > 0) * (nE == 0)]

@ Galactosylation per antenna within fucosylated non-a2,6-sialylated tetra-antennary glycans
$ A4FE0G = [nG / 4] // [(type == 'complex') * (nAnt == 4) * (nF > 0) * (nE == 0)]

@ Galactosylation per antenna within non-fucosylated, non-a2,6-sialylated monoantennary glycans
$ A1F0E0G = [nG] // [(type == 'complex') * (nAnt == 1) * (nF == 0) * (nE == 0)]

@ Galactosylation per antenna within non-fucosylated, non-a2,6-sialylated diantennary glycans
$ A2F0E0G = [nG / 2] // [(type == 'complex') * (nAnt == 2) * (nF == 0) * (nE == 0)]

@ Galactosylation per antenna within non-fucosylated, non-a2,6-sialylated triantennary glycans
$ A3F0E0G = [nG / 3] // [(type == 'complex') * (nAnt == 3) * (nF == 0) * (nE == 0)]

@ Galactosylation per antenna within non-fucosylated, non-a2,6-sialylated tetra-antennary glycans
$ A4F0E0G = [nG / 4] // [(type == 'complex') * (nAnt == 4) * (nF == 0) * (nE == 0)]


# Sialylation

@ Average number of sialic acids on complex glycans
$ CS = [nS] // [type == 'complex']

@ Sialylation per antenna within monoantennary glycans
$ A1S = [nS] // [(type == 'complex') * (nAnt == 1)]

@ Sialylation per antenna within diantennary glycans
$ A2S = [nS / 2] // [(type == 'complex') * (nAnt == 2)]

@ Sialylation per antenna within triantennary glycans
$ A3S = [nS / 3] // [(type == 'complex') * (nAnt == 3)]

@ Sialylation per antenna within tetra-antennary glycans
$ A4S = [nS / 4] // [(type == 'complex') * (nAnt == 4)]

@ Sialylation per antenna within fucosylated monoantennary glycans
$ A1FS = [nS] // [(type == 'complex') * (nAnt == 1) * (nF > 0)]

@ Sialylation per antenna within fucosylated diantennary glycans
$ A2FS = [nS / 2] // [(type == 'complex') * (nAnt == 2) * (nF > 0)]

@ Sialylation per antenna within fucosylated triantennary glycans
$ A3FS = [nS / 3] // [(type == 'complex') * (nAnt == 3) * (nF > 0)]

@ Sialylation per antenna within fucosylated tetra-antennary glycans
$ A4FS = [nS / 4] // [(type == 'complex') * (nAnt == 4) * (nF > 0)]

@ Sialylation per antenna within non-fucosylated monoantennary glycans
$ A1F0S = [nS] // [(type == 'complex') * (nAnt == 1) * (nF == 0)]

@ Sialylation per antenna within non-fucosylated diantennary glycans
$ A2F0S = [nS / 2] // [(type == 'complex') * (nAnt == 2) * (nF == 0)]

@ Sialylation per antenna within non-fucosylated triantennary glycans
$ A3F0S = [nS / 3] // [(type == 'complex') * (nAnt == 3) * (nF == 0)]

@ Sialylation per antenna within non-fucosylated tetra-antennary glycans
$ A4F0S = [nS / 4] // [(type == 'complex') * (nAnt == 4) * (nF == 0)]

@ Sialylation per galactose within monoantennary glycans
$ A1GS = [nS / nG] // [(type == 'complex') * (nAnt == 1)]

@ Sialylation per galactose within diantennary glycans
$ A2GS = [nS / nG] // [(type == 'complex') * (nAnt == 2)]

@ Sialylation per galactose within triantennary glycans
$ A3GS = [nS / nG] // [(type == 'complex') * (nAnt == 3)]

@ Sialylation per galactose within tetra-antennary glycans
$ A4GS = [nS / nG] // [(type == 'complex') * (nAnt == 4)]

@ Sialylation per galactose within fucosylated monoantennary glycans
$ A1FGS = [nS / nG] // [(type == 'complex') * (nAnt == 1) * (nF > 0)]

@ Sialylation per galactose within fucosylated diantennary glycans
$ A2FGS = [nS / nG] // [(type == 'complex') * (nAnt == 2) * (nF > 0)]

@ Sialylation per galactose within fucosylated triantennary glycans
$ A3FGS = [nS / nG] // [(type == 'complex') * (nAnt == 3) * (nF > 0)]

@ Sialylation per galactose within fucosylated tetra-antennary glycans
$ A4FGS = [nS / nG] // [(type == 'complex') * (nAnt == 4) * (nF > 0)]

@ Sialylation per galactose within non-fucosylated monoantennary glycans
$ A1F0GS = [nS / nG] // [(type == 'complex') * (nAnt == 1) * (nF == 0)]

@ Sialylation per galactose within non-fucosylated diantennary glycans
$ A2F0GS = [nS / nG] // [(type == 'complex') * (nAnt == 2) * (nF == 0)]

@ Sialylation per galactose within non-fucosylated triantennary glycans
$ A3F0GS = [nS / nG] // [(type == 'complex') * (nAnt == 3) * (nF == 0)]

@ Sialylation per galactose within non-fucosylated tetra-antennary glycans
$ A4F0GS = [nS / nG] // [(type == 'complex') * (nAnt == 4) * (nF == 0)]


# α2,3-linked sialylation

@ Average number of α2,3-linked sialic acids on complex glycans
$ CL = [nL] // [type == 'complex']

@ α2,3-sialylation per antenna within monoantennary glycans
$ A1L = [nL] // [(type == 'complex') * (nAnt == 1)]

@ α2,3-sialylation per antenna within diantennary glycans
$ A2L = [nL / 2] // [(type == 'complex') * (nAnt == 2)]

@ α2,3-sialylation per antenna within triantennary glycans
$ A3L = [nL / 3] // [(type == 'complex') * (nAnt == 3)]

@ α2,3-sialylation per antenna within tetra-antennary glycans
$ A4L = [nL / 4] // [(type == 'complex') * (nAnt == 4)]

@ α2,3-sialylation per antenna within fucosylated monoantennary glycans
$ A1FL = [nL] // [(type == 'complex') * (nAnt == 1) * (nF > 0)]

@ α2,3-sialylation per antenna within fucosylated diantennary glycans
$ A2FL = [nL / 2] // [(type == 'complex') * (nAnt == 2) * (nF > 0)]

@ α2,3-sialylation per antenna within fucosylated triantennary glycans
$ A3FL = [nL / 3] // [(type == 'complex') * (nAnt == 3) * (nF > 0)]

@ α2,3-sialylation per antenna within fucosylated tetra-antennary glycans
$ A4FL = [nL / 4] // [(type == 'complex') * (nAnt == 4) * (nF > 0)]

@ α2,3-sialylation per antenna within non-fucosylated monoantennary glycans
$ A1F0L = [nL] // [(type == 'complex') * (nAnt == 1) * (nF == 0)]

@ α2,3-sialylation per antenna within non-fucosylated diantennary glycans
$ A2F0L = [nL / 2] // [(type == 'complex') * (nAnt == 2) * (nF == 0)]

@ α2,3-sialylation per antenna within non-fucosylated triantennary glycans
$ A3F0L = [nL / 3] // [(type == 'complex') * (nAnt == 3) * (nF == 0)]

@ α2,3-sialylation per antenna within non-fucosylated tetra-antennary glycans
$ A4F0L = [nL / 4] // [(type == 'complex') * (nAnt == 4) * (nF == 0)]

@ α2,3-sialylation per galactose within monoantennary glycans
$ A1GL = [nL / nG] // [(type == 'complex') * (nAnt == 1)]

@ α2,3-sialylation per galactose within diantennary glycans
$ A2GL = [nL / nG] // [(type == 'complex') * (nAnt == 2)]

@ α2,3-sialylation per galactose within triantennary glycans
$ A3GL = [nL / nG] // [(type == 'complex') * (nAnt == 3)]

@ α2,3-sialylation per galactose within tetra-antennary glycans
$ A4GL = [nL / nG] // [(type == 'complex') * (nAnt == 4)]

@ α2,3-sialylation per galactose within fucosylated monoantennary glycans
$ A1FGL = [nL / nG] // [(type == 'complex') * (nAnt == 1) * (nF > 0)]

@ α2,3-sialylation per galactose within fucosylated diantennary glycans
$ A2FGL = [nL / nG] // [(type == 'complex') * (nAnt == 2) * (nF > 0)]

@ α2,3-sialylation per galactose within fucosylated triantennary glycans
$ A3FGL = [nL / nG] // [(type == 'complex') * (nAnt == 3) * (nF > 0)]

@ α2,3-sialylation per galactose within fucosylated tetra-antennary glycans
$ A4FGL = [nL / nG] // [(type == 'complex') * (nAnt == 4) * (nF > 0)]

@ α2,3-sialylation per galactose within non-fucosylated monoantennary glycans
$ A1F0GL = [nL / nG] // [(type == 'complex') * (nAnt == 1) * (nF == 0)]

@ α2,3-sialylation per galactose within non-fucosylated diantennary glycans
$ A2F0GL = [nL / nG] // [(type == 'complex') * (nAnt == 2) * (nF == 0)]

@ α2,3-sialylation per galactose within non-fucosylated triantennary glycans
$ A3F0GL = [nL / nG] // [(type == 'complex') * (nAnt == 3) * (nF == 0)]

@ α2,3-sialylation per galactose within non-fucosylated tetra-antennary glycans
$ A4F0GL = [nL / nG] // [(type == 'complex') * (nAnt == 4) * (nF == 0)]


# α2,6-linked sialylation

@ Average number of α2,6-linked sialic acids on complex glycans
$ CE = [nE] // [type == 'complex']

@ α2,6-sialylation per antenna within monoantennary glycans
$ A1E = [nE] // [(type == 'complex') * (nAnt == 1)]

@ α2,6-sialylation per antenna within diantennary glycans
$ A2E = [nE / 2] // [(type == 'complex') * (nAnt == 2)]

@ α2,6-sialylation per antenna within triantennary glycans
$ A3E = [nE / 3] // [(type == 'complex') * (nAnt == 3)]

@ α2,6-sialylation per antenna within tetra-antennary glycans
$ A4E = [nE / 4] // [(type == 'complex') * (nAnt == 4)]

@ α2,6-sialylation per antenna within fucosylated monoantennary glycans
$ A1FE = [nE] // [(type == 'complex') * (nAnt == 1) * (nF > 0)]

@ α2,6-sialylation per antenna within fucosylated diantennary glycans
$ A2FE = [nE / 2] // [(type == 'complex') * (nAnt == 2) * (nF > 0)]

@ α2,6-sialylation per antenna within fucosylated triantennary glycans
$ A3FE = [nE / 3] // [(type == 'complex') * (nAnt == 3) * (nF > 0)]

@ α2,6-sialylation per antenna within fucosylated tetra-antennary glycans
$ A4FE = [nE / 4] // [(type == 'complex') * (nAnt == 4) * (nF > 0)]

@ α2,6-sialylation per antenna within non-fucosylated monoantennary glycans
$ A1F0E = [nE] // [(type == 'complex') * (nAnt == 1) * (nF == 0)]

@ α2,6-sialylation per antenna within non-fucosylated diantennary glycans
$ A2F0E = [nE / 2] // [(type == 'complex') * (nAnt == 2) * (nF == 0)]

@ α2,6-sialylation per antenna within non-fucosylated triantennary glycans
$ A3F0E = [nE / 3] // [(type == 'complex') * (nAnt == 3) * (nF == 0)]

@ α2,6-sialylation per antenna within non-fucosylated tetra-antennary glycans
$ A4F0E = [nE / 4] // [(type == 'complex') * (nAnt == 4) * (nF == 0)]

@ α2,6-sialylation per galactose within monoantennary glycans
$ A1GE = [nE / nG] // [(type == 'complex') * (nAnt == 1)]

@ α2,6-sialylation per galactose within diantennary glycans
$ A2GE = [nE / nG] // [(type == 'complex') * (nAnt == 2)]

@ α2,6-sialylation per galactose within triantennary glycans
$ A3GE = [nE / nG] // [(type == 'complex') * (nAnt == 3)]

@ α2,6-sialylation per galactose within tetra-antennary glycans
$ A4GE = [nE / nG] // [(type == 'complex') * (nAnt == 4)]

@ α2,6-sialylation per galactose within fucosylated monoantennary glycans
$ A1FGE = [nE / nG] // [(type == 'complex') * (nAnt == 1) * (nF > 0)]

@ α2,6-sialylation per galactose within fucosylated diantennary glycans
$ A2FGE = [nE / nG] // [(type == 'complex') * (nAnt == 2) * (nF > 0)]

@ α2,6-sialylation per galactose within fucosylated triantennary glycans
$ A3FGE = [nE / nG] // [(type == 'complex') * (nAnt == 3) * (nF > 0)]

@ α2,6-sialylation per galactose within fucosylated tetra-antennary glycans
$ A4FGE = [nE / nG] // [(type == 'complex') * (nAnt == 4) * (nF > 0)]

@ α2,6-sialylation per galactose within non-fucosylated monoantennary glycans
$ A1F0GE = [nE / nG] // [(type == 'complex') * (nAnt == 1) * (nF == 0)]

@ α2,6-sialylation per galactose within non-fucosylated diantennary glycans
$ A2F0GE = [nE / nG] // [(type == 'complex') * (nAnt == 2) * (nF == 0)]

@ α2,6-sialylation per galactose within non-fucosylated triantennary glycans
$ A3F0GE = [nE / nG] // [(type == 'complex') * (nAnt == 3) * (nF == 0)]

@ α2,6-sialylation per galactose within non-fucosylated tetra-antennary glycans
$ A4F0GE = [nE / nG] // [(type == 'complex') * (nAnt == 4) * (nF == 0)]


# Poly-LacNAc

@ Relative abundance of species with poly-LacNAc within all complex glycans
$ CPl = [Pl] // [type == 'complex']

@ Relative abundance of species with poly-LacNAc within diantennary glycans
$ A2Pl = [Pl] // [(type == 'complex') * (nAnt == 2)]

@ Relative abundance of species with poly-LacNAc within fucosylated diantennary
$ A2FPl = [Pl] // [(type == 'complex') * (nAnt == 2) * (nF > 0)]

@ Relative abundance of species with poly-LacNAc within non-fucosylated diantennary glycans
$ A2F0Pl = [Pl] // [(type == 'complex') * (nAnt == 2) * (nF == 0)]

@ Relative abundance of species with poly-LacNAc within sialylated diantennary glycans
$ A2SPl = [Pl] // [(type == 'complex') * (nAnt == 2) * (nS > 0)]

@ Relative abundance of species with poly-LacNAc within non-sialylated diantennary glycans
$ A2S0Pl = [Pl] // [(type == 'complex') * (nAnt == 2) * (nS == 0)]

@ Relative abundance of species with poly-LacNAc within fucosylated sialylated diantennary glycans
$ A2FSPl = [Pl] // [(type == 'complex') * (nAnt == 2) * (nF > 0) * (nS > 0)]

@ Relative abundance of species with poly-LacNAc within non-fucosylated sialylated diantennary glycans
$ A2F0SPl = [Pl] // [(type == 'complex') * (nAnt == 2) * (nF == 0) * (nS > 0)]

@ Relative abundance of species with poly-LacNAc within fucosylated non-sialylated diantennary glycans
$ A2FS0Pl = [Pl] // [(type == 'complex') * (nAnt == 2) * (nF > 0) * (nS == 0)]

@ Relative abundance of species with poly-LacNAc within non-fucosylated non-sialylated diantennary glycans
$ A2F0S0Pl = [Pl] // [(type == 'complex') * (nAnt == 2) * (nF == 0) * (nS == 0)]

@ Relative abundance of species with poly-LacNAc within a2,3-sialylated diantennary glycans
$ A2LPl = [Pl] // [(type == 'complex') * (nAnt == 2) * (nL > 0)]

@ Relative abundance of species with poly-LacNAc within non-a2,3-sialylated diantennary glycans
$ A2L0Pl = [Pl] // [(type == 'complex') * (nAnt == 2) * (nL == 0)]

@ Relative abundance of species with poly-LacNAc within fucosylated a2,3-sialylated diantennary glycans
$ A2FLPl = [Pl] // [(type == 'complex') * (nAnt == 2) * (nF > 0) * (nL > 0)]

@ Relative abundance of species with poly-LacNAc within non-fucosylated a2,3-sialylated diantennary glycans
$ A2F0LPl = [Pl] // [(type == 'complex') * (nAnt == 2) * (nF == 0) * (nL > 0)]

@ Relative abundance of species with poly-LacNAc within fucosylated non-a2,3-sialylated diantennary glycans
$ A2FL0Pl = [Pl] // [(type == 'complex') * (nAnt == 2) * (nF > 0) * (nL == 0)]

@ Relative abundance of species with poly-LacNAc within non-fucosylated non-a2,3-sialylated diantennary glycans
$ A2F0L0Pl = [Pl] // [(type == 'complex') * (nAnt == 2) * (nF == 0) * (nL == 0)]

@ Relative abundance of species with poly-LacNAc within a2,6-sialylated diantennary glycans
$ A2EPl = [Pl] // [(type == 'complex') * (nAnt == 2) * (nE > 0)]

@ Relative abundance of species with poly-LacNAc within non-a2,6-sialylated diantennary glycans
$ A2E0Pl = [Pl] // [(type == 'complex') * (nAnt == 2) * (nE == 0)]

@ Relative abundance of species with poly-LacNAc within fucosylated a2,6-sialylated diantennary glycans
$ A2FEPl = [Pl] // [(type == 'complex') * (nAnt == 2) * (nF > 0) * (nE > 0)]

@ Relative abundance of species with poly-LacNAc within non-fucosylated a2,6-sialylated diantennary glycans
$ A2F0EPl = [Pl] // [(type == 'complex') * (nAnt == 2) * (nF == 0) * (nE > 0)]

@ Relative abundance of species with poly-LacNAc within fucosylated non-a2,6-sialylated diantennary glycans
$ A2FE0Pl = [Pl] // [(type == 'complex') * (nAnt == 2) * (nF > 0) * (nE == 0)]

@ Relative abundance of species with poly-LacNAc within non-fucosylated non-a2,6-sialylated diantennary glycans
$ A2F0E0Pl = [Pl] // [(type == 'complex') * (nAnt == 2) * (nF == 0) * (nE == 0)]

@ Relative abundance of species with poly-LacNAc within triantennary glycans
$ A3Pl = [Pl] // [(type == 'complex') * (nAnt == 3)]

@ Relative abundance of species with poly-LacNAc within fucosylated triantennary
$ A3FPl = [Pl] // [(type == 'complex') * (nAnt == 3) * (nF > 0)]

@ Relative abundance of species with poly-LacNAc within non-fucosylated triantennary glycans
$ A3F0Pl = [Pl] // [(type == 'complex') * (nAnt == 3) * (nF == 0)]

@ Relative abundance of species with poly-LacNAc within sialylated triantennary glycans
$ A3SPl = [Pl] // [(type == 'complex') * (nAnt == 3) * (nS > 0)]

@ Relative abundance of species with poly-LacNAc within non-sialylated triantennary glycans
$ A3S0Pl = [Pl] // [(type == 'complex') * (nAnt == 3) * (nS == 0)]

@ Relative abundance of species with poly-LacNAc within fucosylated sialylated triantennary glycans
$ A3FSPl = [Pl] // [(type == 'complex') * (nAnt == 3) * (nF > 0) * (nS > 0)]

@ Relative abundance of species with poly-LacNAc within non-fucosylated sialylated triantennary glycans
$ A3F0SPl = [Pl] // [(type == 'complex') * (nAnt == 3) * (nF == 0) * (nS > 0)]

@ Relative abundance of species with poly-LacNAc within fucosylated non-sialylated triantennary glycans
$ A3FS0Pl = [Pl] // [(type == 'complex') * (nAnt == 3) * (nF > 0) * (nS == 0)]

@ Relative abundance of species with poly-LacNAc within non-fucosylated non-sialylated triantennary glycans
$ A3F0S0Pl = [Pl] // [(type == 'complex') * (nAnt == 3) * (nF == 0) * (nS == 0)]

@ Relative abundance of species with poly-LacNAc within a2,3-sialylated triantennary glycans
$ A3LPl = [Pl] // [(type == 'complex') * (nAnt == 3) * (nL > 0)]

@ Relative abundance of species with poly-LacNAc within non-a2,3-sialylated triantennary glycans
$ A3L0Pl = [Pl] // [(type == 'complex') * (nAnt == 3) * (nL == 0)]

@ Relative abundance of species with poly-LacNAc within fucosylated a2,3-sialylated triantennary glycans
$ A3FLPl = [Pl] // [(type == 'complex') * (nAnt == 3) * (nF > 0) * (nL > 0)]

@ Relative abundance of species with poly-LacNAc within non-fucosylated a2,3-sialylated triantennary glycans
$ A3F0LPl = [Pl] // [(type == 'complex') * (nAnt == 3) * (nF == 0) * (nL > 0)]

@ Relative abundance of species with poly-LacNAc within fucosylated non-a2,3-sialylated triantennary glycans
$ A3FL0Pl = [Pl] // [(type == 'complex') * (nAnt == 3) * (nF > 0) * (nL == 0)]

@ Relative abundance of species with poly-LacNAc within non-fucosylated non-a2,3-sialylated triantennary glycans
$ A3F0L0Pl = [Pl] // [(type == 'complex') * (nAnt == 3) * (nF == 0) * (nL == 0)]

@ Relative abundance of species with poly-LacNAc within a2,6-sialylated triantennary glycans
$ A3EPl = [Pl] // [(type == 'complex') * (nAnt == 3) * (nE > 0)]

@ Relative abundance of species with poly-LacNAc within non-a2,6-sialylated triantennary glycans
$ A3E0Pl = [Pl] // [(type == 'complex') * (nAnt == 3) * (nE == 0)]

@ Relative abundance of species with poly-LacNAc within fucosylated a2,6-sialylated triantennary glycans
$ A3FEPl = [Pl] // [(type == 'complex') * (nAnt == 3) * (nF > 0) * (nE > 0)]

@ Relative abundance of species with poly-LacNAc within non-fucosylated a2,6-sialylated triantennary glycans
$ A3F0EPl = [Pl] // [(type == 'complex') * (nAnt == 3) * (nF == 0) * (nE > 0)]

@ Relative abundance of species with poly-LacNAc within fucosylated non-a2,6-sialylated triantennary glycans
$ A3FE0Pl = [Pl] // [(type == 'complex') * (nAnt == 3) * (nF > 0) * (nE == 0)]

@ Relative abundance of species with poly-LacNAc within non-fucosylated non-a2,6-sialylated triantennary glycans
$ A3F0E0Pl = [Pl] // [(type == 'complex') * (nAnt == 3) * (nF == 0) * (nE == 0)]

@ Relative abundance of species with poly-LacNAc within tetra-antennary glycans
$ A4Pl = [Pl] // [(type == 'complex') * (nAnt == 4)]

@ Relative abundance of species with poly-LacNAc within fucosylated tetra-antennary
$ A4FPl = [Pl] // [(type == 'complex') * (nAnt == 4) * (nF > 0)]

@ Relative abundance of species with poly-LacNAc within non-fucosylated tetra-antennary glycans
$ A4F0Pl = [Pl] // [(type == 'complex') * (nAnt == 4) * (nF == 0)]

@ Relative abundance of species with poly-LacNAc within sialylated tetra-antennary glycans
$ A4SPl = [Pl] // [(type == 'complex') * (nAnt == 4) * (nS > 0)]

@ Relative abundance of species with poly-LacNAc within non-sialylated tetra-antennary glycans
$ A4S0Pl = [Pl] // [(type == 'complex') * (nAnt == 4) * (nS == 0)]

@ Relative abundance of species with poly-LacNAc within fucosylated sialylated tetra-antennary glycans
$ A4FSPl = [Pl] // [(type == 'complex') * (nAnt == 4) * (nF > 0) * (nS > 0)]

@ Relative abundance of species with poly-LacNAc within non-fucosylated sialylated tetra-antennary glycans
$ A4F0SPl = [Pl] // [(type == 'complex') * (nAnt == 4) * (nF == 0) * (nS > 0)]

@ Relative abundance of species with poly-LacNAc within fucosylated non-sialylated tetra-antennary glycans
$ A4FS0Pl = [Pl] // [(type == 'complex') * (nAnt == 4) * (nF > 0) * (nS == 0)]

@ Relative abundance of species with poly-LacNAc within non-fucosylated non-sialylated tetra-antennary glycans
$ A4F0S0Pl = [Pl] // [(type == 'complex') * (nAnt == 4) * (nF == 0) * (nS == 0)]

@ Relative abundance of species with poly-LacNAc within a2,3-sialylated tetra-antennary glycans
$ A4LPl = [Pl] // [(type == 'complex') * (nAnt == 4) * (nL > 0)]

@ Relative abundance of species with poly-LacNAc within non-a2,3-sialylated tetra-antennary glycans
$ A4L0Pl = [Pl] // [(type == 'complex') * (nAnt == 4) * (nL == 0)]

@ Relative abundance of species with poly-LacNAc within fucosylated a2,3-sialylated tetra-antennary glycans
$ A4FLPl = [Pl] // [(type == 'complex') * (nAnt == 4) * (nF > 0) * (nL > 0)]

@ Relative abundance of species with poly-LacNAc within non-fucosylated a2,3-sialylated tetra-antennary glycans
$ A4F0LPl = [Pl] // [(type == 'complex') * (nAnt == 4) * (nF == 0) * (nL > 0)]

@ Relative abundance of species with poly-LacNAc within fucosylated non-a2,3-sialylated tetra-antennary glycans
$ A4FL0Pl = [Pl] // [(type == 'complex') * (nAnt == 4) * (nF > 0) * (nL == 0)]

@ Relative abundance of species with poly-LacNAc within non-fucosylated non-a2,3-sialylated tetra-antennary glycans
$ A4F0L0Pl = [Pl] // [(type == 'complex') * (nAnt == 4) * (nF == 0) * (nL == 0)]

@ Relative abundance of species with poly-LacNAc within a2,6-sialylated tetra-antennary glycans
$ A4EPl = [Pl] // [(type == 'complex') * (nAnt == 4) * (nE > 0)]

@ Relative abundance of species with poly-LacNAc within non-a2,6-sialylated tetra-antennary glycans
$ A4E0Pl = [Pl] // [(type == 'complex') * (nAnt == 4) * (nE == 0)]

@ Relative abundance of species with poly-LacNAc within fucosylated a2,6-sialylated tetra-antennary glycans
$ A4FEPl = [Pl] // [(type == 'complex') * (nAnt == 4) * (nF > 0) * (nE > 0)]

@ Relative abundance of species with poly-LacNAc within non-fucosylated a2,6-sialylated tetra-antennary glycans
$ A4F0EPl = [Pl] // [(type == 'complex') * (nAnt == 4) * (nF == 0) * (nE > 0)]

@ Relative abundance of species with poly-LacNAc within fucosylated non-a2,6-sialylated tetra-antennary glycans
$ A4FE0Pl = [Pl] // [(type == 'complex') * (nAnt == 4) * (nF > 0) * (nE == 0)]

@ Relative abundance of species with poly-LacNAc within non-fucosylated non-a2,6-sialylated tetra-antennary glycans
$ A4F0E0Pl = [Pl] // [(type == 'complex') * (nAnt == 4) * (nF == 0) * (nE == 0)]
