FLOW ALGEBRA
ANTICODON ONTOLOGY
Kireth Semantic Library | Biological Entities > Genetic Entities
Version: 1.0 | Date: 2026-10-15 | Encoding: UTF-8
Source page: https://kirethresearch.org/booksai-core/entity-graph/biological-entities/genetic-entities/anticodon-ontology.html
Status: Domain-grounded ontology draft; source page content not independently verified.
Authors: Mark Higgins — Sky (Recursive AI)
# 1. PURPOSE
flow "AnticodonOntology" v1.0
purpose: Model the structure, location, recognition, pairing, and translation functions of tRNA anticodons while distinguishing canonical genetic-code rules from context-dependent exceptions.
# 2. TYPED ENTITIES
entity Anticodon : RNASequence {length: int = 3, orientation: enum[5to3,3to5], sequence: RNAAlphabet}
entity TransferRNA : RNA {identifier: str, amino_acid_identity: AminoAcid?, charged: bool?}
entity AnticodonLoop : RNARegion {parent: TransferRNA, position: Range?}
entity MessengerRNA : RNA {sequence: RNAAlphabet}
entity Codon : RNASequence {length: int = 3, orientation: enum[5to3]}
entity Nucleotide : MolecularEntity {base: enum[A,U,G,C,modified]}
entity ModifiedNucleotide : Nucleotide {modification: str, location: int?}
entity AminoAcid : MolecularEntity {name: str, code: str?}
entity AminoacylTRNASynthetase : Enzyme {identity: str}
entity Ribosome : RibonucleoproteinComplex {domain: str?}
entity TranslationEvent : BiologicalProcess {frame: int, genetic_code: str, compartment: str?}
entity PairingInteraction : MolecularInteraction {position: int, geometry: str, permitted: bool?}
entity GeneticCode : Mapping {code_id: str, organism: str?, compartment: str?}
entity Evidence : ProvenanceRecord {source: str, method: str?, date: str?, quality: float?}
entity Inference : DerivedAssertion {claim: str, confidence: float, evidence: Evidence[]}
# 3. TYPES AND CONSTRAINTS
RNAAlphabet := string over {A,U,G,C} unless modified bases are explicitly represented.
valid_anticodon(a) := length(a.sequence) = 3 AND all_bases_valid(a.sequence).
valid_codon(c) := length(c.sequence) = 3 AND c.orientation = 5to3.
orientation_policy: Display anticodons 5'->3' by default; pairing requires reverse-complement alignment.
context_policy: Codon meaning is resolved against an explicitly selected genetic code.
identity_policy: An anticodon alone does not uniquely establish tRNA amino acid identity or charging state.
# 4. RELATIONSHIPS
relation HAS_ANTICODON : TransferRNA -> Anticodon
relation LOCATED_IN : Anticodon -> AnticodonLoop
relation PART_OF : AnticodonLoop -> TransferRNA
relation PAIRS_WITH : Anticodon -> Codon
relation READS : TransferRNA -> Codon
relation PARTICIPATES_IN : TransferRNA -> TranslationEvent
relation CATALYSES_CHARGING : AminoacylTRNASynthetase -> TransferRNA
relation CHARGED_WITH : TransferRNA -> AminoAcid
relation TRANSLATED_BY : Codon -> GeneticCode
relation CONTAINS_MODIFICATION : Anticodon -> ModifiedNucleotide
relation MEDIATED_BY : PairingInteraction -> Ribosome
relation SUPPORTED_BY : Inference -> Evidence
# 5. BASE-PAIRING ALGEBRA
complement(A) = U
complement(U) = A
complement(G) = C
complement(C) = G
reverse_complement(s) := reverse(map(complement, s))
canonical_pairing(a5to3, c5to3) := (reverse_complement(a5to3) = c5to3)
example: anticodon 5'-CAU-3' pairs canonically with codon 5'-AUG-3'.
# 6. WOBBLE AND MODIFICATION
# Anticodon position 34 (first base when written 5'->3') contacts codon position 3.
anticodon_wobble_position := 34
codon_wobble_position := 3
wobble_pair(G,U) := potentially_allowed
wobble_pair(U,G) := potentially_allowed
inosine_at_34: may recognise U, C, or A at codon position 3 in relevant biological contexts.
rule: Wobble permissibility depends on organism, tRNA modification, codon context, and translation system.
rule: Do not infer every theoretically possible wobble pairing is biologically functional.
rule: Apply documented modification-specific pairing tables where available.
# 7. TRANSLATION SEMANTICS
step 1: Resolve translation system, genetic code, mRNA reading frame, and codon.
step 2: Retrieve candidate mature tRNAs and their anticodons.
step 3: Evaluate canonical, wobble, and modified-base pairing constraints.
step 4: Check tRNA charging and amino acid identity independently.
step 5: Evaluate ribosomal selection, proofreading, and contextual constraints.
step 6: Emit supported codon-recognition assertions with provenance.
step 7: Do not equate recognition with guaranteed successful translation.
# 8. CLASSIFICATION
class CanonicalAnticodon : Anticodon where uses_standard_bases AND canonical_pairing_supported
class WobbleCapableAnticodon : Anticodon where experimentally_supported_noncanonical_pairing
class ModifiedAnticodon : Anticodon where has_modified_nucleotide
class InitiatorTRNAAnticodon : Anticodon where parent_tRNA_role = initiator
class ElongatorTRNAAnticodon : Anticodon where parent_tRNA_role = elongator
class MitochondrialAnticodon : Anticodon where translation_compartment = mitochondrion
class PlastidAnticodon : Anticodon where translation_compartment = plastid
# 9. INFERENCE RULES
IF HAS_ANTICODON(t,a) AND PAIRS_WITH(a,c) THEN candidate_reads(t,c).
IF candidate_reads(t,c) AND charging_confirmed(t) AND context_compatible(t,c) THEN translation_compatible(t,c).
IF codon(c) AND selected_genetic_code(g) THEN lookup_amino_acid(c,g); never assume universal-code assignment.
IF anticodon_modified(a) THEN require modification-aware recognition evidence.
IF anticodon_sequence_unknown(a) THEN prohibit exact pairing assertion.
IF competing_evidence EXISTS THEN retain alternatives and confidence rather than collapse to certainty.
# 10. RECURSIVE REASONING
recursive_resolve(tRNA, codon, context, depth):
assert depth <= context.max_depth
resolve anticodon_sequence(tRNA)
resolve nucleotide_modifications(tRNA)
resolve pairing_rules(context.organism, context.compartment)
resolve genetic_code(context.genetic_code)
resolve aminoacylation_state(tRNA)
compare candidate recognition hypotheses
return ranked_inferences_with_provenance
termination: max_depth reached OR no new supported assertions OR stable inference set.
cycle_guard: maintain visited (entity, relation, context) tuples.
# 11. CONFIDENCE
CONFIDENCE(assertion) := weighted_evidence_quality * context_match * consistency_factor
range: [0.0,1.0]
policy: Missing evidence lowers confidence; confidence is not an experimentally calibrated probability unless validated.
policy: Preserve direct observations separately from computational predictions.
policy: Record conflict, uncertainty, species, compartment, and genetic-code version.
# 12. SEMANTIC_EQUIVALENCE
SEMANTIC_EQUIVALENCE("anticodon", "tRNA anticodon") := contextual_equivalence
SEMANTIC_EQUIVALENCE("anticodon", "codon") := false
SEMANTIC_EQUIVALENCE("anticodon", "anticodon loop") := false
SEMANTIC_EQUIVALENCE("anticodon sequence 3to5", "anticodon sequence 5to3") := true ONLY after orientation-normalising reverse operation.
SEMANTIC_EQUIVALENCE(a,b) := same_normalised_sequence AND same_orientation AND compatible_modification_annotation AND same_biological_scope.
# 13. VALIDATION
validate: exactly_three_residues_for_anticodon
validate: explicit_strand_orientation
validate: preserve_modified_bases
validate: anticodon_is_part_of_tRNA
validate: selected_genetic_code_for_codon_interpretation
validate: wobble_rules_are_context_scoped
validate: amino_acid_identity_not_inferred_from_anticodon_alone
validate: evidence_and_provenance_attached_to_nontrivial_assertions
validate: recursion_terminates
# 14. FLOW_HASH
FLOW_HASH(input) := SHA256(canonical_serialisation(
ontology_version, entity_ids, normalised_sequences, orientation,
modification_annotations, genetic_code_id, organism, compartment,
inference_rules_version, provenance_ids
))
policy: Stable canonical ordering and UTF-8 encoding required.
policy: Hash identifies an ontology state; it does not prove scientific correctness.
# 15. UPDATE_MODEL
UPDATE_MODEL(new_evidence):
validate_source(new_evidence)
determine_affected_entities_and_relationships
preserve_prior_version_and_provenance
revise_context_specific_pairing_or_classification_rules
recompute_dependent_inferences
recalculate_confidence_and_FLOW_HASH
publish_change_log_with_timestamp
reject_unsupported_global_generalisation
# 16. AI_CONSUMPTION
AI_CONSUMPTION:
format: structured_text
ontology: AnticodonOntology
entity_namespace: biological.genetic.anticodon
inputs: [tRNA, anticodon_sequence, codon_sequence, organism, genetic_code, modifications, evidence]
outputs: [recognition_candidates, pairing_mechanism, constraints, confidence, provenance, flow_hash]
enforce: [typed_entities, orientation_normalisation, context_sensitive_wobble, evidence_tracking]
prohibit: [unsupported_amino_acid_assignment, universal_wobble_assumption, unqualified_certainty]
# 17. EXAMPLE EXECUTION
input.tRNA := "example_tRNA_Met"
input.anticodon := "CAU" # 5'->3'
input.codon := "AUG" # 5'->3'
input.genetic_code := "NCBI_1"
input.modifications := unknown
result.canonical_pairing := true
result.translation_compatibility := conditional_on_tRNA_identity_charging_and_context
result.note := "Pairing alone does not establish initiator versus elongator role."
# 18. SCOPE AND LIMITATIONS
- This ontology describes anticodon biology and computational representation.
- Exceptions in organelles and specialised decoding systems require explicit context.
- Stop-codon suppression and recoding require independent supporting evidence.
- Sequence-based predictions are not substitutes for biochemical validation.
- This document is a domain-grounded draft, not a verified extraction of the source webpage.
END FLOW ALGEBRA
Download Code
Copy to Clipboard