Skip to main content

Fatty Acid 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
Fatty Acid Ontology — Biological Entities / Macromolecular Entities
Version: 1.0
Source: https://kirethresearch.org/booksai-core/entity-graph/biological-entities/macromolecular-entities/fatty-acid-ontology.html
Authors: Mark Higgins — Sky (Recursive AI)

01. ONTOLOGY IDENTITY
ontology FattyAcidOntology {
  domain: BiologicalEntity
  parent: LipidRelatedMolecularEntity
  entity: FattyAcid
  definition: "Carboxylic acid with a hydrocarbon chain, typically participating in biological lipid metabolism and structure."
  scope: [structure, classification, properties, reactions, metabolism, biological_roles]
}

02. ENTITY TYPES
entity FattyAcid {
  id: URI
  preferred_name: string
  synonyms: list<string>
  molecular_formula: string?
  carbon_count: integer >= 1
  double_bond_count: integer >= 0
  double_bond_positions: list<integer>
  double_bond_geometry: list<cis|trans|unspecified>
  chain_topology: straight|branched|cyclic|other
  chain_length_class: short|medium|long|very_long|context_dependent
  saturation: saturated|monounsaturated|polyunsaturated
  omega_family: integer?
  charge_state: string?
  conjugate_base: FattyAcidAnion?
  biological_source: list<BiologicalEntity>
  confidence: real in [0,1]
  provenance: list<SourceRecord>
}

entity Lipid { id: URI; lipid_class: string }
entity Enzyme { id: URI; catalytic_activity: string }
entity Organism { id: URI; taxon: string }
entity MetabolicPathway { id: URI; name: string }
entity Membrane { id: URI; organism: Organism? }
entity SourceRecord { id: URI; citation: string; observed_at: datetime? }

03. SUBCLASS AND CLASSIFICATION RULES
FattyAcid -> CarboxylicAcid
SaturatedFattyAcid subset FattyAcid
MonounsaturatedFattyAcid subset FattyAcid
PolyunsaturatedFattyAcid subset FattyAcid
EssentialFattyAcid subset FattyAcid [organism_dependent]

rule SATURATION:
  double_bond_count = 0 => saturated
  double_bond_count = 1 => monounsaturated
  double_bond_count >= 2 => polyunsaturated

rule OMEGA_FAMILY:
  requires straight-chain convention and known terminal double-bond position
  omega_family = carbon_count - max(double_bond_positions)
  positions measured from carboxyl carbon, starting at C1
  do not infer omega_family if positions are unknown

rule VALIDATION:
  carbon_count >= 1
  0 <= double_bond_count <= max_chemically_possible(carbon_count, structure)
  length(double_bond_positions) = double_bond_count when fully annotated
  length(double_bond_geometry) = double_bond_count when fully annotated
  all double_bond_positions refer to valid adjacent carbon positions
  saturated => double_bond_positions = []
  classifications must be supported by structure and stated conventions

04. TYPED RELATIONSHIPS
FattyAcid --is_a--> CarboxylicAcid
FattyAcid --has_functional_group--> CarboxylGroup
FattyAcid --has_chain--> HydrocarbonChain
FattyAcid --has_conjugate_base--> FattyAcidAnion
FattyAcid --is_component_of--> ComplexLipid
FattyAcid --is_esterified_in--> Triacylglycerol|Phospholipid|OtherLipid
FattyAcid --is_substrate_of--> Enzyme
FattyAcid --participates_in--> MetabolicPathway
FattyAcid --can_be_oxidised_via--> BetaOxidation
FattyAcid --can_be_synthesised_via--> FattyAcidSynthesis
FattyAcid --modulates--> MembraneProperties
FattyAcid --is_essential_for--> Organism [when organism cannot synthesise adequate quantities]
FattyAcid --derived_from--> BiologicalSource
FattyAcid --supported_by--> SourceRecord

05. BIOLOGICAL PROCESSES
flow FattyAcidActivation:
  inputs: [FattyAcid, CoenzymeA, ATP]
  enzyme_class: AcylCoASynthetase
  outputs: [FattyAcylCoA, AMP, Pyrophosphate]
  conditions: [appropriate_compartment, enzyme_available]

flow BetaOxidation:
  input: FattyAcylCoA
  stages: [oxidation, hydration, oxidation, thiolysis]
  outputs_per_standard_cycle: [shortened_FattyAcylCoA, AcetylCoA, FADH2, NADH]
  qualifiers: [chain_length, unsaturation, compartment, organism]
  note: "Additional enzymes and alternative pathways may be required."

flow FattyAcidSynthesis:
  substrates: [AcetylCoA_derived_primer, MalonylCoA, NADPH]
  catalyst: FattyAcidSynthase_or_equivalent
  outputs: [FattyAcidProduct]
  qualifiers: [organism, cellular_compartment, enzyme_system]

flow Esterification:
  inputs: [FattyAcidDerivedAcylGroup, AlcoholContainingMolecule]
  output: EsterifiedLipid
  note: "Reaction mechanisms and activated substrates depend on pathway."

06. CANONICAL EXAMPLES
PalmiticAcid: C16:0; saturated; 16 carbons
StearicAcid: C18:0; saturated; 18 carbons
OleicAcid: C18:1 cis-delta9; monounsaturated; omega-9
LinoleicAcid: C18:2 cis-delta9,12; polyunsaturated; omega-6
AlphaLinolenicAcid: C18:3 cis-delta9,12,15; polyunsaturated; omega-3
ArachidonicAcid: C20:4 cis-delta5,8,11,14; polyunsaturated; omega-6

07. INFERENCE RULES
rule R1:
  IF FattyAcid(x) AND double_bond_count(x)=0
  THEN SaturatedFattyAcid(x)

rule R2:
  IF FattyAcid(x) AND double_bond_count(x)=1
  THEN MonounsaturatedFattyAcid(x)

rule R3:
  IF FattyAcid(x) AND double_bond_count(x)>=2
  THEN PolyunsaturatedFattyAcid(x)

rule R4:
  IF FattyAcid(x) AND omega_family(x)=3
  THEN Omega3FattyAcid(x)

rule R5:
  IF FattyAcid(x) AND required_by(x, organism) AND
     insufficient_endogenous_synthesis(x, organism)
  THEN EssentialFattyAcidFor(x, organism)

rule R6:
  IF is_esterified_in(x, lipid)
  THEN is_component_of(x, lipid)
  WITH context: "x denotes the fatty-acyl moiety derived from the acid"

08. SEMANTIC EQUIVALENCE AND DIFFERENCE
semantic_equivalence:
  "octadecanoic acid" <=> "stearic acid" [same chemical species and protonation convention]
  "cis-9-octadecenoic acid" <=> "oleic acid" [specified stereochemistry]

semantic_difference:
  FattyAcid != FattyAcidAnion
  FattyAcid != FattyAcylCoA
  FattyAcid != Triacylglycerol
  omega_family != double_bond_count
  essential_for_humans != essential_for_all_organisms

09. CONFIDENCE AND PROVENANCE
confidence_model:
  verified_structure: 0.99
  curated_reference: 0.95
  peer_reviewed_contextual_claim: 0.90
  computational_prediction: variable
  unverified_claim: requires_review

rule EVIDENCE:
  attach provenance to each nontrivial biochemical assertion
  store evidence_type, source, date, organism, method, confidence
  do not treat example confidence values as calibrated probabilities

10. RECURSIVE SEMANTIC FLOW
flow FattyAcidReasoning(query):
  entity = resolve_entity(query)
  structure = retrieve_structure(entity)
  validated = validate(structure, ontology_constraints)
  classes = classify(validated)
  relations = traverse_typed_relations(entity, depth_limit=3)
  pathways = infer_applicable_pathways(entity, biological_context)
  evidence = attach_provenance(classes, relations, pathways)
  confidence = aggregate_confidence(evidence, context_sensitive=true)
  result = compose_answer(entity, classes, relations, pathways, confidence)
  return result

11. FLOW HASH AND UPDATE MODEL
FLOW_HASH:
  algorithm: SHA-256
  input: canonical_serialisation(ontology_version, entity_schema, rules, relationships)
  value: compute_at_publication

UPDATE_MODEL:
  change_detection: [new_evidence, revised_classification, structure_correction, nomenclature_change]
  steps: [validate, compare_versions, record_provenance, recompute_hash, publish]
  preserve_previous_versions: true

12. AI CONSUMPTION
AI_CONSUMPTION:
  format: text/plain; charset=UTF-8
  schema: typed_entity_relationship_graph
  reasoning: [classification, traversal, constrained_inference, evidence_tracking]
  disambiguation: [free_acid_vs_anion, acyl_group_vs_parent_acid, species_specific_essentiality]
  uncertainty: explicit
  unsupported_inference: prohibited
  applications: [biochemical_education, semantic_search, molecular_knowledge_graphs, pathway_reasoning]

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