BMIC Molecular Entity Ontology
type: Ontology
label: Molecular Entity Ontology
abstract: This module contains terms and relations necessary for representing selected molecular entities in biopharmaceutical manufacturing, including molecular entity populations, molecular entity roles, chemical residues and moieties, biological sequences, proteins, glycans, glycoproteins, and glycosylation- and glycation-related residues. Many molecular entity terms are adapted from ChEBI and represented using IOF annotation conventions and modeling patterns to support consistent description of molecular structure, composition, and role.
license: http://opensource.org/licenses/MIT
imports: Core
version IRI: MolecularEntity
copyright: Copyright (c) 2022, 2023, 2024, 2025, 2026 Open Applications Group
maturity: Released

acid-base indicator role
type: Class
subclass of: molecular color indicator role
example: Phenol red bearing an acid-base indicator role when its color indicates the pH range of cell culture medium; Bromothymol blue bearing an acid-base indicator role when its color change indicates a shift from acidic to neutral or basic pH; Methyl orange bearing an acid-base indicator role during an acid-base titration; Phenolphthalein bearing an acid-base indicator role when its color change indicates the endpoint of a titration.
adapted from: http://purl.obolibrary.org/obo/CHEBI_50407
explanatory note: Acid-base indicators are typically weak acids or weak bases whose conjugate forms differ in color over a characteristic pH transition range. In titration applications, the indicator is selected so that its color change occurs at or near the equivalence point. In cell culture or process contexts, an acid-base indicator may be used to provide a visual indication that the medium, buffer, or solution has shifted into a different pH range.
first order logic axiom: AcidBaseIndicatorRole(x) → MolecularColorIndicatorRole(x)
is primitive: true
natural language definition: molecular color indicator role held by a molecular entity when it is used or planned to be used so that its color indicates the pH range of a material entity
primitive rationale: There are insufficient constructs present to create a set of necessary and sufficient conditions
semi formal natural language axiom: if x is an 'acid-base indicator role' then x is a 'molecular color indicator role'

acidic charge variant population
type: Class
subclass of: protein charge variant population
equivalent class: Class
  intersection of: protein charge variant population
  intersection of: Restriction
    on property: classifiedBy
    some values from: protein acidic charge variant classifier
example: deamidated monoclonal antibody population; sialylated antibody glycoform-enriched population; acidic peak population detected by cation-exchange chromatography; lower-pI protein population detected by capillary isoelectric focusing
first order logic definition: AcidicChargeVariantPopulation(x) ↔ ProteinChargeVariantPopulation(x) ∧ ∃c(ProteinAcidicChargeVariantClassifier(c) ∧ classifiedBy(x, c))
natural language definition: protein charge variant population classified by a protein acidic charge variant classifier
semi formal natural language definition: every instance of 'acidic charge variant population' is defined as exactly an instance of 'protein charge variant population' that is 'classified by' some 'protein acidic charge variant classifier'

amino acid
type: Class
subclass of: organic molecular entity
example: Alanine; Glycine; Lysine; Glutamic acid
adapted from: https://www.ebi.ac.uk/chebi/CHEBI:33709
first order logic axiom: AminoAcid(x) → OrganicMolecularEntity(x)
is primitive: true
natural language definition: organic molecular entity that contains a carboxyl group and one or more amino groups
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is an 'amino acid' then x is an 'organic molecular entity'

amino acid residue
type: Class
subclass of: chemical moiety
subclass of: Restriction
  on property: BFO_0000137
  some values from: Class
    union of: peptide
    union of: protein
example: Alanine residue in a peptide; Glycine residue in a synthetic peptide; Lysine residue in a monoclonal antibody heavy chain; Cysteine residue participating in a disulfide bond in a protein; Serine residue in a phosphorylated protein.
adapted from: http://purl.obolibrary.org/obo/CHEBI_33708
explanatory note: During peptide-bond formation, each amino acid loses the atoms corresponding to one molecule of water. The remaining portion constitutes the amino-acid residue within the polypeptide chain.
first order logic axiom: AminoAcidResidue(x) → ChemicalMoiety(x) ∧ ∃y (properContinuantPartOfAtAllTimes(x, y) ∧ (Peptide(y) ∨ Protein(y)))
is primitive: true
natural language definition: chemical moiety that is a proper part of a peptide or protein and that is the remaining portion of an amino acid resulting from peptide-bond formation
primitive rationale: This term is expected to remain primitive as the detailed treatment of chemical bonds, structure and formation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is an 'amino acid residue' then x is a 'chemical moiety' and x is a 'proper continuant part of at all times' some 'peptide' or 'protein'

amino acid sequence
type: Class
subclass of: biological sequence
subclass of: Restriction
  on property: BFO_0000084
  all values from: Class
    union of: peptide
    union of: protein
disjoint with: nucleotide sequence
alternative label: peptide sequence
alternative label: primary structure sequence
example: The amino acid sequence of a monoclonal antibody heavy chain; The amino acid sequence of a monoclonal antibody light chain; The amino acid sequence of a recombinant enzyme; The amino acid sequence of a synthetic peptide; The amino acid sequence of a peptide impurity detected during product characterization
adapted from: http://purl.obolibrary.org/obo/SO_0000104 and https://www.codamono.com/biointerchange/gfvo#PeptideSequence and https://www.ema.europa.eu/en/documents/scientific-guideline/ich-q-6-b-test-procedures-and-acceptance-criteria-biotechnologicalbiological-products-step-5_en.pdf
first order logic axiom: AminoAcidSequence(x) → BiologicalSequence(x) ∧ ∀y (genericallyDependsOnAtSomeTime(x, y) → (Peptide(y) ∨ Protein(y)))
is primitive: true
natural language definition: biological sequence that is the ordered pattern of amino-acid residues that constitute a particular continuous peptide or protein molecule
primitive rationale: There are insufficient constructs to create a set of necessary and sufficient conditions
semi formal natural language axiom: if x is an 'amino acid sequence' then x is a 'biological sequence' and x 'generically depends on at some time' only on some 'peptide' or 'protein'

anion
type: Class
subclass of: ion
disjoint with: cation
example: Sulfate ion (SO₄²⁻); Nitrate ion (NO₃⁻); Acetate ion (CH₃COO⁻)
adapted from: https://www.ebi.ac.uk/chebi/CHEBI:22563
first order logic axiom: Anion(x) → Ion(x)
is primitive: true
natural language definition: ion that is a monoatomic or polyatomic species having one or more elementary charges of the electron
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is an 'anion' then x is an 'ion'

antibody
type: Class
subclass of: protein
example: A monoclonal antibody that binds a therapeutic target antigen; An IgG antibody that binds a viral surface protein; A recombinant antibody that binds a cell-surface receptor; A neutralizing antibody that binds an antigen and blocks its biological activity; An antibody used as a capture reagent in an immunoassay.
adapted from: https://tools.thermofisher.com/content/sfs/brochures/1601975-Antibody-Production-Purification-Guide.pdf
first order logic axiom: Antibody(x) → Protein(x)
is primitive: true
natural language definition: protein that has the function to selectively bind some antigen
primitive rationale: There are insufficient constructs to define a set of necessary and sufficient conditions.
semi formal natural language axiom: if x is an 'antibody' then x is a 'protein'

antimicrobial agent role
type: Class
subclass of: molecular entity role
example: role held by Gentamicin added to cell culture media to prevent bacterial contamination; role held by Benzalkonium chloride included in formulations as a preservative.
adapted from: https://www.ebi.ac.uk/chebi/CHEBI:33281
first order logic axiom: AntimicrobialAgentRole(x) → MolecularEntityRole(x)
is primitive: true
natural language definition: role held by a molecular entity when it is used or planned to be used to kill, inactivate, or inhibit the growth, proliferation, or replication of microorganisms or viruses
primitive rationale: There are insufficient constructs to create a set of necessary and sufficient conditions
semi formal natural language axiom: if x is an 'antimicrobial agent role' then x is a 'molecular entity role'

antioxidant role
type: Class
subclass of: molecular entity role
example: role held by ascorbic acid (vitamin C) added to media or formulations to prevent oxidation of sensitive components; role held by α-Tocopherol (vitamin E) used to inhibit lipid peroxidation and maintain stability of cell culture supplements or product formulations
adapted from: http://purl.obolibrary.org/obo/CHEBI_22586
explanatory note: Some molecules have antioxidant activity because of their chemical structure. In manufacturing contexts, this role is typically asserted when that activity is intentionally used, for example when a compound is added to a medium, buffer, or formulation to protect materials, nutrients, or products from oxidation during processing or storage. Antioxidant agents may be used to maintain the stability of media components, extend product shelf life, or prevent loss of potency during storage. The role may be realized through mechanisms such as scavenging reactive oxygen species, reducing oxidized molecules, chelating pro-oxidant metal ions, or inhibiting reactions initiated by dioxygen molecule or peroxides.
first order logic axiom: AntioxidantRole(x) → MolecularEntityRole(x)
is primitive: true
natural language definition: role held by a molecular entity when it is used or planned to be used to counteract oxidation or inhibit reactions initiated by dioxygen molecule, peroxides, or other oxidizing species
primitive rationale: There are insufficient constructs to create a set of necessary and sufficient conditions
semi formal natural language axiom: if x is an 'antioxidant role' then x is a 'molecular entity role'

basic charge variant population
type: Class
subclass of: protein charge variant population
equivalent class: Class
  intersection of: protein charge variant population
  intersection of: Restriction
    on property: classifiedBy
    some values from: protein basic charge variant classifier
example: C-terminal lysine-containing monoclonal antibody population; an amidated protein population; a basic peak population detected by cation-exchange chromatography; higher-pI protein population detected by capillary isoelectric focusing;
first order logic definition: BasicChargeVariantPopulation(x) ↔ ProteinChargeVariantPopulation(x) ∧ ∃c(ProteinBasicChargeVariantClassifier(c) ∧ classifiedBy(x, c))
natural language definition: protein charge variant population classified by a protein basic charge variant classifier
semi formal natural language definition: every instance of 'basic charge variant population' is defined as exactly an instance of 'protein charge variant population' that is 'classified by' some 'protein basic charge variant classifier'

biantennary complex N-glycan moiety
type: Class
subclass of: core pentasaccharide N-glycan moiety
example: G0F biantennary complex N-glycan moiety in a monoclonal antibody Fc glycan; G1F biantennary complex N-glycan moiety with one terminal galactose residue; G2F biantennary complex N-glycan moiety with two terminal galactose residues; Sialylated biantennary complex N-glycan moiety on a recombinant glycoprotein.
adapted from: https://www.sigmaaldrich.com/RS/en/technical-documents/technical-article/protein-biology/protein-labeling-and-modification/n-glycans
first order logic axiom: BiantennaryComplexNGlycanMoiety(x) → CorePentasaccharideNGlycanMoiety(x)
is primitive: true
natural language definition: core pentasaccharide N-glycan moiety that has N-acetylglucosamine residues attached to both the α-3 and α-6 mannose branches and contains no mannose residues beyond those in the conserved core
primitive rationale: This term is expected to remain primitive as the detailed treatment of chemical bonds, structure and formation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is a 'biantennary complex N-glycan moiety' then x is a 'core pentasaccharide N-glycan moiety'

biological sequence
type: Class
subclass of: BFO_0000031
subclass of: Restriction
  on property: BFO_0000084
  all values from: Class
    union of: deoxyribonucleic acid
    union of: peptide
    union of: protein
    union of: ribonucleic acid
example: The nucleotide sequence of a plasmid DNA molecule; The nucleotide sequence of an mRNA transcript; The amino acid sequence of a monoclonal antibody heavy chain; The amino acid sequence of a synthetic peptide; The RNA sequence of a viral genome segment; The DNA sequence of a gene coding region.
adapted from: https://www.ncbi.nlm.nih.gov/IEB/ToolBox/SDKDOCS/BIOSEQ.HTML#:~:text=A%20biological%20sequence%20is%20a,DNA%2C%20RNA%2C%20or%20protein. and http://purl.obolibrary.org/obo/SO_0000001
first order logic axiom: BiologicalSequence(x) → GenericallyDependentContinuant(x) ∧ ∀y (genericallyDependsOnAtSomeTime(x, y) → (DeoxyribonucleicAcid(y) ∨ Peptide(y) ∨ Protein(y) ∨ RibonucleicAcid(y)))
is primitive: true
natural language definition: generically dependent continuant that is the ordered pattern of residues that constitute a particular continuous DNA, RNA, peptide, or protein molecule
primitive rationale: There are insufficient constructs to create a set of necessary and sufficient conditions
semi formal natural language axiom: if x is a 'biological sequence' then x is a 'generically dependent continuant' and x 'generically depends on at some time' only on some 'deoxyribonucleic acid', 'peptide', 'protein', or 'ribonucleic acid'

biological sequence variant
type: Class
subclass of: organic molecular entity
equivalent class: Class
  intersection of: Class
    union of: deoxyribonucleic acid
    union of: peptide
    union of: protein
    union of: ribonucleic acid
  intersection of: Restriction
    on property: classifiedBy
    some values from: biological sequence variant classifier
example: recombinant protein molecule with an amino acid substitution detected by peptide mapping; truncated monoclonal antibody heavy-chain molecule detected in a drug substance lot
first order logic definition: BiologicalSequenceVariant(x) ↔ (DeoxyribonucleicAcid(x) ∨ RibonucleicAcid(x) ∨ Peptide(x) ∨ Protein(x)) ∧ ∃r(BiologicalSequenceVariantClassifier(r) ∧ classifiedBy(x, r))
natural language definition: DNA or RNA or protein or peptide classified by a biological sequence variant classifier
semi formal natural language definition: every instance of 'biological sequence variant' is defined as exactly an instance of 'deoxyribonucleic acid', 'ribonucleic acid', 'peptide', or 'protein' that is 'classified by' some 'biological sequence variant classifier'

biological sequence variant classifier
type: Class
subclass of: Classifier
subclass of: Restriction
  on property: classifies
  some values from: Class
    union of: deoxyribonucleic acid
    union of: peptide
    union of: protein
    union of: ribonucleic acid
subclass of: Restriction
  on property: isAbout
  some values from: biological sequence
example: a classifier grounded in a specified BRCA1 reference sequence that classifies a BRCA1 DNA molecule containing the c.68_69delAG deletion as a biological sequence variant; a classifier grounded in a specified monoclonal-antibody heavy-chain reference sequence that classifies a heavy-chain molecule containing an amino-acid substitution as a biological sequence variant; a classifier grounded in the intended full-length protein sequence that classifies a truncated heavy-chain molecule as a biological sequence variant; a classifier grounded in a specified RNA reference sequence that classifies an RNA molecule containing an insertion as a biological sequence variant; a classifier grounded in a specified peptide reference sequence that classifies a clipped peptide as a biological sequence variant
adapted from: http://purl.obolibrary.org/obo/SO_0001060 and https://www.cancer.gov/publications/dictionaries/genetics-dictionary/def/variant and https://www.rapidnovor.com/sequence-variant-analysis-monoclonal-antibodies/#:~:text=Variant%20Analysis%20Service-,Introduction,variants%20and%20their%20associated%20risks.
explanatory note: A biological sequence variant classifier is grounded in comparison with a specified reference biological sequence. Classification by such a classifier indicates that the classified molecular entity is treated as a sequence variant relative to that reference sequence. It does not imply that the molecular entity is intrinsically a variant independently of the selected reference. Different classifiers may classify the same molecular entity differently when they are grounded in different reference sequences or comparison criteria
first order logic axiom: BiologicalSequenceVariantClassifier(x) → Classifier(x) ∧ ∃s(BiologicalSequence(s) ∧ isAbout(x, s)) ∧ ∃m((DeoxyribonucleicAcid(m) ∨ RibonucleicAcid(m) ∨ Peptide(m) ∨ Protein(m)) ∧ classifies(x, m))
is primitive: true
natural language definition: classifier that classifies a DNA molecule, RNA molecule, peptide, or protein which has a biological sequence that differs from a specified reference biological sequence by one or more substitutions, insertions, deletions, truncations, or extensions
primitive rationale: There are insufficient constructs to create necessary and sufficient conditions.
semi formal natural language axiom: if x is a 'biological sequence variant classifier', then x is a 'classifier' that 'is about' some 'biological sequence' and 'classifies' some 'deoxyribonucleic acid', 'ribonucleic acid', 'peptide', or 'protein'

carbohydrate
type: Class
subclass of: organic molecular entity
example: Glucose; Sucrose; Fructose; Lactose; Mannose
adapted from: https://www.ebi.ac.uk/chebi/CHEBI:16646
explanatory note: Carbohydrates include simple sugars (monosaccharides) such as glucose and fructose, and compounds formed by their condensation, such as disaccharides, oligosaccharides, and polysaccharides. They can also occur in reduced (alditols) or oxidized (acids, aldehydes, ketones) forms, or as modified derivatives in which one or more hydroxy groups are replaced or substituted. Carbohydrates serve as energy sources, structural materials, and signaling molecules in living organisms.
first order logic axiom: Carbohydrate(x) → OrganicMolecularEntity(x)
is primitive: true
natural language definition: organic molecular entity that is a polyhydroxy aldehyde, polyhydroxy ketone, derivative of such an entity, or condensation product of such entities
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is a 'carbohydrate' then x is an 'organic molecular entity'

cation
type: Class
subclass of: ion
example: Potassium ion (K⁺); Calcium ion (Ca²⁺); Ammonium ion (NH₄⁺)
adapted from: https://www.ebi.ac.uk/chebi/CHEBI:36916
first order logic axiom: Cation(x) → Ion(x)
is primitive: true
natural language definition: ion that is a monoatomic or polyatomic species having one or more elementary charges of the proton
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is a 'cation' then x is an 'ion'

charge variant classifier
type: Class
subclass of: Classifier
subclass of: Restriction
  on property: classifies
  some values from: BFO_0000027
subclass of: Restriction
  on property: isAbout
  some values from: Class
    intersection of: DesignSpecification
    intersection of: Restriction
      on property: prescribes
      some values from: BFO_0000040
example: classifier that classifies a group of monoclonal antibody molecules detected as an acidic peak in cation-exchange chromatography as a charge variant relative to a reference monoclonal antibody molecule; a classifier that classifies a group of recombinant protein molecules detected as a basic peak by imaged capillary isoelectric focusing as a charge variant relative to a reference recombinant protein molecule; a classifier that classifies a group of antibody-drug conjugate molecules according to charge-related analytical properties under a product-specific charge variant method; a classifier that classifies a group of lipid nanoparticles according to surface-charge-related analytical properties relative to a reference lipid nanoparticle
explanatory note: A charge variant classifier is a broad parent for classifiers that group material entities by charge-related analytical properties. It is intended to support different material domains, including molecular products and particle-based products. More specific subclasses should be used when the charge-related terminology, analytical methods, or reference comparisons are domain-specific, such as protein charge variants, molecular charge variants, or lipid nanoparticle surface-charge variants. The reference material entity is the material entity prescribed by the relevant design specification as the basis for comparison.
first order logic axiom: ChargeVariantClassifier(x) → Classifier(x) ∧ ∃s (DesignSpecification(s) ∧ isAbout(x, s) ∧ ∃r (MaterialEntity(r) ∧ prescribes(s, r))) ∧ ∃g (ObjectAggregate(g) ∧ classifies(x, g))
is primitive: true
natural language definition: classifier that classifies a population of material entities according to charge-related analytical properties relative to a reference material entity
primitive rationale: There are insufficient constructs to create necessary and sufficient conditions.
semi formal natural language axiom: if x is a 'charge variant classifier' then x is a 'classifier' that 'is about' some 'design specification' that 'prescribes' some 'material entity', and x 'classifies' some 'object aggregate'

chelating agent role
type: Class
subclass of: molecular entity role
example: Role held by ethylenediaminetetraacetic acid (EDTA) acting as a chelating agent in buffers to remove trace metal ions; ethyleneglycol-bis(beta-aminoethylether)-N,N,N',N'-tetraacetic acid (EGTA) bearing a selective calcium chelating agent role in calcium-sensitive assays; citric acid bearing a chelating agent role and regulating the presence of iron in culture media; nitrilotriacetate groups immobilized on an affinity resin and bearing a chelating agent role during metal-ion coordination
adapted from: http://purl.obolibrary.org/obo/CHEBI_38161 and https://www.sigmaaldrich.com/RS/en/technical-documents/technical-article/protein-biology/protein-purification/chelators?srsltid=AfmBOooXIbg6UbKJhWf8NjXdHt19Ktk2E5gud8zwrHR5iuqvICV2jrN8 and https://www.merckmillipore.com/CH/en/products/chemistry-and-biochemicals/biochemicals/chelating-reducing-agents
counter example: Histidine added as a buffering component rather than for chelation; citrate added to adjust pH or provide a carbon source rather than to bind metals; magnesium ions acting as cofactors
explanatory note: 1) The environment may be a solution, resin, gel, or other medium in which a metal ion can form coordination bonds. 2) Chelating agents are used for different purposes, such as preventing metal-catalyzed degradation, removing or masking trace metals, maintaining metal ion availability, or supporting analytical and purification steps where metal ions or metal ion bound biomolecules are captured, removed, or released.
first order logic axiom: ChelatingAgentRole(x) → MolecularEntityRole(x)
is primitive: true
natural language definition: role held by a molecular entity when it is used or planned to be used to bind a metal ion through two or more coordination sites
primitive rationale: There are insufficient constructs to create a set of necessary and sufficient conditions
semi formal natural language axiom: if x is a 'chelating agent role' then x is a 'molecular entity role'

chemical moiety
type: Class
subclass of: BFO_0000040
subclass of: Restriction
  on property: BFO_0000137
  some values from: molecular entity
example: Fc N-glycan; Phosphate group on serine; Ubiquitin moiety; PEG chain on therapeutic protein; Carboxylate group; Methyl group
adapted from: http://purl.obolibrary.org/obo/CHEBI_24433
counter example: Free‐standing molecules (e.g., methane, water); Unbound ions or radicals not attached to a larger entity
first order logic axiom: ChemicalMoiety(x) → MaterialEntity(x) ∧ ∃y (properContinuantPartOfAtAllTimes(x, y) ∧ MolecularEntity(y))
is primitive: true
natural language definition: material entity consisting of a linked collection of atoms or a single atom and that is a proper continuant part of a molecular entity
primitive rationale: This term is expected to remain primitive.
semi formal natural language axiom: if x is a 'chemical moiety' then x is a 'material entity' and x is a 'proper continuant part of at all times' some 'molecular entity'

complex afucosylated N-glycan moiety
type: Class
subclass of: biantennary complex N-glycan moiety
disjoint with: complex fucosylated N-glycan moiety
equivalent class: Class
  intersection of: biantennary complex N-glycan moiety
  intersection of: Class
    complement of: Restriction
      on property: BFO_0000111
      some values from: fucose residue
example: G0 biantennary complex N-glycan moiety with no fucose residue; G1 biantennary complex N-glycan moiety with no fucose residue; G2 biantennary complex N-glycan moiety with no fucose residue.
adapted from: https://www.ema.europa.eu/en/documents/scientific-guideline/guideline-development-production-characterisation-and-specification-monoclonal-antibodies-and-related-products-revision-1_en.pdf and http://www.jbiomed.com/v04p0035.htm and https://pmc.ncbi.nlm.nih.gov/articles/PMC4634315/
first order logic definition: ComplexAFucosylatedNGlycanMoiety(x) ↔ BiantennaryComplexNGlycanMoiety(x) ∧ ¬∃y (hasProperContinuantPartAtAllTimes(x, y) ∧ FucoseResidue(y))
natural language definition: biantennary complex N-glycan moiety that has no fucose residues as parts
semi formal natural language definition: every instance of 'complex afucosylated N-glycan moiety' is defined as exactly an instance of 'biantennary complex N-glycan moiety' that 'has proper continuant part at all times' no 'fucose residue'

complex agalactosylated N-glycan moiety
type: Class
subclass of: biantennary complex N-glycan moiety
disjoint with: complex galactosylated N-glycan moiety
equivalent class: Class
  intersection of: biantennary complex N-glycan moiety
  intersection of: Class
    complement of: Restriction
      on property: BFO_0000111
      some values from: galactose residue
example: G0 biantennary complex N-glycan moiety with no galactose residues; G0F biantennary complex N-glycan moiety with core fucose but no galactose residues; Agalactosylated Fc N-glycan moiety detected in monoclonal antibody glycan profiling.
adapted from: https://www.ema.europa.eu/en/documents/scientific-guideline/guideline-development-production-characterisation-and-specification-monoclonal-antibodies-and-related-products-revision-1_en.pdf and http://www.jbiomed.com/v04p0035.htm and https://pmc.ncbi.nlm.nih.gov/articles/PMC4634315/
first order logic definition: ComplexAGalactosylatedNGlycanMoiety(x) ↔ BiantennaryComplexNGlycanMoiety(x) ∧ ¬∃y (hasProperContinuantPartAtAllTimes(x, y) ∧ GalactoseResidue(y))
natural language definition: biantennary complex N-glycan moiety that has no galactose residues as parts
semi formal natural language definition: every instance of 'complex agalactosylated N-glycan moiety' is defined as exactly an instance of 'biantennary complex N-glycan moiety' that 'has proper continuant part at all times' no 'galactose residue'

complex asialylated N-glycan moiety
type: Class
subclass of: biantennary complex N-glycan moiety
disjoint with: complex sialylated N-glycan moiety
equivalent class: Class
  intersection of: biantennary complex N-glycan moiety
  intersection of: Class
    complement of: Restriction
      on property: BFO_0000111
      some values from: sialic acid residue
example: G0 biantennary complex N-glycan moiety with no sialic acid residues; G1F biantennary complex N-glycan moiety with no sialic acid residues; Asialylated Fc N-glycan moiety detected during monoclonal antibody glycan profiling.
adapted from: https://www.ema.europa.eu/en/documents/scientific-guideline/guideline-development-production-characterisation-and-specification-monoclonal-antibodies-and-related-products-revision-1_en.pdf and http://www.jbiomed.com/v04p0035.htm and https://pmc.ncbi.nlm.nih.gov/articles/PMC4634315/
first order logic definition: ComplexASialylatedNGlycanMoiety(x) ↔ BiantennaryComplexNGlycanMoiety(x) ∧ ¬∃y (hasProperContinuantPartAtAllTimes(x, y) ∧ SialicAcidResidue(y))
natural language definition: biantennary complex N-glycan moiety that has no sialic acid residues as parts
semi formal natural language definition: every instance of 'complex asialylated N-glycan moiety' is defined as exactly an instance of 'biantennary complex N-glycan moiety' that 'has proper continuant part at all times' no 'sialic acid residue'

complex fucosylated N-glycan moiety
type: Class
subclass of: biantennary complex N-glycan moiety
equivalent class: Class
  intersection of: biantennary complex N-glycan moiety
  intersection of: Restriction
    on property: BFO_0000111
    some values from: fucose residue
example: G0F biantennary complex N-glycan moiety with a core fucose residue; G1F biantennary complex N-glycan moiety with one galactose residue and one fucose residue; G2F biantennary complex N-glycan moiety with two galactose residues and one fucose residue;
adapted from: https://www.ema.europa.eu/en/documents/scientific-guideline/guideline-development-production-characterisation-and-specification-monoclonal-antibodies-and-related-products-revision-1_en.pdf and http://www.jbiomed.com/v04p0035.htm and https://pmc.ncbi.nlm.nih.gov/articles/PMC4634315/
first order logic definition: ComplexFucosylatedNGlycanMoiety(x) ↔ BiantennaryComplexNGlycanMoiety(x) ∧ ∃y (hasProperContinuantPartAtAllTimes(x, y) ∧ FucoseResidue(y))
natural language definition: biantennary complex N-glycan moiety that has as part one or more fucose residues
semi formal natural language definition: every instance of 'complex fucosylated N-glycan moiety' is defined as exactly an instance of 'biantennary complex N-glycan moiety' that 'has proper continuant part at all times' some 'fucose residue'

complex galactosylated N-glycan moiety
type: Class
subclass of: biantennary complex N-glycan moiety
equivalent class: Class
  intersection of: biantennary complex N-glycan moiety
  intersection of: Restriction
    on property: BFO_0000111
    some values from: galactose residue
example: G1F biantennary complex N-glycan moiety with one galactose residue; G2F biantennary complex N-glycan moiety with two galactose residues; G1 biantennary complex N-glycan moiety with one galactose residue and no fucose residue; Galactosylated Fc N-glycan moiety detected during monoclonal antibody glycan profiling
adapted from: https://www.ema.europa.eu/en/documents/scientific-guideline/guideline-development-production-characterisation-and-specification-monoclonal-antibodies-and-related-products-revision-1_en.pdf and http://www.jbiomed.com/v04p0035.htm and https://pmc.ncbi.nlm.nih.gov/articles/PMC4634315/
explanatory note: In biopharmaceutical analysis, ‘galactosylation’ commonly refers to the presence of galactose residues on the antennae of complex biantennary N-glycans. Complex biantennary glycans have two N-acetylglucosamine–initiated antennae that can receive galactose, and galactosylation levels are routinely reported through the relative abundance of mono-galactosylated (G1) and di-galactosylated (G2) complex species. Hybrid glycans may carry a galactose residue on a GlcNAc-extended arm, but they are not typically categorized as G1/G2 complex species and are usually not included in percent galactosylation calculations for complex Fc glycan profiles. High-mannose glycans do not contain complex-type antennae and are not treated as galactosylated complex N-glycans. Accordingly, this class applies to complex N-glycan moieties that contain one or more galactose residues
first order logic definition: ComplexGalactosylatedNGlycanMoiety(x) ↔ BiantennaryComplexNGlycanMoiety(x) ∧ ∃y (hasProperContinuantPartAtAllTimes(x, y) ∧ GalactoseResidue(y))
natural language definition: biantennary complex N-glycan moiety that has as part one or more galactose residues
semi formal natural language definition: every instance of 'complex galactosylated N-glycan moiety' is defined as exactly an instance of 'biantennary complex N-glycan moiety' that 'has proper continuant part at all times' some 'galactose residue'

complex N-glycolylneuraminic acid containing N-glycan moiety
type: Class
subclass of: complex sialylated N-glycan moiety
equivalent class: Class
  intersection of: complex sialylated N-glycan moiety
  intersection of: Restriction
    on property: BFO_0000111
    some values from: N-glycolylneuraminic acid residue
example: Complex sialylated N-glycan moiety containing a terminal N-glycolylneuraminic acid residue; NGNA-containing complex N-glycan moiety detected during glycan profiling of a recombinant glycoprotein; Biantennary complex N-glycan moiety with one branch terminating in an N-glycolylneuraminic acid residue.
abbreviation: complex NGNA containing N-glycan moiety
adapted from: https://pmc.ncbi.nlm.nih.gov/articles/PMC4634315/
first order logic definition: ComplexNGlycolylneuraminicAcidContainingNGlycanMoiety(x) ↔ ComplexSialylatedNGlycanMoiety(x) ∧ ∃y (hasProperContinuantPartAtAllTimes(x, y) ∧ NGlycolylneuraminicAcidResidue(y))
natural language definition: complex sialylated N-glycan moiety that has as part one or more N-glycolylneuraminic acid (NGNA) residues
semi formal natural language definition: every instance of 'complex N-glycolylneuraminic acid containing N-glycan moiety' is defined as exactly an instance of 'complex sialylated N-glycan moiety' that 'has proper continuant part at all times' some 'N-glycolylneuraminic acid residue'

complex sialylated N-glycan moiety
type: Class
subclass of: biantennary complex N-glycan moiety
equivalent class: Class
  intersection of: biantennary complex N-glycan moiety
  intersection of: Restriction
    on property: BFO_0000111
    some values from: sialic acid residue
example: Sialylated biantennary complex N-glycan moiety with one terminal sialic acid residue; Disialylated biantennary complex N-glycan moiety with two terminal sialic acid residues;
adapted from: https://www.ema.europa.eu/en/documents/scientific-guideline/guideline-development-production-characterisation-and-specification-monoclonal-antibodies-and-related-products-revision-1_en.pdf and http://www.jbiomed.com/v04p0035.htm and https://pmc.ncbi.nlm.nih.gov/articles/PMC4634315/
first order logic definition: ComplexSialylatedNGlycanMoiety(x) ↔ BiantennaryComplexNGlycanMoiety(x) ∧ ∃y (hasProperContinuantPartAtAllTimes(x, y) ∧ SialicAcidResidue(y))
natural language definition: biantennary complex N-glycan moiety that has as part one or more sialic acid residues
semi formal natural language definition: every instance of 'complex sialylated N-glycan moiety' is defined as exactly an instance of 'biantennary complex N-glycan moiety' that 'has proper continuant part at all times' some 'sialic acid residue'

core pentasaccharide N-glycan moiety
type: Class
subclass of: N-glycan moiety
subclass of: Restriction
  on property: BFO_0000137
  some values from: N4-glycosyl-L-asparagine
example: Core pentasaccharide N-glycan moiety in a monoclonal antibody Fc N-glycan; Core Man₃GlcNAc₂ moiety shared by G0F, G1F, and G2F Fc glycoforms; Core pentasaccharide N-glycan moiety in a high-mannose glycan on a recombinant glycoprotein.
adapted from: https://www.sigmaaldrich.com/RS/en/technical-documents/technical-article/protein-biology/protein-labeling-and-modification/n-glycans and https://pmc.ncbi.nlm.nih.gov/articles/PMC9781892/
explanatory note: 1) This class represents the canonical core structure of N-glycan moieties commonly encountered in biopharmaceutical glycoproteins, including monoclonal antibodies and other recombinant proteins. These moieties share the conserved chitobiose core and branched mannose structure that define common N-glycan families, including high-mannose, hybrid, and complex glycoforms routinely monitored in industry analytics. This structural pattern underlies standard glycan annotations such as G0F, G1F, G2F, and high-mannose species. 2) In canonical eukaryotic protein N-glycosylation, core pentasaccharide N-glycan moieties are attached to L-asparagine residues. This is reflected in the necessary condition that this moiety is a proper continuant part of some N4-glycosyl-L-asparagine.
first order logic axiom: CorePentasaccharideNGlycanMoiety(x) → NGlycanMoiety(x) ∧ ∃y (properContinuantPartOfAtAllTimes(x, y) ∧ N4GlycosylLAsparagine(y))
is primitive: true
natural language definition: N-glycan moiety that contains the core pentasaccharide Man₃GlcNAc₂, consisting of a di-N-acetyl-chitobiose unit extended by a branched mannose trisaccharide
primitive rationale: This term is expected to remain primitive as the detailed treatment of chemical bonds, structure and formation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is a 'core pentasaccharide N-glycan moiety' then x is an 'N-glycan moiety' and x is a 'proper continuant part of at all times' some 'N4-glycosyl-L-asparagine'

deamidated residue
type: Class
subclass of: modified amino acid residue
example: Deamidated asparagine residue in a monoclonal antibody; Deamidated glutamine residue in a recombinant protein; Aspartate-like residue formed by deamidation of an asparagine residue within a peptide; Glutamate-like residue formed by deamidation of a glutamine residue within a protein.
adapted from: http://purl.obolibrary.org/obo/MOD_00400
explanatory note: This modification corresponds to deamidation of an amino acid residue such as asparagine or glutamine. The reaction converts the side-chain amide to a carboxyl group, typically yielding aspartate or glutamate within the peptide.
first order logic axiom: DeamidatedResidue(x) → ModifiedAminoAcidResidue(x)
is primitive: true
natural language definition: modified amino acid residue in which a carboxamide group has been converted to a carboxyl group, involving a net gain of oxygen and loss of nitrogen and hydrogen
primitive rationale: This term is expected to remain primitive as the detailed treatment of chemical bonds, structure and formation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is a 'deamidated residue' then x is a 'modified amino acid residue'

deoxyribonucleic acid
type: Class
subclass of: nucleic acid
example: Plasmid DNA used as a vector in recombinant protein expression; Host cell DNA detected as a process-related impurity in a drug substance sample; Genomic DNA extracted from a production cell line; DNA primer used in a PCR assay; Residual DNA fragment measured during biologics process clearance testing
acronym: DNA
adapted from: http://purl.obolibrary.org/obo/CHEBI_16991
first order logic axiom: DeoxyribonucleicAcid(x) → NucleicAcid(x)
is primitive: true
natural language definition: nucleic acid that is composed of nucleotides containing deoxyribose
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is 'deoxyribonucleic acid' then x is a 'nucleic acid'

dioxygen molecule
type: Class
subclass of: inorganic molecular entity
example: dissolved oxygen in cell culture medium; oxygen present in the headspace of a culture vessel; oxygen transferred from the gas phase into the liquid phase of a bioreactor; oxygen consumed by aerobic cells during cultivation
adapted from: http://purl.obolibrary.org/obo/CHEBI_15379
explanatory note: Dioxygen Molecule is the molecular form O₂. In common laboratory, bioprocess, and manufacturing usage, it is often referred to simply as oxygen, for example when discussing dissolved oxygen, oxygen sparging, or oxygen transfer.
first order logic axiom: DioxygenMolecule(x) → InorganicMolecularEntity(x)
is primitive: true
natural language definition: inorganic molecular entity consisting of two oxygen atoms covalently bonded to each other
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is 'dioxygen molecule' then x is an 'inorganic molecular entity'

endotoxin
type: Class
subclass of: molecular toxin
equivalent class: Class
  intersection of: lipopolysaccharide
  intersection of: Restriction
    on property: hasRole
    some values from: endotoxin role
example: Lipopolysaccharide impurity from Gram-negative bacterial material in a buffer sample; Lipopolysaccharide detected in a purification pool; Lipopolysaccharide associated with a single-use component rinse or extract sample;
explanatory note: See the expanded definition under the corresponding role class.
first order logic definition: Endotoxin(x) ↔ Lipopolysaccharide(x) ∧ ∃r (hasRole(x, r) ∧ EndotoxinRole(r))
natural language definition: lipopolysaccharide with an endotoxin role
semi formal natural language definition: every instance of 'endotoxin' is defined as exactly an instance of 'lipopolysaccharide' that 'has role' some 'endotoxin role'

endotoxin role
type: Class
subclass of: molecular toxin role
subclass of: Restriction
  on property: roleOf
  some values from: lipopolysaccharide
example: Lipopolysaccharide from Gram-negative bacterial contamination bearing an endotoxin role in a buffer sample; Lipopolysaccharide impurity bearing an endotoxin role in a purification pool; Lipopolysaccharide residue bearing an endotoxin role on a single-use component extractable or rinse sample; Lipopolysaccharide impurity bearing an endotoxin role in a final drug substance sample.
adapted from: https://www.thermofisher.com/rs/en/home/life-science/protein-biology/protein-purification-isolation/protein-purification/endotoxin-quantitation-removal.html” and https://www.biophorum.com/download/cvp-case-study-interactive-version/ and https://www.fda.gov/regulatory-information/search-fda-guidance-documents/guidance-industry-pyrogen-and-endotoxins-testing-questions-and-answers”
explanatory note: 1) This role excludes protein exotoxins, viral agents, inorganic poisons, non-microbial pyrogens, ions, and non-viable particulate matter that is not lipopolysaccharide-derived. 2) In biologics manufacturing, the endotoxin role identifies lipopolysaccharide impurities originating from Gram-negative bacteria that must be quantified and limited in material samples, single-use parts, buffers, purification pools, in-process holds, or final product samples based on pyrogen-safety acceptance thresholds. Endotoxin control is assessed through corresponding sample-level measurable attributes, such as endotoxin load or endotoxin content, and supports contamination risk mitigation, process comparability, in-process hold and filtration decisions, and product release decisions.
first order logic axiom: EndotoxinRole(x) → MolecularToxinRole(x) ∧ ∃y (roleOf(x, y) ∧ Lipopolysaccharide(y))
is primitive: true
natural language definition: molecular toxin role held by a lipopolysaccharide (LPS) that originates from Gram-negative bacterial cellular material
primitive rationale: There are insufficient constructs to create a set of necessary and sufficient conditions
semi formal natural language axiom: if x is an 'endotoxin role' then x is a 'molecular toxin role' and x is a 'role of' some 'lipopolysaccharide'

enzyme activator role
type: Class
subclass of: enzyme regulator role
disjoint with: enzyme inhibitor role
example: Enzyme activator role held by magnesium ions that enhance the activity of DNA and RNA polymerases; Enzyme activator role held by chloride ions that activate salivary amylase; Enzyme activator role held by potassium ions that increase pyruvate kinase activity; Enzyme activator role held by calcium ions that promote protease and phospholipase activation
adapted from: https://www.ebi.ac.uk/chebi/CHEBI:195252
first order logic axiom: EnzymeActivatorRole(x) → EnzymeRegulatorRole(x)
is primitive: true
natural language definition: role held by a molecular entity when it increases the catalytic activity of an enzyme without covalently modifying the enzyme
primitive rationale: This term is expected to remain primitive as the detailed treatment of molecular activity modulation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is an 'enzyme activator role' then x is an 'enzyme regulator role'

enzyme cofactor role
type: Class
subclass of: molecular entity role
example: Role held by magnesium ions stabilizing ATP in kinase reactions; Role held by zinc ions required for the catalytic activity of alcohol dehydrogenase; Role held by flavin adenine dinucleotide (FAD) acting as an electron carrier in redox enzymes; Role held by a heme group supporting oxidation reactions within cytochrome oxidase
adapted from: https://www.ebi.ac.uk/chebi/CHEBI:23357
first order logic axiom: EnzymeCofactorRole(x) → MolecularEntityRole(x)
is primitive: true
natural language definition: role held by a molecular entity that is realized in an enzymatic reaction through enabling the catalytic activity of a particular enzyme
primitive rationale: This term is expected to remain primitive as the detailed treatment of molecular activity modulation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is an 'enzyme cofactor role' then x is a 'molecular entity role'

enzyme inhibitor role
type: Class
subclass of: enzyme regulator role
example: Inhibitor role held by aprotinin when added to cell culture media to inhibit serine proteases and prevent product degradation; Role held by sodium fluoride when inhibiting enolase in glycolytic pathways; Inhibitor role held by cyanide when binding to cytochrome oxidase and blocking electron transport
adapted from: https://www.ebi.ac.uk/chebi/CHEBI:23924
first order logic axiom: EnzymeInhibitorRole(x) → EnzymeRegulatorRole(x)
is primitive: true
natural language definition: role held by a molecular entity that is realized in an enzyme catalyzed reaction through decreasing or preventing the catalytic activity of the enzyme
primitive rationale: This term is expected to remain primitive as the detailed treatment of molecular activity modulation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is an 'enzyme inhibitor role' then x is an 'enzyme regulator role'

enzyme regulator role
type: Class
subclass of: molecular activity regulator role
example: ATP bearing an enzyme regulator role when it allosterically inhibits phosphofructokinase; A small-molecule bearing a competitive inhibitor role when binding to an enzyme active site; Calcium ion bearing an enzyme regulator role when it non-covalently activates a calcium-dependent enzyme; Role held by an allosteric activator that increases enzyme catalytic activity by stabilizing an active conformation
adapted from: http://purl.obolibrary.org/obo/TXPO_0003722 and http://purl.obolibrary.org/obo/GO_0030234
first order logic axiom: EnzymeRegulatorRole(x) → MolecularActivityRegulatorRole(x)
is primitive: true
natural language definition: role held by a molecular entity when it binds to an enzyme and modulates its catalytic activity
primitive rationale: This term is expected to remain primitive as the detailed treatment of molecular activity modulation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is an 'enzyme regulator role' then x is a 'molecular activity regulator role'

fucose residue
type: Class
subclass of: monosaccharide residue
example: Fucose residue attached to the core N-acetylglucosamine of an N-linked glycan; Fucose residue in a core-fucosylated monoclonal antibody Fc glycan; Fucose residue in a Lewis-type glycan epitope.
first order logic axiom: FucoseResidue(x) → MonosaccharideResidue(x)
is primitive: true
natural language definition: monosaccharide residue that is the remaining portion of fucose after formation of a glycosidic bond
primitive rationale: This term is expected to remain primitive as the detailed treatment of chemical bonds, structure and formation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is a 'fucose residue' then x is a 'monosaccharide residue'

galactose residue
type: Class
subclass of: monosaccharide residue
example: Galactose residue in a complex N-linked glycan; Galactose residue attached to N-acetylglucosamine in a monoclonal antibody Fc glycan; Terminal galactose residue in a biantennary glycan.
first order logic axiom: GalactoseResidue(x) → MonosaccharideResidue(x)
is primitive: true
natural language definition: monosaccharide residue that is the remaining portion of galactose after formation of a glycosidic bond
primitive rationale: This term is expected to remain primitive as the detailed treatment of chemical bonds, structure and formation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is a 'galactose residue' then x is a 'monosaccharide residue'

glycated residue
type: Class
subclass of: glycoconjugated residue
example: Glycated lysine residue in a monoclonal antibody formed by non-enzymatic reaction of the lysine side-chain amino group with glucose; N-terminal glycated residue in a recombinant protein formed by non-enzymatic reaction of the N-terminal amino group with a reducing sugar;
adapted from: http://purl.obolibrary.org/obo/MOD_00767
first order logic axiom: GlycatedResidue(x) → GlycoconjugatedResidue(x)
is primitive: true
natural language definition: glycoconjugated residue that is formed by non-enzymatic covalent attachment of a reducing sugar to an amino group of an amino acid residue, producing a Schiff-base or Amadori-type ketosamine adduct
primitive rationale: This term is expected to remain primitive as the detailed treatment of chemical bonds, structure and formation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is a 'glycated residue' then x is a 'glycoconjugated residue'

glycoconjugated residue
type: Class
subclass of: modified amino acid residue
example: N-glycosylated asparagine residue in a monoclonal antibody; O-glycosylated serine residue in a glycoprotein; O-glycosylated threonine residue in a mucin-like domain; Glycated lysine residue in a protein; Amadori-modified lysine residue formed by non-enzymatic glycation.
adapted from: http://purl.obolibrary.org/obo/MOD_00764
first order logic axiom: GlycoconjugatedResidue(x) → ModifiedAminoAcidResidue(x)
is primitive: true
natural language definition: modified amino acid residue that has a covalently attached carbohydrate or carbohydrate-derived group, formed either through enzymatic glycosidic bond formation or through non-enzymatic glycation involving a Schiff-base or Amadori-type ketosamine adduct
primitive rationale: This term is expected to remain primitive as the detailed treatment of chemical bonds, structure and formation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is a 'glycoconjugated residue' then x is a 'modified amino acid residue'

glycoprotein
type: Class
subclass of: protein
equivalent class: Class
  intersection of: protein
  intersection of: Restriction
    on property: BFO_0000111
    some values from: glycosylated residue
example: Monoclonal antibody with an N-glycosylated asparagine residue in its Fc region; Recombinant erythropoietin containing N-glycosylated and O-glycosylated residues; Fc-fusion protein containing an N-glycosylated residue; Viral envelope protein containing glycosylated residues; Host cell glycoprotein detected as a process-related impurity.
direct source: http://purl.obolibrary.org/obo/PR_000037069
first order logic definition: Glycoprotein(x) ↔ Protein(x) ∧ ∃y (hasProperContinuantPartAtAllTimes(x, y) ∧ GlycosylatedResidue(y))
natural language definition: protein that includes at least one glycosylated residue
semi formal natural language definition: every instance of 'glycoprotein' is defined as exactly an instance of 'protein' that 'has proper continuant part at all times' some 'glycosylated residue'

glycosylated residue
type: Class
subclass of: glycoconjugated residue
example: N-glycosylated asparagine residue in a monoclonal antibody Fc region; O-glycosylated serine residue in a glycoprotein; O-glycosylated threonine residue in a mucin-like domain; Glycosylated asparagine residue carrying an N-linked glycan produced through enzymatic glycosylation.
adapted from: http://purl.obolibrary.org/obo/MOD_00693
explanatory note: This class differs from glycation-derived glycoconjugated residues because the carbohydrate group is attached through an enzymatically formed glycosidic bond. In biopharmaceutical proteins, glycosylated residues commonly arise through regulated enzymatic glycosylation pathways, such as N-linked glycosylation of asparagine or O-linked glycosylation of serine or threonine. For many secreted mammalian proteins, these pathways occur through the endoplasmic reticulum and Golgi apparatus. In contrast, glycated residues arise through non-enzymatic reactions during manufacturing, formulation, or storage, such as reactions with reducing sugars that form Schiff-base or Amadori-type ketosamine adducts.
first order logic axiom: GlycosylatedResidue(x) → GlycoconjugatedResidue(x)
is primitive: true
natural language definition: glycoconjugated residue that results from replacement of a hydrogen atom with a carbohydrate-like group through formation of a glycosidic bond
primitive rationale: This term is expected to remain primitive as the detailed treatment of chemical bonds, structure and formation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is a 'glycosylated residue' then x is a 'glycoconjugated residue'

growth factor
type: Class
subclass of: organic molecular entity
equivalent class: Class
  intersection of: Class
    union of: peptide
    union of: protein
  intersection of: Restriction
    on property: hasRole
    some values from: growth factor role
example: Vascular endothelial growth factor (VEGF) promoting endothelial proliferation; Insulin-like growth factor 1 (IGF-1) enhancing recombinant protein production in mammalian cells
adapted from: http://purl.obolibrary.org/obo/GO_0008083
explanatory note: See the expanded definition under the corresponding role class.
first order logic definition: GrowthFactor(x) ↔ (Peptide(x) ∨ Protein(x)) ∧ ∃r (hasRole(x, r) ∧ GrowthFactorRole(r))
natural language definition: protein or peptide with a growth factor role
semi formal natural language definition: every instance of 'growth factor' is defined as exactly an instance of 'peptide' or 'protein' that 'has role' some 'growth factor role'

growth factor role
type: Class
subclass of: molecular messenger role
subclass of: Restriction
  on property: roleOf
  some values from: Class
    union of: peptide
    union of: protein
example: Role held by vascular endothelial growth factor (VEGF) that promotes endothelial proliferation; Role held by insulin-like growth factor 1 (IGF-1) that enhances recombinant protein production in mammalian cells
adapted from: http://purl.obolibrary.org/obo/GO_0008083
explanatory note: In culture media and biomanufacturing formulations, this role is typically asserted when a protein or peptide is intentionally added to support cell proliferation, maintain viability, promote differentiation, or enhance productivity.
first order logic axiom: GrowthFactorRole(x) → MolecularMessengerRole(x) ∧ ∃y (roleOf(x, y) ∧ (Peptide(y) ∨ Protein(y)))
is primitive: true
natural language definition: role held by a peptide or protein that is realized in receptor-mediated signaling processes that stimulate cellular growth, proliferation, survival, or differentiation
primitive rationale: This term is expected to remain primitive as the detailed treatment of molecular messaging is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is a 'growth factor role' then x is a 'molecular messenger role' and x is a 'role of' some 'peptide' or 'protein'

heterodimeric antibody
type: Class
subclass of: antibody
example: Bispecific IgG-like antibody with two different heavy chains; Heterodimeric monoclonal antibody engineered with knob-into-hole heavy-chain pairing; Antibody containing one heavy chain specific for antigen A and another heavy chain specific for antigen B.
adapted from: https://www.cytivalifesciences.com/en/us/insights/capture-of-bispecific-antibodies-and-removal-of-product-related-impurities
first order logic axiom: HeterodimericAntibody(x) → Antibody(x)
is primitive: true
natural language definition: antibody consisting of two heavy chains and two light chains in which the two heavy chains differ in amino acid sequence, the two light chains differ in amino acid sequence, or both
primitive rationale: There are insufficient constructs to define a set of necessary and sufficient conditions.
semi formal natural language axiom: if x is a 'heterodimeric antibody' then x is an 'antibody'

high mannose N-glycan moiety
type: Class
subclass of: core pentasaccharide N-glycan moiety
example: Man5 N-glycan moiety detected on a monoclonal antibody Fc glycan; Man8 N-glycan moiety on a recombinant glycoprotein; High mannose N-glycan moiety observed as an elevated Man5 species during glycan profiling; Oligomannose N-glycan moiety containing terminal mannose residues without complex-type antenna extensions.
adapted from: https://www.sigmaaldrich.com/RS/en/technical-documents/technical-article/protein-biology/protein-labeling-and-modification/n-glycans
first order logic axiom: HighMannoseNGlycanMoiety(x) → CorePentasaccharideNGlycanMoiety(x)
is primitive: true
natural language definition: core pentasaccharide N-glycan moiety whose branches are extended only by mannose residues and whose total mannose count is commonly between five and nine
primitive rationale: This term is expected to remain primitive as the detailed treatment of chemical bonds, structure and formation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is a 'high mannose N-glycan moiety' then x is a 'core pentasaccharide N-glycan moiety'

homodimeric antibody
type: Class
subclass of: antibody
example: Conventional monoclonal IgG antibody with two identical heavy chains and two identical light chains; IgG1 monoclonal antibody produced from a single antibody clone; Homodimeric Fc-containing antibody with matched heavy-chain pairing; Standard monospecific therapeutic antibody with two equivalent antigen-binding arms.
adapted from: https://www.cytivalifesciences.com/en/us/insights/capture-of-bispecific-antibodies-and-removal-of-product-related-impurities
first order logic axiom: HomodimericAntibody(x) → Antibody(x)
is primitive: true
natural language definition: antibody consisting of two heavy chains and two light chains in which the two heavy chains have the same amino acid sequence and the two light chains have the same amino acid sequence
primitive rationale: There are insufficient constructs to define a set of necessary and sufficient conditions.
semi formal natural language axiom: if x is a 'homodimeric antibody' then x is an 'antibody'

hormone
type: Class
subclass of: organic molecular entity
equivalent class: Class
  intersection of: organic molecular entity
  intersection of: Restriction
    on property: hasRole
    some values from: hormone role
example: Insulin acting as a regulator of glucose metabolism and anabolic activity; Hydrocortisone included in formulations to maintain epithelial cell differentiation and reduce stress responses; Triiodothyronine (T₃) supplemented to stimulate protein synthesis and enhance metabolic activity; Estradiol incorporated to regulate gene expression in hormone-responsive production cell lines
adapted from: http://purl.obolibrary.org/obo/CHEBI_24621
explanatory note: See the expanded definition under the corresponding role class.
first order logic definition: Hormone(x) ↔ OrganicMolecularEntity(x) ∧ ∃r (hasRole(x, r) ∧ HormoneRole(r))
natural language definition: organic molecular entity with a hormone role
semi formal natural language definition: every instance of 'hormone' is defined as exactly an instance of 'organic molecular entity' that 'has role' some 'hormone role'

hormone role
type: Class
subclass of: molecular messenger role
subclass of: Restriction
  on property: roleOf
  some values from: organic molecular entity
example: Hormone role held by insulin when acting as a regulator of glucose metabolism and anabolic activity; Hormone role held by hydrocortisone when included in formulations to maintain epithelial cell differentiation and reduce stress responses; Hormone role held by a triiodothyronine (T₃) supplement to stimulate protein synthesis and enhance metabolic activity; Hormone role held by estradiol when incorporated to regulate gene expression in hormone-responsive production cell lines
adapted from: http://purl.obolibrary.org/obo/CHEBI_24621
explanatory note: 1) Some molecules naturally act as hormones in living systems by binding to receptors and influencing cell metabolism, growth, differentiation, or gene expression. In formulation and culture contexts, this role is typically asserted when that activity is intentionally used, for example when a compound is added to a medium, buffer, or formulation to promote cell proliferation, maintain differentiation, or regulate metabolic balance. 2) Although hormones were originally understood as endogenous substances synthesized by specialized cells or glands and transported to target sites, the term may also include semi-synthetic or fully synthetic compounds that mimic, replace, or modify natural hormonal activity
first order logic axiom: HormoneRole(x) → MolecularMessengerRole(x) ∧ ∃y (roleOf(x, y) ∧ OrganicMolecularEntity(y))
is primitive: true
natural language definition: role held by an organic molecular entity that is realized in receptor-mediated signaling or regulatory processes that modulate the activity, metabolism, growth, or differentiation of cells or tissues
primitive rationale: This term is expected to remain primitive as the detailed treatment of molecular messaging is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is a 'hormone role' then x is a 'molecular messenger role' and x is a 'role of' some 'organic molecular entity'

hybrid N-glycan moiety
type: Class
subclass of: core pentasaccharide N-glycan moiety
example: Hybrid N-glycan moiety on a recombinant glycoprotein with one arm retaining terminal mannose residues and another arm extended with N-acetylglucosamine; Hybrid N-glycan moiety detected during glycan profiling of a therapeutic glycoprotein; Hybrid N-glycan moiety in which one branch has high-mannose character while another branch has complex-type extension.
adapted from: https://www.sigmaaldrich.com/RS/en/technical-documents/technical-article/protein-biology/protein-labeling-and-modification/n-glycans
first order logic axiom: HybridNGlycanMoiety(x) → CorePentasaccharideNGlycanMoiety(x)
is primitive: true
natural language definition: core pentasaccharide N-glycan moiety that contains both unsubstituted terminal mannose residues and at least one mannose residue substituted by an N-acetylglucosamine unit
primitive rationale: This term is expected to remain primitive as the detailed treatment of chemical bonds, structure and formation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is a 'hybrid N-glycan moiety' then x is a 'core pentasaccharide N-glycan moiety'

inorganic molecular entity
type: Class
subclass of: molecular entity
example: Water (H₂O); Ammonia (NH₃); Nitric oxide (NO)
adapted from: https://www.ebi.ac.uk/chebi/CHEBI:24835
explanatory note: This class follows the ChEBI-style distinction between inorganic and organic molecular entities.
first order logic axiom: InorganicMolecularEntity(x) → MolecularEntity(x)
is primitive: true
natural language definition: molecular entity that contains no carbon
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is an 'inorganic molecular entity' then x is a 'molecular entity'

ion
type: Class
subclass of: molecular entity
disjoint with: salt
example: Hydrogen ion (H⁺); Chloride ion (Cl⁻); Sodium ion (Na⁺); Ammonium ion (NH₄⁺)
direct source: https://www.ebi.ac.uk/chebi/CHEBI:24870
first order logic axiom: Ion(x) → MolecularEntity(x)
is primitive: true
natural language definition: molecular entity having a net electric charge
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is an 'ion' then x is a 'molecular entity'

lipid
type: Class
subclass of: organic molecular entity
example: Phosphatidylcholine; Cholesterol; Triglyceride; Sphingomyelin
adapted from: http://purl.obolibrary.org/obo/CHEBI_18059
first order logic axiom: Lipid(x) → OrganicMolecularEntity(x)
is primitive: true
natural language definition: organic molecular entity belonging to a structurally diverse class of hydrophobic or amphipathic entities that includes fats, oils, waxes, phospholipids, steroids, and related entities
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is a 'lipid' then x is an 'organic molecular entity'

lipid precursor role
type: Class
subclass of: molecular entity role
example: Role held by ethanolamine serving as a precursor for phosphatidylethanolamine synthesis in mammalian cells; Role held by choline functioning as a precursor for phosphatidylcholine
adapted from: https://pub.uni-bielefeld.de/record/2943695 and https://clinref.com/data/uploads/books/LehningerBiochemistry6thed.pdf
explanatory note: Lipid precursors are molecular entities that serve as starting materials or metabolic inputs for lipid biosynthesis. Their availability can influence the rate and composition of lipid formation, affecting membrane structure, energy storage, and signaling balance. In cell culture and biomanufacturing, sufficient lipid precursor supply supports membrane biogenesis, cell growth, and product secretion.
first order logic axiom: LipidPrecursorRole(x) → MolecularEntityRole(x)
is primitive: true
natural language definition: role of a molecular entity that provides carbon or functional groups required for the biosynthetic formation of complex lipids such as fatty acids, phospholipids, or sterols
primitive rationale: This term is expected to remain primitive as the detailed treatment of biochemical processes is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is a 'lipid precursor role' then x is a 'molecular entity role'

lipopolysaccharide
type: Class
subclass of: organic molecular entity
example: Lipopolysaccharide from Escherichia coli detected as an endotoxin-related impurity in a process sample; E. coli O111:B4 lipopolysaccharide used as a reference or challenge material in endotoxin-related testing; Salmonella enterica lipopolysaccharide used as a representative Gram-negative bacterial LPS;
adapted from: http://purl.obolibrary.org/obo/CHEBI_16412
first order logic axiom: Lipopolysaccharide(x) → OrganicMolecularEntity(x)
is primitive: true
natural language definition: organic molecular entity that consists of lipid A covalently linked to a core oligosaccharide and, where present, an O-antigen polysaccharide
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is a 'lipopolysaccharide' then x is an 'organic molecular entity'

main charge variant population
type: Class
subclass of: protein charge variant population
equivalent class: Class
  intersection of: protein charge variant population
  intersection of: Restriction
    on property: classifiedBy
    some values from: protein main charge variant classifier
example: main monoclonal antibody peak population in cation-exchange chromatography; protein population with pI comparable to the reference protein form in capillary isoelectric focusing
first order logic definition: MainChargeVariantPopulation(x) ↔ ProteinChargeVariantPopulation(x) ∧ ∃c(ProteinMainChargeVariantClassifier(c) ∧ classifiedBy(x, c))
natural language definition: protein charge variant population classified by a protein main charge variant classifier
semi formal natural language definition: every instance of 'main charge variant population' is defined as exactly an instance of 'protein charge variant population' that is 'classified by' some 'protein main charge variant classifier'

mannose residue
type: Class
subclass of: monosaccharide residue
example: Mannose residue in the core structure of an N-linked glycan; Mannose residue in a high-mannose glycan on a recombinant glycoprotein; Terminal mannose residue in an oligomannose-type N-glycan.
first order logic axiom: MannoseResidue(x) → MonosaccharideResidue(x)
is primitive: true
natural language definition: monosaccharide residue that is the remaining portion of mannose after formation of a glycosidic bond
primitive rationale: This term is expected to remain primitive as the detailed treatment of chemical bonds, structure and formation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is a 'mannose residue' then x is a 'monosaccharide residue'

modified amino acid residue
type: Class
subclass of: amino acid residue
example: Oxidized methionine residue in a monoclonal antibody; Deamidated asparagine residue in a protein; Phosphorylated serine residue in a peptide; Glycated lysine residue in a protein; Alkylated cysteine residue in a peptide.
adapted from: http://purl.obolibrary.org/obo/PR_000025513
explanatory note: This class includes amino acid residues that have undergone a covalent change such as oxidation, reduction, alkylation, acylation, or other modification to their side-chain or backbone atoms while remaining part of an intact peptide or protein. The class does not include moieties that result from cleavage of the peptide backbone or from replacement of the original amino acid at that position
first order logic axiom: ModifiedAminoAcidResidue(x) → AminoAcidResidue(x)
is primitive: true
natural language definition: amino acid residue that has undergone covalent modification of side-chain or backbone atoms while remaining part of an intact peptide or protein
primitive rationale: This term is expected to remain primitive as the detailed treatment of chemical bonds, structure and formation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is a 'modified amino acid residue' then x is an 'amino acid residue'

molecular activity regulator role
type: Class
subclass of: molecular entity role
example: Allosteric inhibitor role held by a small molecule that reduces enzyme activity through non-covalent binding; Competitive inhibitor role held by a molecule that competes with a substrate for an enzyme active site; Receptor antagonist role held by a molecule that blocks receptor activation; Enzyme activator role held by a molecule that stabilizes an active enzyme conformation.
adapted from: http://purl.obolibrary.org/obo/GO_0098772 and http://purl.obolibrary.org/obo/TXPO_0003713
first order logic axiom: MolecularActivityRegulatorRole(x) → MolecularEntityRole(x)
is primitive: true
natural language definition: role held by a molecular entity when it modulates the activity of another molecular entity
primitive rationale: This term is expected to remain primitive as the detailed treatment of molecular activity modulation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is a 'molecular activity regulator role' then x is a 'molecular entity role'

molecular color indicator role
type: Class
subclass of: molecular visual indicator role
example: Phenol red bearing a molecular color indicator role when its color change indicates pH in cell culture medium; Bromothymol blue bearing a molecular color indicator role when its color change indicates acidity or alkalinity; Resazurin bearing a molecular color indicator role when its color change indicates cellular metabolic activity; Iodine bearing a molecular color indicator role when color formation indicates the presence of starch.
adapted from: http://purl.obolibrary.org/obo/CHEBI_50410
first order logic axiom: MolecularColorIndicatorRole(x) → MolecularVisualIndicatorRole(x)
is primitive: true
natural language definition: molecular visual indicator role held by a molecular entity when it is used or planned to be used so that a change in its color indicates the presence, amount, or condition of a particular material entity or quality
primitive rationale: There are insufficient constructs present to create a set of necessary and sufficient conditions
semi formal natural language axiom: if x is a 'molecular color indicator role' then x is a 'molecular visual indicator role'

molecular entity
type: Class
subclass of: BFO_0000040
example: ion; salt; amino acid; protein; antibody
adapted from: http://purl.obolibrary.org/obo/CHEBI_23367
first order logic axiom: MolecularEntity(x) → MaterialEntity(x)
is primitive: true
natural language definition: material entity that is a constitutionally or isotopically distinct atom, molecule, ion, ion pair, radical, radical ion, complex, conformer, or other chemically distinguishable entity
primitive rationale: This term is expected to remain primitive. Entities under this term are predominantly adapted from CHEBI and can be used interchangeably with the IRI of the corresponding CHEBI entity.
semi formal natural language axiom: if x is a 'molecular entity' then x is a 'material entity'

molecular entity population
type: Class
subclass of: BFO_0000027
equivalent class: Class
  intersection of: BFO_0000027
  intersection of: Restriction
    on property: BFO_0000115
    some values from: molecular entity
  intersection of: Restriction
    on property: BFO_0000115
    all values from: molecular entity
example: A population of monoclonal antibody molecules in a drug substance sample; A population of host cell protein molecules in a process intermediate; A population of product-related protein variant molecules in a recombinant protein batch; A population of released N-glycan molecules in a glycan profiling sample; A population of residual host cell DNA molecules in a drug substance sample; A population of peptide molecules generated during peptide mapping.
first order logic definition: MolecularEntityPopulation(x) ↔ ObjectAggregate(x) ∧ ∃y (hasMemberPartAtSomeTime(x, y) ∧ MolecularEntity(y)) ∧ ∀z (hasMemberPartAtSomeTime(x, z) → MolecularEntity(z))
natural language definition: object aggregate that has one or more molecular entities as member parts and has only molecular entities as member parts
semi formal natural language definition: every instance of 'molecular entity population' is defined as exactly an instance of 'object aggregate' that 'has member part at some time' some 'molecular entity' and 'has member part at some time' only 'molecular entity'

molecular entity role
type: Class
subclass of: BFO_0000023
subclass of: Restriction
  on property: roleOf
  some values from: molecular entity
example: Role held by ethylenediaminetetraacetic acid (EDTA) acting as a chelating agent in buffers to remove trace metal ions; Role held by vitamin C acting as an antioxidant in media or formulations to prevent oxidation of sensitive components
adapted from: http://purl.obolibrary.org/obo/CHEBI_50906
explanatory note: This role represents context-dependent behaviors of molecules, such as binding, catalysis, inhibition, or signaling. The specified conditions may include factors such as sufficient concentration, presence of a binding partner, enzyme, receptor, substrate, cofactor, or competing molecule, as well as relevant pH, temperature, solvent, compartment, or process environment. The same molecular entity may bear different molecular entity roles in different chemical or biological contexts. This class corresponds to the use of “role” in ChEBI and is used to describe realizable molecular behaviors in chemical or biological environments.
first order logic axiom: MolecularEntityRole(x) → Role(x) ∧ ∃y (roleOf(x, y) ∧ MolecularEntity(y))
is primitive: true
natural language definition: role of a molecular entity that reflects a chemical or biochemical behavior it may exhibit under specified conditions
primitive rationale: There are insufficient constructs to create a set of necessary and sufficient conditions
semi formal natural language axiom: if x is a 'molecular entity role' then x is a 'role' and x is a 'role of' some 'molecular entity'

molecular indicator role
type: Class
subclass of: molecular entity role
example: Phenol red bearing a molecular indicator role when its color change indicates pH in cell culture medium; Fluorescein-labeled molecule bearing a molecular indicator role when its fluorescence indicates binding or localization; Resazurin bearing a molecular indicator role when its reduction indicates cellular metabolic activity; pH indicator dye bearing a molecular indicator role when its color change indicates acidity or alkalinity; Redox indicator molecule bearing a molecular indicator role when its color change indicates oxidation-reduction state.
adapted from: http://purl.obolibrary.org/obo/CHEBI_47867
explanatory note: The observable change is often visual (e.g., color change), but may also be a non-visual detectable signal (e.g., change in absorbance, change in electrical signal, or change in emitted or absorbed radiation)
first order logic axiom: MolecularIndicatorRole(x) → MolecularEntityRole(x)
is primitive: true
natural language definition: role held by a molecular entity when it is used or planned to be used so that an observable change in that molecular entity indicates the presence, amount, or condition of a particular material entity or quality
primitive rationale: There are insufficient constructs present to create a set of necessary and sufficient conditions
semi formal natural language axiom: if x is a 'molecular indicator role' then x is a 'molecular entity role'

molecular messenger role
type: Class
subclass of: molecular entity role
example: Molecular messenger role held by insulin when added to cell culture medium to promote glucose uptake and anabolic metabolism; Molecular messenger role held by epidermal growth factor (EGF) when added to serum-free media to stimulate cell proliferation
adapted from: http://purl.obolibrary.org/obo/CHEBI_33280 and https://www.ncbi.nlm.nih.gov/books/NBK538154/
first order logic axiom: MolecularMessengerRole(x) → MolecularEntityRole(x)
is primitive: true
natural language definition: role held by a molecular entity that participates in transmitting biological signals between or within cells, tissues, or organs to support coordination of biological processes
primitive rationale: This term is expected to remain primitive as the detailed treatment of molecular messaging is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is a 'molecular messenger role' then x is a 'molecular entity role'

molecular toxin
type: Class
subclass of: molecular entity
equivalent class: Class
  intersection of: molecular entity
  intersection of: Restriction
    on property: hasRole
    some values from: molecular toxin role
example: A mycotoxin molecule that has a toxin role; A bacterial lipopolysaccharide molecule that has a toxin role; A cytotoxic small molecule that has a toxin role under a specified exposure condition;
explanatory note: See the expanded definition under the corresponding role class.
first order logic definition: MolecularToxin(x) ↔ MolecularEntity(x) ∧ ∃r (hasRole(x, r) ∧ MolecularToxinRole(r))
natural language definition: molecular entity with a molecular toxin role
semi formal natural language definition: every instance of 'molecular toxin' is defined as exactly an instance of 'molecular entity' that 'has role' some 'molecular toxin role'

molecular toxin role
type: Class
subclass of: molecular entity role
example: Lipopolysaccharide molecule bearing a toxin role when present as a process-related impurity that can trigger harmful biological responses; Lipid A moiety bearing a toxin role in a context where it induces inflammatory activity; A mycotoxin molecule bearing a toxin role when contaminating a raw material;
adapted from: http://purl.obolibrary.org/obo/CHEBI_27026 and http://purl.obolibrary.org/obo/IDO_0000426
explanatory note: 1) A molecular entity bearing a toxin role is distinguished by its capacity to cause damage or dysfunction when introduced or absorbed in sufficient quantity. This may include: (i) malfunction of cells; (ii) damage to the extracellular matrix; or (iii) cell damage to a degree that can lead to cell loss or cell death. 2) An entity bearing a molecular toxin role has a corresponding toxic disposition. This disposition is not modeled in the current version of the ontology and will be reconsidered in the future.
first order logic axiom: MolecularToxinRole(x) → MolecularEntityRole(x)
is primitive: true
natural language definition: molecular entity role held by a molecular entity in a biological exposure setting in which its chemical or biochemical activity is treated as capable of causing damage or dysfunction to a cell or organism
primitive rationale: This term is expected to remain primitive as the detailed treatment of toxicity is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is a 'molecular toxin role' then x is a 'molecular entity role'

molecular visual indicator role
type: Class
subclass of: molecular indicator role
example: Phenol red bearing a molecular visual indicator role when its color change indicates pH in cell culture medium; Bromothymol blue bearing a molecular visual indicator role when its color change indicates acidity or alkalinity; Fluorescein bearing a molecular visual indicator role when its fluorescence indicates the presence or localization of a labeled material entity;
adapted from: http://purl.obolibrary.org/obo/CHEBI_50408
first order logic axiom: MolecularVisualIndicatorRole(x) → MolecularIndicatorRole(x)
is primitive: true
natural language definition: molecular indicator role held by a molecular entity when it is used or planned to be used so that a visible change in that molecular entity indicates the presence, amount, or condition of a particular material entity or quality
primitive rationale: There are insufficient constructs present to create a set of necessary and sufficient conditions
semi formal natural language axiom: if x is a 'molecular visual indicator role' then x is a 'molecular indicator role'

monosaccharide
type: Class
subclass of: carbohydrate
example: glucose; fructose; galactose
adapted from: http://purl.obolibrary.org/obo/CHEBI_35381
first order logic axiom: Monosaccharide(x) → Carbohydrate(x)
is primitive: true
natural language definition: carbohydrate that consists of a single polyhydroxy aldehyde or polyhydroxy ketone unit with three or more carbon atoms and is not glycosidically linked to another carbohydrate unit
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is a 'monosaccharide' then x is a 'carbohydrate'

monosaccharide residue
type: Class
subclass of: chemical moiety
example: Glucose residue in a cellulose chain; Mannose residue in an N-linked glycan; Galactose residue in an oligosaccharide; N-acetylglucosamine residue in a glycoprotein glycan; Sialic acid residue in a complex N-glycan.
adapted from: http://purl.obolibrary.org/obo/CHEBI_78848
first order logic axiom: MonosaccharideResidue(x) → ChemicalMoiety(x)
is primitive: true
natural language definition: chemical moiety that is a proper part of an oligosaccharide, polysaccharide, or glycoconjugate and that is the remaining portion of a monosaccharide after formation of a glycosidic bond
primitive rationale: This term is expected to remain primitive as the detailed treatment of chemical bonds, structure and formation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is a 'monosaccharide residue' then x is a 'chemical moiety'

N4-glycosyl-L-asparagine
type: Class
subclass of: N-glycosylated residue
alternative label: N-Glycosyl-L-asparagine
example: N4-glycosyl-L-asparagine residue in the Fc region of a monoclonal antibody; N4-glycosyl-L-asparagine residue carrying a complex N-linked glycan in a recombinant glycoprotein
adapted from: http://purl.obolibrary.org/obo/MOD_00160 and http://purl.obolibrary.org/obo/CHEBI_59108
explanatory note: The term “N4-glycosyl-L-asparagine” follows the classical IUPAC atom-numbering scheme, in which the side-chain amide nitrogen of L-asparagine is designated as N4. This nitrogen is the site of N-linked glycosylation.
first order logic axiom: N4GlycosylLAsparagine(x) → NGlycosylatedResidue(x)
is primitive: true
natural language definition: N-glycosylated residue in which a glycan is covalently attached to the side-chain nitrogen of an L-asparagine residue
primitive rationale: This term is expected to remain primitive as the detailed treatment of chemical bonds, structure and formation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is an 'N4-glycosyl-L-asparagine' then x is an 'N-glycosylated residue'

N-glycan moiety
type: Class
subclass of: chemical moiety
example: N-glycan moiety attached to an asparagine residue in a monoclonal antibody Fc glycan; N-linked glycan moiety attached to an asparagine residue in a recombinant glycoprotein
adapted from: http://purl.obolibrary.org/obo/CHEBI_59520
first order logic axiom: NGlycanMoiety(x) → ChemicalMoiety(x)
is primitive: true
natural language definition: chemical moiety that is the remaining portion of a glycan resulting from its covalent attachment to the side-chain nitrogen of an asparagine or arginine residue
primitive rationale: This term is expected to remain primitive as the detailed treatment of chemical bonds, structure and formation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is an 'N-glycan moiety' then x is a 'chemical moiety'

N-glycolylneuraminic acid residue
type: Class
subclass of: sialic acid residue
example: N-glycolylneuraminic acid residue at the terminal position of a glycoprotein glycan; N-glycolylneuraminic acid residue attached to galactose in a sialylated N-linked glycan;
abbreviation: NGNA residue
first order logic axiom: NGlycolylneuraminicAcidResidue(x) → SialicAcidResidue(x)
is primitive: true
natural language definition: sialic acid residue that is the remaining portion of N-glycolylneuraminic acid after formation of a glycosidic bond
primitive rationale: This term is expected to remain primitive as the detailed treatment of chemical bonds, structure and formation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is an 'N-glycolylneuraminic acid residue' then x is a 'sialic acid residue'

N-glycosylated residue
type: Class
subclass of: glycosylated residue
equivalent class: Class
  intersection of: glycosylated residue
  intersection of: Restriction
    on property: BFO_0000111
    some values from: N-glycan moiety
example: N-glycosylated asparagine residue in the Fc region of a monoclonal antibody; Asparagine residue carrying an N-linked glycan in a recombinant glycoprotein; N-glycosylated asparagine residue within an N-X-S/T consensus sequon of a therapeutic protein
adapted from: http://purl.obolibrary.org/obo/MOD_00006
explanatory note: This class includes amino acid residues, most commonly asparagine, that have a covalently attached carbohydrate group through an N-glycosidic linkage. In biopharmaceutical proteins, N-glycosylation is typically generated by enzymatic glycosylation pathways involving the endoplasmic reticulum and Golgi apparatus and yields N-linked glycans with characteristic core structures.
first order logic definition: NGlycosylatedResidue(x) ↔ GlycosylatedResidue(x) ∧ ∃y (hasProperContinuantPartAtAllTimes(x, y) ∧ NGlycanMoiety(y))
natural language definition: glycosylated residue in which a carbohydrate or carbohydrate-derived group is attached to a nitrogen atom through formation of an N-glycosidic bond
semi formal natural language definition: every instance of 'N-glycosylated residue' is defined as exactly an instance of 'glycosylated residue' that 'has proper continuant part at all times' some 'N-glycan moiety'

non-proteinogenic amino acid
type: Class
subclass of: amino acid
example: Ornithine; Citrulline; β-alanine; 4-hydroxyproline
adapted from: https://www.ebi.ac.uk/chebi/CHEBI:83820
first order logic axiom: NonProteinogenicAminoAcid(x) → AminoAcid(x)
is primitive: true
natural language definition: amino acid that is not normally incorporated into polypeptide chains by ribosomal translation
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is a 'non-proteinogenic amino acid' then x is an 'amino acid'

nucleic acid
type: Class
subclass of: organic molecular entity
example: DNA; RNA
adapted from: http://purl.obolibrary.org/obo/CHEBI_33696
first order logic axiom: NucleicAcid(x) → OrganicMolecularEntity(x)
is primitive: true
natural language definition: organic molecular entity composed of two or more nucleotides linked by phosphodiester bonds
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is a 'nucleic acid' then x is an 'organic molecular entity'

nucleoside
type: Class
subclass of: organic molecular entity
example: Adenosine; Cytidine; Guanosine; Uridine
adapted from: https://www.ebi.ac.uk/chebi/CHEBI:33838
explanatory note: The nucleobase is typically adenine, guanine, cytosine, thymine, uracil, or xanthine. The sugar component is usually ribose or deoxyribose, forming an N-glycosidic bond.
first order logic axiom: Nucleoside(x) → OrganicMolecularEntity(x)
is primitive: true
natural language definition: organic molecular entity that consists of a nucleobase linked through a nitrogen atom to a sugar such as ribose or deoxyribose
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is a 'nucleoside' then x is an 'organic molecular entity'

nucleotide
type: Class
subclass of: organic molecular entity
example: Adenosine triphosphate (ATP); Guanosine monophosphate (GMP); Cytidine triphosphate (CTP)
adapted from: https://www.ebi.ac.uk/chebi/CHEBI:36976
explanatory note: A nucleotide includes three structural components: a nitrogen-containing base, a pentose sugar (ribose or deoxyribose), and one or more phosphate groups linked to the sugar, typically at the 5′ position.
first order logic axiom: Nucleotide(x) → OrganicMolecularEntity(x)
is primitive: true
natural language definition: organic molecular entity that consists of a nucleoside having one or more phosphate groups attached to its sugar moiety
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is a 'nucleotide' then x is an 'organic molecular entity'

nucleotide sequence
type: Class
subclass of: biological sequence
subclass of: Restriction
  on property: BFO_0000084
  all values from: Class
    union of: deoxyribonucleic acid
    union of: ribonucleic acid
example: The nucleotide sequence of a plasmid DNA molecule; The nucleotide sequence of an mRNA transcript; The nucleotide sequence of a viral RNA genome segment; The nucleotide sequence of a gene coding region; The nucleotide sequence of an RNA guide molecule; The nucleotide sequence of a DNA primer.
adapted from: http://purl.obolibrary.org/obo/NCIT_C45374
first order logic axiom: NucleotideSequence(x) → BiologicalSequence(x) ∧ ∀y (genericallyDependsOnAtSomeTime(x, y) → (DeoxyribonucleicAcid(y) ∨ RibonucleicAcid(y)))
is primitive: true
natural language definition: biological sequence that is the ordered pattern of nucleotide residues that constitute a particular continuous DNA or RNA molecule
primitive rationale: There are insufficient constructs to create a set of necessary and sufficient conditions
semi formal natural language axiom: if x is a 'nucleotide sequence' then x is a 'biological sequence' and x 'generically depends on at some time' only on some 'deoxyribonucleic acid' or 'ribonucleic acid'

O-glycan moiety
type: Class
subclass of: chemical moiety
example: O-glycan moiety attached to a serine residue in a glycoprotein; O-glycan moiety attached to a threonine residue in a mucin-like domain; O-linked glycan moiety attached to hydroxylysine in a collagen-like protein
adapted from: http://purl.obolibrary.org/obo/CHEBI_59521
first order logic axiom: OGlycanMoiety(x) → ChemicalMoiety(x)
is primitive: true
natural language definition: chemical moiety that is the remaining portion of a glycan resulting from its covalent attachment to the side-chain hydroxyl oxygen of a serine, threonine, hydroxylysine, or hydroxyproline residue
primitive rationale: This term is expected to remain primitive as the detailed treatment of chemical bonds, structure and formation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is an 'O-glycan moiety' then x is a 'chemical moiety'

O-glycosylated residue
type: Class
subclass of: glycosylated residue
equivalent class: Class
  intersection of: glycosylated residue
  intersection of: Restriction
    on property: BFO_0000111
    some values from: O-glycan moiety
example: O-glycosylated serine residue in a glycoprotein; O-glycosylated threonine residue in a mucin-like domain; Serine residue carrying an O-linked glycan in a recombinant therapeutic protein; Threonine residue carrying an O-linked glycan introduced through enzymatic glycosylation
adapted from: http://purl.obolibrary.org/obo/MOD_00396
explanatory note: This class includes amino acid residues, most commonly serine and threonine, that have a covalently attached carbohydrate group through an O-glycosidic linkage. O-glycosylation may occur on hydroxyl-containing residues and should be distinguished from N-glycosylation, where the glycan is attached through a nitrogen atom, and from glycation, where sugar attachment arises through non-enzymatic reaction with amino groups.
first order logic definition: OGlycosylatedResidue(x) ↔ GlycosylatedResidue(x) ∧ ∃y (hasProperContinuantPartAtAllTimes(x, y) ∧ OGlycanMoiety(y))
natural language definition: glycosylated residue in which a carbohydrate or carbohydrate-derived group is attached to an oxygen atom through formation of an O-glycosidic bond
semi formal natural language definition: every instance of 'O-glycosylated residue' is defined as exactly an instance of 'glycosylated residue' that 'has proper continuant part at all times' some 'O-glycan moiety'

organic molecular entity
type: Class
subclass of: molecular entity
example: Ethanol; Acetic acid; Glucose; Lactic acid; Albumin; Estradiol
adapted from: https://www.ebi.ac.uk/chebi/CHEBI:50860
explanatory note: This class follows the ChEBI-style distinction between inorganic and organic molecular entities.
first order logic axiom: OrganicMolecularEntity(x) → MolecularEntity(x)
is primitive: true
natural language definition: molecular entity that contains carbon
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is an 'organic molecular entity' then x is a 'molecular entity'

oxidized residue
type: Class
subclass of: modified amino acid residue
example: Oxidized methionine residue in a monoclonal antibody; Oxidized tryptophan residue in a recombinant protein; Oxidized cysteine residue formed during protein handling or storage; Methionine sulfoxide residue formed by oxidation of a methionine residue.
adapted from: http://purl.obolibrary.org/obo/MOD_00675
first order logic axiom: OxidizedResidue(x) → ModifiedAminoAcidResidue(x)
is primitive: true
natural language definition: modified amino acid residue that results from covalent changes involving loss of hydrogen atoms or addition of oxygen atoms to the residue
primitive rationale: This term is expected to remain primitive as the detailed treatment of chemical bonds, structure and formation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is an 'oxidized residue' then x is a 'modified amino acid residue'

peptide
type: Class
subclass of: organic molecular entity
example: Glutathione; Oxytocin; Bradykinin; Angiotensin II
adapted from: https://www.ebi.ac.uk/chebi/CHEBI:16670
explanatory note: A peptide is formed through condensation reactions between amino acids, producing amide linkages known as peptide bonds. After peptide-bond formation, the peptide contains amino acid residues rather than free amino acid molecules as parts. The term generally refers to molecules composed of α-amino acid residues, but may also include peptides containing residues derived from other amino acid types.
first order logic axiom: Peptide(x) → OrganicMolecularEntity(x)
is primitive: true
natural language definition: organic molecular entity consisting of two or more amino acid residues linked by peptide bonds
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is a 'peptide' then x is an 'organic molecular entity'

polyamine
type: Class
subclass of: organic molecular entity
example: Putrescine; Spermidine; Spermine
adapted from: https://www.ebi.ac.uk/chebi/CHEBI:88061
first order logic axiom: Polyamine(x) → OrganicMolecularEntity(x)
is primitive: true
natural language definition: organic molecular entity that contains two or more amino groups
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is a 'polyamine' then x is an 'organic molecular entity'

polypeptide
type: Class
subclass of: peptide
example: Casein; Collagen fragment; Insulin chain A; β-lactoglobulin
direct source: https://www.ebi.ac.uk/chebi/CHEBI:15841
first order logic axiom: Polypeptide(x) → Peptide(x)
is primitive: true
natural language definition: peptide containing ten or more amino acid residues
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is a 'polypeptide' then x is a 'peptide'

polysaccharide
type: Class
subclass of: carbohydrate
example: cellulose; glycogen; dextran; levan
adapted from: http://purl.obolibrary.org/obo/CHEBI_18154
explanatory note: This term is commonly used only for those containing more than ten monosaccharide residues.
first order logic axiom: Polysaccharide(x) → Carbohydrate(x)
is primitive: true
natural language definition: carbohydrate consisting of large numbers of monosaccharide residues linked glycosidically
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is a 'polysaccharide' then x is a 'carbohydrate'

protein
type: Class
subclass of: organic molecular entity
subclass of: Restriction
  on property: BFO_0000110
  some values from: polypeptide
example: Albumin; Monoclonal antibody (IgG); Recombinant human growth hormone
adapted from: http://purl.obolibrary.org/obo/CHEBI_36080 and https://www.fda.gov/media/122985/download and Lehninger Principles of biochemistry and https://goldbook.iupac.org/terms/view/P04898
explanatory note: 1) From FDA Definition of the Term “Biological Product” : “protein” means any alpha amino acid polymer with a specific, defined sequence that is greater than 40 amino acids in size. 2) Per IUPAC, proteins are naturally occurring or synthetic polypeptides with molecular weights greater than about 10,000, while the boundary is acknowledged to be imprecise. 3) The expression “sufficient length or molecular mass” is used to capture the fact that the protein–peptide boundary is not fixed by a single universally accepted criterion. The FDA criterion provides a regulatory threshold based on amino acid count, while the IUPAC criterion reflects a broader chemical convention based on molecular weight. 4) Ribosomal synthesis is not included as a necessary condition in the definition because it describes one way in which many naturally occurring proteins are produced, rather than what the molecular entity is. Since both FDA and IUPAC definitions allow classification based on the structure and composition of the polymer, and IUPAC explicitly includes synthetic polypeptides, requiring ribosomal synthesis would make the class too narrow. Ribosomally synthesized proteins can therefore be represented as a more specific subclass where the production history is relevant.
first order logic axiom: Protein(x) → OrganicMolecularEntity(x) ∧ ∃p (hasContinuantPartAtAllTimes(x, p) ∧ Polypeptide(p))
is primitive: true
natural language definition: organic molecular entity that consists of one or more polypeptide chains of sufficient length or molecular mass to be distinguished from peptides
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is a 'protein' then x is an 'organic molecular entity' and x 'has continuant part at all times' some 'polypeptide'

protein acidic charge variant classifier
type: Class
subclass of: protein charge variant classifier
example: a classifier that classifies a deamidated monoclonal antibody population as an acidic charge variant; a classifier that classifies a sialylated antibody glycoform-enriched population as an acidic charge variant; a classifier that classifies an acidic peak population detected by cation-exchange chromatography; a classifier that classifies a lower-pI protein population detected by capillary isoelectric focusing
adapted from: https://pmc.ncbi.nlm.nih.gov/articles/PMC5392216/ and https://www.chromatographyonline.com/view/charge-variant-profiling-biopharmaceuticals and https://www.agilent.com/cs/library/applications/compendium-chargevariant-advancebio-5994-0034EN-us-agilent.pdf?srsltid=AfmBOorRMu0dQH4wotghCeKwXSMCdNuuNsAEkA06EkLXupvMO6SBKJaN
explanatory note: The term acidic is used in the conventional charge-variant sense, typically reflecting lower isoelectric point, lower net electric charge, or corresponding behavior in methods such as ion-exchange chromatography or capillary isoelectric focusing.
first order logic axiom: ProteinAcidicChargeVariantClassifier(x) → ProteinChargeVariantClassifier(x)
is primitive: true
natural language definition: protein charge variant classifier that classifies a molecular entity population composed of proteins or protein fragments as differing from a reference protein form by having a lower isoelectric point or lower net electric charge under the relevant analytical conditions
primitive rationale: There are insufficient constructs to create a set of necessary and sufficient conditions.
semi formal natural language axiom: if x is a 'protein acidic charge variant classifier' then x is a 'protein charge variant classifier'

protein aggregate
type: Class
subclass of: organic molecular entity
subclass of: Restriction
  on property: BFO_0000111
  some values from: Class
    union of: protein
    union of: protein fragment
example: Soluble antibody HMW clusters observed by SEC; freeze-stress induced protein dimers tethered by disulfides;
adapted from: https://pmc.ncbi.nlm.nih.gov/articles/PMC5392216/ and http://id.nlm.nih.gov/mesh/D066329 and http://biomodels.net/SBO/SBO_0000543 and https://www.fda.gov/media/85017/download
counter example: mAb monomer; ribosome; nucleosome
explanatory note: 1) Aggregates can form through diverse mechanisms including non-covalent self-association, misfolding, interfacial, environmental, or mechanical stresses, or via covalent links that are not peptide bonds. 2) The class includes assemblies formed from any mixture of folded, partially folded, misfolded, or unfolded proteins. 3) Aggregates may appear intracellularly or extracellularly. 4) The term is neutral with respect to function, or lack thereof, and solubility, which are modeled separately when relevant. 5) The term includes molecular-scale and supramolecular protein assemblies, including heterogeneous, non-stoichiometric, or reversibly associated high-molecular-weight species. Proteinaceous particles, inclusion bodies, bulk precipitates, and other larger material aggregates are not instances of this class.
first order logic axiom: ProteinAggregate(x) → OrganicMolecularEntity(x) ∧ ∃y∃z((Protein(y) ∨ ProteinFragment(y)) ∧ (Protein(z) ∨ ProteinFragment(z)) ∧ y ≠ z ∧ hasProperContinuantPartAtAllTimes(x,y) ∧ hasProperContinuantPartAtAllTimes(x,z))
is primitive: true
natural language definition: organic molecular entity that consists of two or more protein molecules or protein fragments associated through non-covalent interactions, covalent bonds other than peptide bonds, or both
primitive rationale: There are insufficient constructs to define a set of necessary and sufficient conditions.
semi formal natural language axiom: if x is a 'protein aggregate' then x is an 'organic molecular entity' that 'has proper continuant part at all times' at least two distinct entities, each of which is a 'protein' or a 'protein fragment'

protein basic charge variant classifier
type: Class
subclass of: protein charge variant classifier
example: classifier that classifies a C-terminal lysine-containing monoclonal antibody population as a basic charge variant; a classifier that classifies an amidated protein population as a basic charge variant; a classifier that classifies a basic peak population detected by cation-exchange chromatography; a classifier that classifies a higher-pI protein population detected by capillary isoelectric focusing;
adapted from: https://pmc.ncbi.nlm.nih.gov/articles/PMC5392216/ and https://www.chromatographyonline.com/view/charge-variant-profiling-biopharmaceuticals and https://www.agilent.com/cs/library/applications/compendium-chargevariant-advancebio-5994-0034EN-us-agilent.pdf?srsltid=AfmBOorRMu0dQH4wotghCeKwXSMCdNuuNsAEkA06EkLXupvMO6SBKJaN
explanatory note: The term basic is used in the conventional charge-variant sense, typically reflecting higher isoelectric point, higher net electric charge, or corresponding behavior in methods such as ion-exchange chromatography or capillary isoelectric focusing. It does not mean that the classified population acts as an alkalizing (basifying) agent.
first order logic axiom: ProteinBasicChargeVariantClassifier(x) → ProteinChargeVariantClassifier(x)
is primitive: true
natural language definition: protein charge variant classifier that classifies a molecular entity population composed of proteins or protein fragments as differing from a reference protein form by having a higher isoelectric point or higher net electric charge under the relevant analytical conditions
primitive rationale: There are insufficient constructs to create a set of necessary and sufficient conditions.
semi formal natural language axiom: if x is a 'protein basic charge variant classifier' then x is a 'protein charge variant classifier'

protein charge variant classifier
type: Class
subclass of: charge variant classifier
subclass of: Restriction
  on property: classifies
  some values from: Class
    intersection of: molecular entity population
    intersection of: Restriction
      on property: BFO_0000115
      all values from: Class
        union of: protein
        union of: protein fragment
subclass of: Restriction
  on property: isAbout
  some values from: Class
    intersection of: DesignSpecification
    intersection of: Restriction
      on property: prescribes
      some values from: protein
example: a classifier that classifies the acidic peak population of a monoclonal antibody in cation-exchange chromatography as a protein charge variant; a classifier that classifies a basic peak population of a recombinant protein by imaged capillary isoelectric focusing; a classifier that classifies deamidated antibody-related molecular populations as acidic charge variants under a product-specific charge variant method
adapted from: https://pmc.ncbi.nlm.nih.gov/articles/PMC5392216/ and https://www.chromatographyonline.com/view/charge-variant-profiling-biopharmaceuticals and https://www.agilent.com/cs/library/applications/compendium-chargevariant-advancebio-5994-0034EN-us-agilent.pdf?srsltid=AfmBOorRMu0dQH4wotghCeKwXSMCdNuuNsAEkA06EkLXupvMO6SBKJaN
explanatory note: A protein charge variant classifier classifies populations of protein or protein-fragment molecules by charge-related analytical behavior, such as net electric charge, isoelectric point, ion-exchange retention behavior, capillary isoelectric focusing behavior, or electrophoretic mobility. The classified population may contain multiple molecular forms grouped together by the analytical method, rather than one structurally uniform molecular species. The reference protein form is specified by the relevant design specification.
first order logic axiom: ProteinChargeVariantClassifier(x) → ChargeVariantClassifier(x) ∧ ∃s(DesignSpecification(s) ∧ isAbout(x,s) ∧ ∃r(Protein(r) ∧ prescribes(s,r))) ∧ ∃p(MolecularEntityPopulation(p) ∧ classifies(x,p) ∧ ∃m((Protein(m) ∨ ProteinFragment(m)) ∧ hasMemberPartAtSomeTime(p,m)) ∧ ∀n(hasMemberPartAtSomeTime(p,n) → (Protein(n) ∨ ProteinFragment(n))))
is primitive: true
natural language definition: charge variant classifier that classifies a molecular entity population composed of proteins or protein fragments according to charge-related analytical behavior relative to a reference protein form
primitive rationale: There are insufficient constructs to create a set of necessary and sufficient conditions.
semi formal natural language axiom: if x is a 'protein charge variant classifier' then x is a 'charge variant classifier' that classifies some 'molecular entity population' whose members are proteins or protein fragments, and x is about some 'design specification' that prescribes some protein

protein charge variant population
type: Class
subclass of: molecular entity population
subclass of: Restriction
  on property: BFO_0000115
  all values from: Class
    union of: protein
    union of: protein fragment
equivalent class: Class
  intersection of: molecular entity population
  intersection of: Restriction
    on property: classifiedBy
    some values from: protein charge variant classifier
example: acidic peak population of a monoclonal antibody; a basic peak population of a recombinant protein;
first order logic axiom: ProteinChargeVariantPopulation(x) → ∀m(hasMemberPartAtSomeTime(x,m) → (Protein(m) ∨ ProteinFragment(m)))
first order logic definition: ProteinChargeVariantPopulation(x) ↔ MolecularEntityPopulation(x) ∧ ∃c(ProteinChargeVariantClassifier(c) ∧ classifiedBy(x, c))
natural language definition: molecular entity population classified by a protein charge variant classifier
semi formal natural language axiom: if x is a 'protein charge variant population' and x 'has member part at some time' m, then m is a 'protein' or 'protein fragment'
semi formal natural language definition: every instance of 'protein charge variant population' is defined as exactly an instance of 'molecular entity population' that is 'classified by' some 'protein charge variant classifier'

protein fragment
type: Class
subclass of: organic molecular entity
subclass of: Class
  union of: peptide
  union of: protein
example: Fab fragment generated by cleavage of an antibody; Fc fragment generated by cleavage of an antibody; Peptide fragment generated during proteolytic digestion for peptide mapping; Clipped monoclonal antibody fragment detected during product characterization; Protein fragment formed during storage-related degradation; Host cell protein fragment detected as a process-related impurity
adapted from: https://www.bioprocessintl.com/formulation/stability-considerations-for-biopharmaceuticals-overview-of-protein-and-peptide-degradation-pathways and https://pmc.ncbi.nlm.nih.gov/articles/PMC5392216/ and https://www.ema.europa.eu/en/documents/scientific-guideline/guideline-development-production-characterisation-and-specification-monoclonal-antibodies-and-related-products-revision-1_en.pdf
explanatory note: 1) The phrase ‘was a proper part of a protein’ indicates that the fragment existed as part of a larger protein molecule before cleavage. After the bond-breaking event, it may persist as an independent molecular entity. 2) Protein fragments may be generated by spontaneous, chemically induced, environmentally induced, mechanically associated, or enzyme-mediated peptide-bond cleavage. Examples include hydrolysis under stress conditions, fragmentation during storage or processing, and proteolytic cleavage.
first order logic axiom: ProteinFragment(x) → Peptide(x) ∨ Protein(x)
is primitive: true
natural language definition: peptide or protein that was a proper part of a protein molecule and resulted from cleavage of one or more peptide bonds within that protein
primitive rationale: There are insufficient constructs to define a set of necessary and sufficient conditions.
semi formal natural language axiom: if x is a 'protein fragment' then x is a 'peptide' or 'protein'

protein high molecular weight population
type: Class
subclass of: protein size variant population
subclass of: Restriction
  on property: BFO_0000115
  all values from: Class
    union of: protein
    union of: protein aggregate
equivalent class: Class
  intersection of: protein size variant population
  intersection of: Restriction
    on property: classifiedBy
    some values from: protein high molecular weight variant classifier
example: high-molecular-weight species peak; antibody dimer and oligomer populations detected during aggregate analysis; soluble protein aggregate material observed as high-molecular-weight species relative to the monomer peak;
first order logic axiom: ProteinHighMolecularWeightPopulation(x) → ∀m(hasMemberPartAtSomeTime(x,m) → (Protein(m) ∨ ProteinAggregate(m)))
first order logic definition: ProteinHighMolecularWeightPopulation(x) ↔ ProteinSizeVariantPopulation(x) ∧ ∃c(ProteinHighMolecularWeightVariantClassifier(c) ∧ classifiedBy(x, c))
natural language definition: protein size variant population classified by a protein high molecular weight variant classifier
semi formal natural language axiom: if x is a 'protein high molecular weight population' and x 'has member part at some time' m, then m is a 'protein' or 'protein aggregate'
semi formal natural language definition: every instance of 'protein high molecular weight population' is defined as exactly an instance of 'protein size variant population' that is 'classified by' some 'protein high molecular weight variant classifier'

protein high molecular weight variant classifier
type: Class
subclass of: protein size variant classifier
subclass of: Restriction
  on property: classifies
  some values from: Class
    intersection of: molecular entity population
    intersection of: Restriction
      on property: BFO_0000115
      all values from: Class
        union of: protein
        union of: protein aggregate
disjoint with: protein low molecular weight variant classifier
example: a classifier that classifies the population corresponding to a high-molecular-weight species peak in a monoclonal antibody size exclusion chromatography-high performance liquid chromatography (SEC-HPLC) assay; a classifier that classifies antibody dimer and oligomer populations detected during aggregate analysis; a classifier that classifies soluble protein aggregate material observed as high-molecular-weight species relative to the monomer peak; a classifier that classifies covalent or non-covalent antibody aggregate populations detected in a drug substance lot;
adapted from: https://pmc.ncbi.nlm.nih.gov/articles/PMC3564875/ and https://pmc.ncbi.nlm.nih.gov/articles/PMC9980510/ and https://www.biopharminternational.com/view/protein-impurities-pose-challenges
explanatory note: A protein high molecular weight variant classifier classifies protein-related molecular populations whose molecular size or molecular weight is greater than the reference protein form under the relevant analytical method. The classified population may include aggregates, dimers, oligomers, covalently linked forms, non-covalent associated forms, or other high-molecular-weight product-related material.
first order logic axiom: ProteinHighMolecularWeightVariantClassifier(x) → ProteinSizeVariantClassifier(x) ∧ ∃p (MolecularEntityPopulation(p) ∧ classifies(x, p) ∧ ∃m ((Protein(m) ∨ ProteinAggregate(m)) ∧ hasMemberPartAtSomeTime(p, m)) ∧ ∀m (hasMemberPartAtSomeTime(p, m) → (Protein(m) ∨ ProteinAggregate(m))))
is primitive: true
natural language definition: protein size variant classifier that classifies a molecular entity population composed of proteins or protein aggregates as having greater molecular size or molecular weight than a reference protein form
primitive rationale: There are insufficient constructs to create a set of necessary and sufficient conditions.
semi formal natural language axiom: if x is a 'protein high molecular weight variant classifier' then x is a 'protein size variant classifier' that classifies some 'molecular entity population' whose members are proteins or protein aggregates

protein low molecular weight population
type: Class
subclass of: protein size variant population
subclass of: Restriction
  on property: BFO_0000115
  all values from: Class
    union of: protein
    union of: protein fragment
equivalent class: Class
  intersection of: protein size variant population
  intersection of: Restriction
    on property: classifiedBy
    some values from: protein low molecular weight variant classifier
example: low-molecular-weight species peak; clipped antibody fragment populations detected by Capillary Electrophoresis-Sodium Dodecyl Sulfate (CE-SDS); protein fragments formed during stability testing
first order logic axiom: ProteinLowMolecularWeightPopulation(x) → ∀m(hasMemberPartAtSomeTime(x,m) → (Protein(m) ∨ ProteinFragment(m)))
first order logic definition: ProteinLowMolecularWeightPopulation(x) ↔ ProteinSizeVariantPopulation(x) ∧ ∃c(ProteinLowMolecularWeightVariantClassifier(c) ∧ classifiedBy(x, c))
natural language definition: protein size variant population classified by a protein low molecular weight variant classifier
semi formal natural language axiom: if x is a 'protein low molecular weight population' and x 'has member part at some time' m, then m is a 'protein' or 'protein fragment'
semi formal natural language definition: every instance of 'protein low molecular weight population' is defined as exactly an instance of 'protein size variant population' that is 'classified by' some 'protein low molecular weight variant classifier'

protein low molecular weight variant classifier
type: Class
subclass of: protein size variant classifier
subclass of: Restriction
  on property: classifies
  some values from: Class
    intersection of: molecular entity population
    intersection of: Restriction
      on property: BFO_0000115
      all values from: Class
        union of: protein
        union of: protein fragment
example: a classifier that classifies the population corresponding to a low-molecular-weight species peak in a monoclonal antibody size exclusion chromatography-high performance liquid chromatography (SEC-HPLC) assay; a classifier that classifies clipped antibody fragment populations detected by Capillary Electrophoresis-Sodium Dodecyl Sulfate (CE-SDS); a classifier that classifies protein fragments formed during stability testing as low-molecular-weight species; a classifier that classifies a half-antibody population as lower molecular weight than the reference antibody form;
adapted from: https://www.agilent.com/cs/library/applications/application-intact-protein-analysis-1290-bio-5994-3021en-agilent.pdf?srsltid=AfmBOord0gYpA_izWG5ho6VxaMiEr6N9eFGWe1h-RuEb88akGHX2gVrA and https://www.biopharminternational.com/view/protein-impurities-pose-challenges and https://www.sciencedirect.com/science/article/pii/S0022354922003392
explanatory note: A protein low molecular weight variant classifier classifies protein-related molecular populations whose molecular size or molecular weight is lower than the reference protein form under the relevant analytical method. The classified population may include fragments, clipped forms, truncated forms, partially degraded chains, light-chain or heavy-chain fragments, half-antibody species, or other low-molecular-weight product-related material.
first order logic axiom: ProteinLowMolecularWeightVariantClassifier(x) → ProteinSizeVariantClassifier(x) ∧ ∃p (MolecularEntityPopulation(p) ∧ classifies(x, p) ∧ ∃m ((Protein(m) ∨ ProteinFragment(m)) ∧ hasMemberPartAtSomeTime(p, m)) ∧ ∀m (hasMemberPartAtSomeTime(p, m) → (Protein(m) ∨ ProteinFragment(m))))
is primitive: true
natural language definition: protein size variant classifier that classifies a molecular entity population composed of proteins or protein fragments as having lower molecular size or molecular weight than a reference protein form
primitive rationale: There are insufficient constructs to create a set of necessary and sufficient conditions.
semi formal natural language axiom: if x is a 'protein low molecular weight variant classifier' then x is a 'protein size variant classifier' that classifies some 'molecular entity population' whose members are proteins or protein fragments

protein main charge variant classifier
type: Class
subclass of: protein charge variant classifier
example: a classifier that classifies the main monoclonal antibody peak population in cation-exchange chromatography; a classifier that classifies the protein population with pI comparable to the reference protein form in capillary isoelectric focusing; a classifier that classifies the main electrophoretic band population under a product-specific charge variant method;
adapted from: https://pmc.ncbi.nlm.nih.gov/articles/PMC5392216/ and https://www.chromatographyonline.com/view/charge-variant-profiling-biopharmaceuticals and https://www.agilent.com/cs/library/applications/compendium-chargevariant-advancebio-5994-0034EN-us-agilent.pdf?srsltid=AfmBOorRMu0dQH4wotghCeKwXSMCdNuuNsAEkA06EkLXupvMO6SBKJaN
explanatory note: A main charge variant classifier classifies the protein or protein-fragment population whose charge-related analytical behavior is comparable to the reference protein form specified by the relevant product or design specification. In many charge-variant methods, this population corresponds to the main analytical peak, band, or region. The term main does not imply that the classified population is chemically homogeneous, nor does it imply that all non-main charge variants are impurities.
first order logic axiom: ProteinMainChargeVariantClassifier(x) → ProteinChargeVariantClassifier(x)
is primitive: true
natural language definition: protein charge variant classifier that classifies a molecular entity population composed of proteins or protein fragments as having charge-related analytical behavior comparable to the reference protein form under the relevant analytical conditions
primitive rationale: There are insufficient constructs to create a set of necessary and sufficient conditions.
semi formal natural language axiom: if x is a 'protein main charge variant classifier' then x is a 'protein charge variant classifier'

protein size variant classifier
type: Class
subclass of: size variant classifier
subclass of: Restriction
  on property: classifies
  some values from: Class
    intersection of: molecular entity population
    intersection of: Restriction
      on property: BFO_0000115
      all values from: Class
        union of: protein
        union of: protein aggregate
        union of: protein fragment
subclass of: Restriction
  on property: isAbout
  some values from: Class
    intersection of: DesignSpecification
    intersection of: Restriction
      on property: prescribes
      some values from: protein
example: a classifier that classifies a monoclonal antibody aggregate population as a protein size variant by size-exclusion chromatography; a classifier that classifies a clipped antibody fragment population as a protein size variant by CE-SDS; a classifier that classifies a low-molecular-weight fragment population relative to the reference protein form; a classifier that classifies a high-molecular-weight oligomer population relative to the reference protein form;
adapted from: https://pmc.ncbi.nlm.nih.gov/articles/PMC3564875/ and https://pmc.ncbi.nlm.nih.gov/articles/PMC9980510/ and https://www.biopharminternational.com/view/protein-impurities-pose-challenges and https://link.springer.com/article/10.1186/s41120-024-00096-x and https://www.fda.gov/media/182387/download
first order logic axiom: ProteinSizeVariantClassifier(x) → SizeVariantClassifier(x) ∧ ∃s (DesignSpecification(s) ∧ isAbout(x, s) ∧ ∃r (Protein(r) ∧ prescribes(s, r))) ∧ ∃p (MolecularEntityPopulation(p) ∧ classifies(x, p) ∧ ∃m ((Protein(m) ∨ ProteinFragment(m) ∨ ProteinAggregate(m)) ∧ hasMemberPartAtSomeTime(p, m)) ∧ ∀m (hasMemberPartAtSomeTime(p, m) → (Protein(m) ∨ ProteinFragment(m) ∨ ProteinAggregate(m))))
is primitive: true
natural language definition: size variant classifier that classifies a molecular entity population composed of proteins, protein fragments, or protein aggregates according to molecular size or molecular weight relative to a reference protein form
primitive rationale: There are insufficient constructs to create a set of necessary and sufficient conditions.
semi formal natural language axiom: if x is a 'protein size variant classifier' then x is a 'size variant classifier' that 'is about' some 'design specification' that 'prescribes' some 'protein', and x 'classifies' some 'molecular entity population' whose members are proteins, protein fragments, or protein aggregates

protein size variant population
type: Class
subclass of: molecular entity population
subclass of: Restriction
  on property: BFO_0000115
  all values from: Class
    union of: protein
    union of: protein aggregate
    union of: protein fragment
equivalent class: Class
  intersection of: molecular entity population
  intersection of: Restriction
    on property: classifiedBy
    some values from: protein size variant classifier
example: monoclonal antibody aggregate population; clipped antibody fragment population
first order logic axiom: ProteinSizeVariantPopulation(x) → ∀m(hasMemberPartAtSomeTime(x,m) → (Protein(m) ∨ ProteinFragment(m) ∨ ProteinAggregate(m)))
first order logic definition: ProteinSizeVariantPopulation(x) ↔ MolecularEntityPopulation(x) ∧ ∃c(ProteinSizeVariantClassifier(c) ∧ classifiedBy(x, c))
natural language definition: molecular entity population classified by a protein size variant classifier
semi formal natural language axiom: if x is a 'protein size variant population' and x 'has member part at some time' m, then m is a 'protein', 'protein fragment', or 'protein aggregate'
semi formal natural language definition: every instance of 'protein size variant population' is defined as exactly an instance of 'molecular entity population' that is 'classified by' some 'protein size variant classifier'

proteinogenic amino acid
type: Class
subclass of: amino acid
example: Glycine; L-alanine; L-lysine; L-methionine; L-serine; L-tryptophan; L-glutamic acid; L-cysteine.
adapted from: https://www.ebi.ac.uk/chebi/CHEBI:83813
first order logic axiom: ProteinogenicAminoAcid(x) → AminoAcid(x)
is primitive: true
natural language definition: amino acid that is normally incorporated into polypeptide chains by ribosomal translation
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is a 'proteinogenic amino acid' then x is an 'amino acid'

ribonucleic acid
type: Class
subclass of: nucleic acid
example: mRNA transcript used as an expression intermediate; Guide RNA used in a gene-editing process; Ribosomal RNA present as part of a ribosome; Transfer RNA involved in translation; Viral RNA detected in a process or analytical sample; RNA molecule measured during gene-expression analysis.
acronym: RNA
adapted from: http://purl.obolibrary.org/obo/CHEBI_33697
first order logic axiom: RibonucleicAcid(x) → NucleicAcid(x)
is primitive: true
natural language definition: nucleic acid that is composed of nucleotide units containing ribose
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is 'ribonucleic acid' then x is a 'nucleic acid'

ribonucleoside
type: Class
subclass of: nucleoside
example: Adenosine molecule; Guanosine molecule; Cytidine molecule; Uridine molecule.
direct source: https://www.ebi.ac.uk/chebi/CHEBI:18254
first order logic axiom: Ribonucleoside(x) → Nucleoside(x)
is primitive: true
natural language definition: nucleoside where the sugar component is D-ribose
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is a 'ribonucleoside' then x is a 'nucleoside'

salt
type: Class
subclass of: molecular entity
subclass of: Restriction
  on property: BFO_0000110
  some values from: anion
subclass of: Restriction
  on property: BFO_0000110
  some values from: cation
example: sodium chloride; sodium monophosphate; potassium acetate
adapted from: https://www.ebi.ac.uk/chebi/CHEBI:24866
first order logic axiom: Salt(x) → MolecularEntity(x) ∧ ∃a (hasContinuantPartAtAllTimes(x, a) ∧ Anion(a)) ∧ ∃c (hasContinuantPartAtAllTimes(x, c) ∧ Cation(c))
is primitive: true
natural language definition: molecular entity that is an assembly of cations and anions
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is a 'salt' then x is a 'molecular entity', x 'has continuant part at all times' some 'anion', and x 'has continuant part at all times' some 'cation'

sialic acid residue
type: Class
subclass of: monosaccharide residue
example: Sialic acid residue at the terminal position of a complex N-linked glycan; Sialic acid residue attached to a galactose residue in a glycoprotein glycan; N-acetylneuraminic acid residue in a sialylated monoclonal antibody glycan.
first order logic axiom: SialicAcidResidue(x) → MonosaccharideResidue(x)
is primitive: true
natural language definition: monosaccharide residue that is the remaining portion of sialic acid after formation of a glycosidic bond
primitive rationale: This term is expected to remain primitive as the detailed treatment of chemical bonds, structure and formation is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is a 'sialic acid residue' then x is a 'monosaccharide residue'

size variant classifier
type: Class
subclass of: Classifier
subclass of: Restriction
  on property: classifies
  some values from: BFO_0000027
subclass of: Restriction
  on property: isAbout
  some values from: Class
    intersection of: DesignSpecification
    intersection of: Restriction
      on property: prescribes
      some values from: BFO_0000040
example: a classifier that classifies a group of monoclonal antibody molecules detected as a high molecular weight fraction by size-exclusion chromatography as a size variant relative to a reference monoclonal antibody; a classifier that classifies a group of recombinant protein fragments detected as a low molecular weight fraction by capillary electrophoresis as a size variant relative to a reference recombinant protein; a classifier that classifies a group of antibody-drug conjugate molecules according to size-related analytical properties under a product-specific size variant method;
explanatory note: A size variant classifier is a broad parent for classifiers that group material entities by size-related analytical properties. It is intended to support different material domains, including molecular products and particle-based products. More specific subclasses should be used when the size-related terminology, analytical methods, or reference comparisons are domain-specific, such as protein size variants, molecular size variants, aggregate variants, fragment variants, or lipid nanoparticle particle-size variants. The reference material entity is the material entity prescribed by the relevant design specification as the basis for comparison.
first order logic axiom: SizeVariantClassifier(x) → Classifier(x) ∧ ∃s (DesignSpecification(s) ∧ isAbout(x, s) ∧ ∃r (MaterialEntity(r) ∧ prescribes(s, r))) ∧ ∃g (ObjectAggregate(g) ∧ classifies(x, g))
is primitive: true
natural language definition: classifier that classifies a population of material entities according to size-related analytical properties relative to a reference material entity
primitive rationale: There are insufficient constructs to create necessary and sufficient conditions.
semi formal natural language axiom: if x is a 'size variant classifier' then x is a 'classifier' that 'is about' some 'design specification' that 'prescribes' some 'material entity', and x 'classifies' some 'object aggregate'

steroid
type: Class
subclass of: lipid
example: Estradiol; Testosterone; Cortisol
adapted from: https://www.ebi.ac.uk/chebi/CHEBI:35341
explanatory note: 1) Additional side chains or functional groups may be attached to the core rings, and the rings may be hydrogenated or slightly modified by rearrangement. 2) Steroids include naturally occurring compounds and synthetic analogues. This class encompasses sterols (e.g., cholesterol), bile acids, and steroid hormones, as well as numerous synthetic derivatives with medicinal applications. 3) Chemically, steroids are compounds derived from the cyclopenta[a]phenanthrene skeleton, typically with methyl groups at C-10 and C-13 and often an alkyl side chain at C-17. Natural steroids arise from squalene and may show partial hydrogenation or minor ring modifications.
first order logic axiom: Steroid(x) → Lipid(x)
is primitive: true
natural language definition: lipid that has a core structure of four fused carbon rings, consisting of three six-membered rings and one five-membered ring
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is a 'steroid' then x is a 'lipid'

trace element role
type: Class
subclass of: molecular entity role
example: Trace element role held by Fe²⁺ from an iron salt that was added to media as part of a trace element supplement; Trace element role held by Cu²⁺ from CuSO₄·5H₂O (copper sulfate pentahydrate) added to support oxidative enzyme function
adapted from: https://aiche.onlinelibrary.wiley.com/doi/full/10.1002/btpr.3368 and https://pubmed.ncbi.nlm.nih.gov/30290072/ and https://pub.uni-bielefeld.de/record/2943695 and https://evsexplore.semantics.cancer.gov/evsexplore/concept/ncit/C896
explanatory note: 1) Entities bearing a trace element role support biological processes through activities such as catalysis, electron transfer, or structural stabilization of biomolecules. They are commonly introduced through inorganic salts, oxoanions, chelates, or other molecular entities that make the relevant element bioavailable. Examples include iron, zinc, copper, manganese, cobalt, and selenium supplied through compounds such as ferrous salts, zinc salts, copper salts, manganese salts, cobalt salts, or selenite. 2) Trace elements are often intentionally introduced through culture-medium or feed components, but may also originate from raw material impurities, equipment leachables, or process water. In such cases, an elemental molecular entity may bear both a trace element role and an impurity role, depending on its origin, amount, and contribution to biological processes. Mere presence in a small amount is insufficient for bearing a trace element role.
first order logic axiom: TraceElementRole(x) → MolecularEntityRole(x)
is primitive: true
natural language definition: role held by a molecular entity composed of a single chemical element that originates from a source external to cells, is present in a small amount, and supports biological processes in those cells
primitive rationale: This term is expected to remain primitive as the detailed treatment of biochemical processes is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is a 'trace element role' then x is a 'molecular entity role'

vitamin
type: Class
subclass of: organic molecular entity
equivalent class: Class
  intersection of: organic molecular entity
  intersection of: Restriction
    on property: hasRole
    some values from: vitamin role
example: Thiamine (vitamin B₁) supporting carbohydrate metabolism; Riboflavin (vitamin B₂) serving as precursor of flavin cofactors (FAD, FMN); Biotin acting in carboxylation reactions.
adapted from: http://purl.obolibrary.org/obo/CHEBI_33229
explanatory note: See the expanded definition under the corresponding role class.
first order logic definition: Vitamin(x) ↔ OrganicMolecularEntity(x) ∧ ∃r (hasRole(x, r) ∧ VitaminRole(r))
natural language definition: organic molecular entity with a vitamin role
semi formal natural language definition: every instance of 'vitamin' is defined as exactly an instance of 'organic molecular entity' that 'has role' some 'vitamin role'

vitamin role
type: Class
subclass of: molecular entity role
subclass of: Restriction
  on property: roleOf
  some values from: organic molecular entity
example: Vitamin role held by thiamine (vitamin B₁) when supporting carbohydrate metabolism; Vitamin role held by riboflavin (vitamin B₂) when serving as precursor of flavin cofactors (FAD, FMN); Vitamin role held by biotin when acting in carboxylation reactions
adapted from: http://purl.obolibrary.org/obo/CHEBI_33229
explanatory note: Vitamins are organic compounds that support or regulate metabolic and physiological processes, often by serving as cofactors, coenzyme precursors, or regulatory metabolites. They are required only in small amounts but may not be synthesized, supplied, or activated in sufficient quantity without external inputs such as nutrient supplementation or relevant environmental conditions. In human and animal nutrition, vitamins are obtained through dietary intake; in biomanufacturing, they may be incorporated into culture media or feed formulations to support cell viability, growth, and productivity
first order logic axiom: VitaminRole(x) → MolecularEntityRole(x) ∧ ∃y (roleOf(x, y) ∧ OrganicMolecularEntity(y))
is primitive: true
natural language definition: role held by an organic molecular entity that is used in small amounts to support metabolic or physiological functions and whose adequate availability depends on external supply or environmental activation
primitive rationale: This term is expected to remain primitive as the detailed treatment of biochemical processes is outside of the current scope of IOF. Other biological and chemical ontologies should be used for these purposes
semi formal natural language axiom: if x is a 'vitamin role' then x is a 'molecular entity role' and x is a 'role of' some 'organic molecular entity'

water molecule
type: Class
subclass of: inorganic molecular entity
example: H₂O (ordinary water); D₂O (heavy water); HDO (semi-heavy water)
adapted from: http://purl.obolibrary.org/obo/CHEBI_15377
explanatory note: 1) Water molecule refers to the molecular entity H₂O, not to a bulk water material, aqueous solution, or other water-containing mixture. In laboratory and biomanufacturing usage, ‘water’ often refers to materials composed primarily of water molecules, such as Purified Water, Water for Injection, buffers, media, or other aqueous materials. These bulk materials and mixtures should be modeled separately from the water molecule itself. 2) Water molecules may occur in isotopic variants, such as heavy water (D₂O) or semi-heavy water (HDO). These variants have the same atom-connectivity pattern as H₂O but differ in hydrogen isotope composition.
first order logic axiom: WaterMolecule(x) → InorganicMolecularEntity(x)
is primitive: true
natural language definition: inorganic molecular entity consisting of an oxygen atom that is covalently bonded to two hydrogen atoms
primitive rationale: See the primitive rationale under molecular entity
semi formal natural language axiom: if x is a 'water molecule' then x is an 'inorganic molecular entity'