# 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)]
