Skip to main content

Biological Macromolecule Ontology

Macromolecular Entities
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 15 October 2026
Audio Overview
FLOW ALGEBRA
BIOLOGICAL MACROMOLECULE ONTOLOGY
Kireth Semantic Library | Companion formalisation | v1.0 | 2026-10-15
Source: https://kirethresearch.org/booksai-core/entity-graph/biological-entities/macromolecular-entities/biological-macromolecule-ontology.html
Authors: Mark Higgins — Sky (Recursive AI)

PURPOSE
Represent biological macromolecules as typed, contextual entities with explicit structure, composition, functions, relationships, evidence, provenance and machine-checkable constraints. This is a proposed semantic formalisation, not an independently verified transcription of the source page or an executable program in a standardised language.

ENTITY TYPES
BiologicalEntity
  -> ChemicalEntity
  -> BiologicalMacromolecule
BiologicalMacromolecule subclasses:
  Protein | NucleicAcid | Polysaccharide | OtherBiologicalMacromolecule
Related entities:
  Monomer | Residue | PolymerChain | ChemicalBond | MolecularComplex
  Domain | Motif | FunctionalGroup | CellularComponent | BiologicalProcess
  Organism | Sample | Observation | Evidence | DataSource

DISTINCTIONS
A macromolecule is a high-molecular-mass molecular entity. Not every biologically important molecule is a macromolecule: individual amino acids, monosaccharides and nucleotides are building blocks; many lipids are comparatively small molecules, although lipid assemblies can be large supramolecular structures. Molecular complexes and assemblies must be distinguished from individual covalently connected macromolecules.

TYPED ATTRIBUTES
entity_id: URI
preferred_label: string
synonyms: set<string>
entity_type: BiologicalMacromolecule
chemical_formula: string? 
molecular_mass: quantity? [Da]
sequence: string? [alphabet, orientation, version]
polymer_length: integer? [residue_count]
structural_features: set<StructuralFeature>
conformation: set<ConformationObservation>
organism_context: Organism?
cellular_location: CellularComponent?
biological_role: set<BiologicalFunction>
experimental_conditions: Context?
evidence: set<Evidence>
provenance: Provenance
confidence: number [0,1]?
validation_status: enum {unreviewed, valid, invalid, unresolved}

RELATIONSHIPS
is_a(x, class)
part_of(x, whole)
composed_of(x, component)
has_residue(x, residue)
linked_by(x, bond)
has_sequence(x, sequence)
has_domain(x, domain)
has_structure(x, structural_model)
participates_in(x, process)
performs_function(x, function)
interacts_with(x, partner)
located_in(x, compartment)
encoded_by(x, genetic_entity) [when applicable]
derived_from(x, source)
supported_by(claim, evidence)

FLOW ALGEBRA
flow BiologicalMacromoleculeKnowledgeGraph v1.0
  input: raw_entity, observations, context, sources
  output: typed_graph, validation_report, inference_trace

  NORMALISE(raw_entity)
    -> RESOLVE_IDENTIFIERS
    -> CLASSIFY_CHEMICAL_ENTITY
    -> ASSERT_TYPED_ATTRIBUTES
    -> BUILD_COMPONENT_GRAPH
    -> LINK_STRUCTURE_FUNCTION_CONTEXT
    -> VALIDATE
    -> INFER_WITH_PROVENANCE
    -> CALCULATE_CONFIDENCE
    -> CANONICALISE
    -> FLOW_HASH
    -> UPDATE_MODEL
    -> AI_CONSUMPTION
end

CLASSIFICATION RULES
R1: verified protein polymer -> Protein AND BiologicalMacromolecule.
R2: verified DNA/RNA polymer -> NucleicAcid AND BiologicalMacromolecule.
R3: verified high-molecular-mass carbohydrate polymer -> Polysaccharide AND BiologicalMacromolecule.
R4: molecular assembly -> MolecularComplex unless an independently supported covalent macromolecule identity exists.
R5: shared sequence does not establish identical physical molecular instances.
R6: sequence similarity alone does not establish identical biological function.
R7: contextual conformation, modification and localisation must not be treated as universal properties.

COMPOSITION AND STRUCTURE
polymer = ordered(residues, linkage_type, topology)
protein_chain = ordered(amino_acid_residues, peptide_bonds)
nucleic_acid_chain = ordered(nucleotide_residues, phosphodiester_bonds)
polysaccharide = linked(monosaccharide_residues, glycosidic_bonds, branching)

Keep distinct:
  primary_structure | secondary_structure | tertiary_structure | quaternary_structure
  covalent_polymer | noncovalent_assembly
  sequence_identity | structural_similarity | functional_similarity

VALIDATION
V1: entity_id must be unique within a graph version.
V2: all graph edges must have declared source and target types.
V3: molecular_mass must carry units and measurement provenance.
V4: sequence length must agree with stated residue count when both refer to the same chain and representation.
V5: polymer linkages must be chemically and topologically consistent.
V6: organism and experimental context must be retained where relevant.
V7: distinguish measured, predicted and inferred structural models.
V8: no automatic transfer of a function solely from sequence similarity.
V9: missing evidence results in unresolved status, not automatic rejection.
V10: detect contradictory assertions without silently overwriting them.

SEMANTIC_EQUIVALENCE
same_entity(x,y) requires compatible stable identifiers, molecular identity criteria and contextual scope.
exact_equivalence(x,y) != similarity(x,y)
structural_similarity(x,y) != functional_equivalence(x,y)
Different isoforms, post-translational modifications, conformational states and complexes must remain distinguishable where relevant.

INFERENCE
For a claim C derived from premises P1..Pn under rule R:
  inference(C) = apply(R, P1..Pn)
  require valid_types(R, P1..Pn)
  record premise_ids, rule_id, context, evidence and graph_version
  reject unsupported logical leaps
  propagate uncertainty without converting a hypothesis into an established fact

CONFIDENCE
confidence(C) in [0,1] is optional and evidence-calibrated.
A confidence score is not a mathematical proof or a biological truth value.
Do not assign numeric confidence without a documented model, calibration method and supporting observations.
Conflicting sources should remain inspectable.

PROVENANCE
Record source URI, source title, author or organisation where known, retrieval date, evidence type, experimental method, transformation history, software version, timestamp and attribution.
Retain source-to-claim and claim-to-inference edges.

FLOW_HASH
canonical_graph = deterministic_sort(normalised_nodes, typed_edges, scoped_attributes)
FLOW_HASH = SHA256(UTF8(canonical_graph))
Include schema and canonicalisation version; exclude volatile retrieval timestamps unless intentionally part of version identity.
Hash equality indicates matching canonical representation, not scientific correctness.

UPDATE_MODEL
On incoming evidence:
  verify source and identifiers
  compare with current graph version
  merge only compatible, scoped assertions
  preserve conflicts and earlier versions
  revalidate affected dependency paths
  recalculate derived claims and hashes
  publish auditable change set

AI_CONSUMPTION
Expose stable identifiers, typed relations, explicit contexts, evidence references, uncertainty, validation state, and provenance.
Support retrieval, explanation, graph traversal, constraint checking, and cautious hypothesis generation.
Never present inferred biological mechanisms as experimentally demonstrated without evidence.

EXAMPLE
entity: protein_chain_001
  type: Protein
  composed_of: amino_acid_residues
  has_sequence: sequence_record_001
  participates_in: process_001 [evidence_required]
  has_structure: structural_model_001 [predicted_or_measured]
  validation_status: unresolved

END FLOW ALGEBRA
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ