FLOW ALGEBRA
TITLE: DNA Ontology
VERSION: 1.0
DATE: 2026-10-15
DOMAIN: Biological Entities / Genetic Entities
SOURCE: https://kirethresearch.org/booksai-core/entity-graph/biological-entities/genetic-entities/dna-ontology-2.html
AUTHORS: Mark Higgins — Sky (Recursive AI)
STATUS: Domain-grounded formal specification; source page title and attribution verified, embedded specification unavailable.
# 1. PURPOSE
flow "DNAOntology" v1.0
objective: model DNA composition, topology, genomic roles, replication, repair, inheritance and evidence-qualified inference.
scope: cellular and viral DNA, including nuclear and organellar genomes.
semantics: typed, contextual, open-world; no unsupported closed-world conclusions.
# 2. TYPED ENTITIES
entity DNA <: NucleicAcid
entity DNASequence <: Sequence
entity Nucleotide <: MolecularEntity
entity Deoxyribose <: Sugar
entity PhosphateGroup <: ChemicalGroup
entity NitrogenousBase <: MolecularEntity
entity Adenine <: Purine
entity Guanine <: Purine
entity Cytosine <: Pyrimidine
entity Thymine <: Pyrimidine
entity DNAChain <: Polymer
entity DNAHelix <: MolecularStructure
entity DoubleStrandedDNA <: DNA
entity SingleStrandedDNA <: DNA
entity LinearDNA <: DNA
entity CircularDNA <: DNA
entity NuclearDNA <: DNA
entity MitochondrialDNA <: DNA
entity ChloroplastDNA <: DNA
entity ViralDNA <: DNA
entity Chromosome <: GeneticEntity
entity Gene <: GeneticEntity
entity Allele <: GeneticEntity
entity Locus <: GenomicRegion
entity RegulatoryElement <: DNARegion
entity Promoter <: RegulatoryElement
entity Enhancer <: RegulatoryElement
entity OriginOfReplication <: DNARegion
entity Telomere <: DNAProteinRegion
entity Centromere <: ChromosomalRegion
entity Histone <: Protein
entity Nucleosome <: ChromatinUnit
entity Chromatin <: DNAProteinComplex
entity DNAReplication <: BiologicalProcess
entity DNATranscription <: BiologicalProcess
entity DNARepair <: BiologicalProcess
entity DNARecombination <: BiologicalProcess
entity DNAMutation <: MolecularEvent
entity DNAMethylation <: EpigeneticModification
entity DNAPolymerase <: Enzyme
entity Helicase <: Enzyme
entity Ligase <: Enzyme
entity Primase <: Enzyme
entity Topoisomerase <: Enzyme
entity RNA <: NucleicAcid
entity Cell <: BiologicalEntity
entity Organism <: BiologicalEntity
entity GenomeAssembly <: DataArtifact
entity SequenceRead <: Observation
entity SequenceVariant <: GeneticVariation
entity Evidence <: InformationEntity
entity Provenance <: Metadata
# 3. RELATIONSHIP SIGNATURES
relation composed_of(DNA, Nucleotide)
relation contains_base(Nucleotide, NitrogenousBase)
relation has_backbone(DNAChain, MolecularStructure)
relation strand_of(DNAChain, DNA)
relation complementary_to(DNAChain, DNAChain)
relation base_pairs_with(NitrogenousBase, NitrogenousBase)
relation has_topology(DNA, Topology)
relation located_in(DNA, BiologicalEntity)
relation contains_region(DNA, DNARegion)
relation encoded_by(Gene, DNASequence)
relation occupies_locus(Gene, Locus)
relation packages_into(DNA, Chromatin)
relation participates_in(DNA, BiologicalProcess)
relation replicated_by(DNA, DNAReplication)
relation repaired_by(DNA, DNARepair)
relation transcribed_to(DNARegion, RNA)
relation variant_of(SequenceVariant, DNASequence)
relation supported_by(Assertion, Evidence)
relation derived_from(Assertion, Provenance)
relation belongs_to_taxon(Assertion, Taxon)
relation applies_in_context(Assertion, Context)
# 4. COMPOSITION AND BASE PAIRING
rule R01:
DNA(d) -> polymer_of(d, Deoxyribonucleotide).
rule R02:
canonical_DNA_base(b) <-> b in {Adenine, Thymine, Guanine, Cytosine}.
rule R03:
canonical_Watson_Crick_pair(Adenine, Thymine).
rule R04:
canonical_Watson_Crick_pair(Guanine, Cytosine).
rule R05:
double_stranded(d) AND canonical_duplex(d)
-> strands_antiparallel(d) AND complementary_base_pairing(d).
rule R06:
canonical_duplex(d) AND count(d,A)=a AND count(d,T)=t
-> approximately_equal(a,t) [scope: complete duplex; measurement tolerance].
rule R07:
canonical_duplex(d) AND count(d,G)=g AND count(d,C)=c
-> approximately_equal(g,c) [scope: complete duplex; measurement tolerance].
rule R08:
single_stranded(d) -> NOT infer(equal_base_frequencies(d)).
# 5. TOPOLOGY AND ORGANISATION
rule R09:
linear(d) -> has_two_molecular_ends(d) [scope: intact linear molecule].
rule R10:
covalently_closed_circular(d) -> no_free_chain_ends(d).
rule R11:
eukaryotic_nuclear_chromosome(c) -> typically_packaged_with_histones(c).
rule R12:
mitochondrial_DNA(d) -> located_in(d, Mitochondrion).
rule R13:
chloroplast_DNA(d) -> located_in(d, Chloroplast).
rule R14:
bacterial_genome(d) -> topology_may_be(d, Circular OR Linear).
rule R15:
viral_genome(d) -> strandedness_and_topology_require_virus_specific_evidence(d).
# 6. GENETIC INFORMATION AND EXPRESSION
rule R16:
gene(g) AND encoded_by(g,s) -> sequence_part_of(s, DNA) [scope: DNA-based genes].
rule R17:
promoter(p) AND regulates(p,g) -> affects_transcription_in_context(p,g).
rule R18:
transcribed_to(region,rna) -> RNA_product_from_DNA_template(region,rna).
rule R19:
transcription(region,rna) -> NOT infer(translation(rna)).
rule R20:
sequence_variant(v) AND overlaps(v,g) -> potential_gene_effect(v,g), NOT confirmed_pathogenicity(v).
rule R21:
allele(a) AND occupies_locus(a,l) -> allelic_variant_at(a,l).
# 7. REPLICATION
rule R22:
replication(d) -> template_directed_synthesis(d).
rule R23:
cellular_DNA_replication(d) -> generally_semiconservative(d).
rule R24:
DNA_polymerase_synthesis(p) -> extension_direction(p, "5prime_to_3prime").
rule R25:
replication_fork(f) -> may_require(f, Helicase, Primase, DNAPolymerase, Ligase).
rule R26:
lagging_strand_synthesis(s) -> discontinuous_fragments(s) [context: canonical cellular replication].
rule R27:
replication_origin(o) -> initiation_site(o) [requires: organism-specific validation].
# 8. DAMAGE, REPAIR AND RECOMBINATION
rule R28:
DNA_damage(d,e) -> candidate_repair_pathway(d,e) [not automatic successful repair].
rule R29:
base_mismatch(d) -> may_be_corrected_by(d, MismatchRepair).
rule R30:
bulky_helix_distorting_lesion(d) -> may_be_corrected_by(d, NucleotideExcisionRepair).
rule R31:
damaged_base(d) -> may_be_corrected_by(d, BaseExcisionRepair).
rule R32:
double_strand_break(d) -> repair_options(d, HomologousRecombination, EndJoining).
rule R33:
recombination(d) -> possible_sequence_exchange(d).
rule R34:
unrepaired_damage(d) -> NOT necessarily_inherited_mutation(d).
# 9. EPIGENETICS AND REGULATION
rule R35:
DNA_methylation(site) -> covalent_base_modification(site).
rule R36:
methylated(site) -> NOT infer(universally_silenced_nearby_gene(site)).
rule R37:
chromatin_accessibility(region,context) -> influences_regulatory_potential(region,context).
rule R38:
regulatory_effect(element,gene) -> requires_cell_type_and_condition(element,gene).
# 10. SEQUENCE AND COORDINATE VALIDATION
constraint C01: DNA sequence alphabet defaults to A,C,G,T; ambiguity codes require explicit schema.
constraint C02: preserve 5prime/3prime orientation for strand-sensitive assertions.
constraint C03: coordinates require assembly accession, version, contig and coordinate convention.
constraint C04: distinguish reference sequence, observed sample sequence and inferred consensus.
constraint C05: variant assertions require reference allele, alternate allele and reference context.
constraint C06: do not equate sequence similarity with functional identity.
constraint C07: distinguish genomic DNA from complementary DNA (cDNA).
constraint C08: distinguish DNA molecule, sequence representation and genome assembly.
# 11. SEMANTIC EQUIVALENCE
SEMANTIC_EQUIVALENCE:
"deoxyribonucleic acid" <-> "DNA" [concept label only].
"dsDNA" <-> "double-stranded DNA" [context: molecular strandedness].
"ssDNA" <-> "single-stranded DNA" [context: molecular strandedness].
"mtDNA" <-> "mitochondrial DNA" [context: organellar genome].
NOT_EQUIVALENT: DNA != RNA.
NOT_EQUIVALENT: DNA != Chromosome.
NOT_EQUIVALENT: DNASequence != DNAPhysicalMolecule.
NOT_EQUIVALENT: SequenceVariant != PathogenicVariant.
# 12. INFERENCE AND RECURSION
flow InferDNAFacts(input, context):
normalise_terms(input)
resolve_taxon(context)
resolve_assembly(context)
apply_typed_relations()
apply_rules(R01..R38)
check_constraints(C01..C08)
attach_evidence_and_provenance()
prevent_circular_self_support()
stop_when_fixed_point_or_resource_limit()
return qualified_assertions()
# 13. CONFIDENCE
CONFIDENCE:
direct_sequence_observation: evidence_dependent
experimentally_validated_function: evidence_dependent
homology_based_annotation: inferred_and_uncertain
predicted_regulatory_effect: model_dependent
unverified_claim: unknown
propagation: never_increase_confidence_without_independent_support
calibration: required_for_numeric_scores
contradictory_evidence: retain_and_flag_for_review
# 14. PROVENANCE AND VERSIONING
PROVENANCE:
record: source, accession, assay, organism, tissue, sample, assembly_version,
publication, retrieval_date, transformation_history, licence
distinguish: primary_measurement, curated_annotation, computational_prediction
preserve: superseded_assertions_and_reason_for_revision
UPDATE_MODEL:
trigger: new_sequence, revised_assembly, new_experiment, changed_annotation,
corrected_reference, ontology_revision
actions: validate -> diff -> invalidate_dependent_inferences -> recompute -> version
guarantee: prior_versions_remain_traceable
# 15. FLOW HASH
FLOW_HASH:
canonicalise: UTF-8, normalised_whitespace, ordered_types, ordered_rules,
source_identifier, ontology_version
digest: SHA-256(canonical_flow_representation)
note: computed hash is deployment-specific; no invented digest supplied
# 16. AI CONSUMPTION
AI_CONSUMPTION:
mode: formal_semantic_reasoning
inputs: DNA_entity, organism_context, assembly_reference, observations, evidence
outputs: typed_assertions, inferred_relationships, confidence, provenance,
unresolved_ambiguities, validation_errors
require: evidence-aware, context-specific, reproducible conclusions
prohibit: fabricated_sequence, fabricated_reference, unsupported_causality,
conflation_of_prediction_with_observation
# 17. EXAMPLE QUERIES
query Q01: identify DNA topology and strandedness from supported observations.
query Q02: locate a gene relative to an assembly-specific chromosome interval.
query Q03: assess whether a sequence variant overlaps a regulatory region.
query Q04: trace replication and repair pathways with cell-context constraints.
query Q05: compare DNA sequence annotations across assembly revisions.
query Q06: return all assertions with evidence, confidence and provenance.
# 18. VALIDATION
assert canonical_Watson_Crick_pair(Adenine,Thymine).
assert canonical_Watson_Crick_pair(Guanine,Cytosine).
assert NOT universal(DNA_is_double_stranded).
assert NOT universal(DNA_is_circular).
assert NOT universal(DNA_methylation_silences_expression).
assert NOT infer(pathogenicity_from_overlap_alone).
END FLOW ALGEBRA
Download Code
Copy to Clipboard