Skip to main content

Molecular Cofactor Ontology

Chemical Foundations of Life
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 15 October 2026
Audio Overview
FLOW ALGEBRA
MOLECULAR COFACTOR ONTOLOGY
Kireth Semantic Library | Biological Entities | Chemical Foundations of Life
Source: https://kirethresearch.org/booksai-core/entity-graph/biological-entities/chemical-foundations-of-life/molecular-cofactor-ontology.html
Version: 1.0 | 2026-10-15
Authors: Mark Higgins — Sky (Recursive AI)
Licence: Open Research Licence — see Kireth Research for terms.

PURPOSE
Represent molecular cofactors as typed chemical and biological entities; distinguish coenzymes, inorganic cofactors, prosthetic groups and transiently bound cofactors; preserve evidence, context and uncertainty when deriving relationships.

ENTITY TYPES
MolecularCofactor(id, label, chemical_identity, role, binding_mode, evidence)
Enzyme(id, label, accession?, organism?)
CofactorBindingSite(id, enzyme_id, residues?, geometry?)
Coenzyme(id, label, organic_structure?) <: MolecularCofactor
MetalIonCofactor(id, element, oxidation_state?) <: MolecularCofactor
ProstheticGroup(id, label, attachment_mode?) <: MolecularCofactor
Reaction(id, reactants, products, stoichiometry?, conditions?)
CatalyticActivity(id, reaction_id, enzyme_id)
BiologicalContext(id, organism?, tissue?, compartment?, conditions?)
Observation(id, method, source, date?, reliability?)
Claim(id, subject, predicate, object, context, provenance)

TYPED RELATIONSHIPS
REQUIRES_COFACTOR: Enzyme x MolecularCofactor -> Claim
BINDS_COFACTOR: Enzyme x MolecularCofactor -> Claim
HAS_BINDING_SITE: Enzyme x CofactorBindingSite -> Claim
PARTICIPATES_IN: MolecularCofactor x Reaction -> Claim
ENABLES_ACTIVITY: MolecularCofactor x CatalyticActivity -> Claim
TRANSFER_GROUP: MolecularCofactor x ChemicalGroup -> Claim
TRANSFERS_ELECTRON: MolecularCofactor x Reaction -> Claim
DERIVED_FROM: MolecularCofactor x Precursor -> Claim
OBSERVED_IN: Claim x BiologicalContext -> Claim
SUPPORTED_BY: Claim x Observation -> Claim

SEMANTIC RULES
R1: Enzyme(e) AND Cofactor(c) AND verified_requires(e,c,context) => REQUIRES_COFACTOR(e,c,context).
R2: Coenzyme(c) => MolecularCofactor(c); converse is not valid.
R3: ProstheticGroup(c) => MolecularCofactor(c); 'prosthetic group' describes tight or persistent association, not necessarily a distinct chemical family.
R4: MetalIonCofactor(c) AND oxidation_state_known(c,s) => preserve oxidation_state(s) in all catalytic claims.
R5: BINDS_COFACTOR(e,c) does not imply REQUIRES_COFACTOR(e,c); binding and functional necessity require separate evidence.
R6: REQUIRES_COFACTOR(e,c,context_a) must not be generalised to context_b without evidence.
R7: Multiple cofactors can support one enzyme; one cofactor may participate in many reactions. Never infer exclusivity from a single observation.
R8: Catalytic involvement does not imply net consumption of the cofactor; account for regeneration and redox cycling.

EXAMPLES (ILLUSTRATIVE, NOT UNIVERSAL)
NAD+ / NADH: diffusible redox coenzyme in many dehydrogenase reactions.
FAD / FADH2: flavin cofactor; binding mode depends on the enzyme.
Coenzyme A: acyl-group carrier.
PLP: pyridoxal phosphate, involved in many amino-acid transformations.
Biotin: carbon dioxide transfer in carboxylation reactions.
Mg2+: supports diverse phosphoryl-transfer enzymes, context dependent.
Zn2+: catalytic or structural roles in selected proteins.
Heme: iron-containing prosthetic group in many hemoproteins.

FLOW ALGEBRA
flow MolecularCofactorKnowledge v1.0 {
  input: Enzyme | MolecularCofactor | Reaction | Observation | BiologicalContext
  normalize: chemical_identity + charge + oxidation_state + nomenclature
  classify: coenzyme | metal_ion | prosthetic_group | other_cofactor
  link: typed_relations(context_sensitive=true)
  infer: apply(R1..R8, require_evidence=true)
  validate: type_check + chemical_check + biological_check + provenance_check
  resolve: aliases + identifiers + context + contradictory_evidence
  confidence: calibrated_evidence_assessment
  output: KnowledgeGraph + ValidatedClaims + UnresolvedClaims
}

VALIDATION
V1: Every entity has a stable identifier and type.
V2: Chemical formula, charge and oxidation state are checked where available.
V3: Enzyme/cofactor assertions retain organism, compartment and experimental context where relevant.
V4: A functional requirement must be distinguished from incidental binding.
V5: Redox reactions must preserve atom, mass and charge balance when fully specified.
V6: Distinguish enzyme-bound cofactors from freely exchanged cosubstrates.
V7: Conflicting observations remain separate until evidence-based resolution.
V8: Unknown evidence is explicitly UNKNOWN, not treated as FALSE.

SEMANTIC_EQUIVALENCE
Equivalent(a,b) only if the same chemical entity and relevant chemical state are established.
Alias(NAD+, oxidised nicotinamide adenine dinucleotide) is a naming relationship.
NAD+ != NADH; FAD != FADH2; Fe2+ != Fe3+.
Equivalent chemical identities do not imply equivalent roles across enzymes.

PROVENANCE
Every asserted or inferred edge stores source_id, observation_method, timestamp_if_known, context, curator_or_model, inference_rule and revision_id. Unverified examples are marked illustrative.

CONFIDENCE
confidence(claim) in [0,1] is an evidence assessment, not a mathematical proof.
Prefer reproducible biochemical measurements and curated primary evidence; record uncertainty and disagreement. Never assign a numerical confidence without a stated calibration method.

FLOW_HASH
canonical_graph := sort(normalize(entities, relationships, context, provenance, version))
FLOW_HASH := SHA256(UTF8(canonical_graph))
Hash establishes content identity, not biological correctness or scientific proof.

UPDATE_MODEL
on new_evidence:
  preserve_prior_version
  reconcile_identifiers_and_context
  revalidate_affected_edges
  recompute_inferences_and_confidence
  regenerate_FLOW_HASH
  publish_revision_with_change_log

AI_CONSUMPTION
Expose typed nodes, contextual edges, evidence references, uncertainty and validation status. AI systems must separate verified claims, inferred hypotheses and unresolved conflicts. Do not infer experimental or clinical utility solely from graph proximity.

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