Skip to main content

DNA Computing Ontology

Emerging Computing
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 06 October 2026
Audio Overview
FLOW ALGEBRA
DNA Computing Ontology
Kireth Semantic Research Archive

PAGE:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/emerging-computing/dna-computing-ontology.html

AUTHORS:
Mark Anthony Higgins — Sky (Recursive AI)

FLOW "DNAComputingOntology" v4.0

# ---------- DOMAIN ----------
DOMAIN := ComputingOntology
SUBDOMAIN := EmergingComputing
ONTOLOGY := DNAComputingOntology

# ---------- PRIMARY ENTITY ----------
ENTITY DNAComputing {
    definition:
        "A form of molecular computing that represents information using DNA
         molecules and performs computational operations through biochemical
         processes such as hybridisation, ligation, amplification, cleavage,
         strand displacement and sequencing.";

    objectives: [
        MolecularInformationProcessing,
        MassiveParallelism,
        HighDensityInformationEncoding,
        BiochemicalComputation,
        CombinatorialSearch,
        ProgrammableMolecularSystems
    ];
}

# ---------- CORE ENTITIES ----------
DNAComputingEntity := {
    DNASequence,
    Oligonucleotide,
    DNAComplex,
    Strand,
    Base,
    Primer,
    Enzyme,
    Reaction
};

InformationEntity := {
    Bit,
    Symbol,
    Codeword,
    MolecularState,
    ComputationalState,
    OutputState
};

OperationEntity := {
    Hybridisation,
    Ligation,
    Amplification,
    Cleavage,
    Separation,
    StrandDisplacement,
    Sequencing
};

LaboratoryEntity := {
    ReactionVessel,
    ThermalCycler,
    Sequencer,
    MicrofluidicSystem,
    DetectionSystem
};

# ---------- FUNDAMENTAL RELATIONSHIPS ----------
DNASequence ENCODES Information;
Strand CONSISTS_OF Bases;
ComplementaryStrands MAY_HYBRIDISE;
Primer BINDS_TO ComplementaryTarget;
Ligase JOINS CompatibleDNAFragments;
Polymerase EXTENDS DNAFromPrimer;
RestrictionEnzyme MAY_CLEAVE DNA;
Sequencer READS DNASequence;
Reaction TRANSFORMS MolecularState;

# ---------- DNA COMPUTATION FLOW ----------
ComputationalProblem
    -> EncodeProblemIntoDNASequences
    -> SynthesizeOrPrepareDNA
    -> GenerateCandidateMolecularStates
    -> ApplyBiochemicalOperations
    -> SelectOrFilterValidStates
    -> AmplifyRelevantMolecules
    -> DetectOrSequenceOutputs
    -> DecodeMolecularResult
    -> VerifyComputationalSolution;

# ---------- DNA ----------
DNA :=
    PolymerOfNucleotides;

DNAAlphabet := {
    A,
    C,
    G,
    T
};

DNASequence :=
    ordered_sequence(DNAAlphabet);

# ---------- BASE PAIRING ----------
CanonicalBasePairing:
    A COMPLEMENTS T;
    C COMPLEMENTS G;

ComplementarySequence MAY_BIND ThroughHybridisationUnderSuitableConditions;

# ---------- STRAND ----------
DNAStrand :=
    SinglePolymerChainWithDirectionality;

Direction MAY_BE RepresentedAs:
    5_prime -> 3_prime;

AntiparallelComplementaryStrands MAY_FORM DoubleStrandedDNA;

# ---------- OLIGONUCLEOTIDE ----------
Oligonucleotide :=
    ShortSynthesisedOrPreparedNucleicAcidSequence;

Oligonucleotide MAY_REPRESENT {
    Variable,
    Edge,
    State,
    Identifier,
    Constraint
};

# ---------- INFORMATION ENCODING ----------
DNAEncoding :=
    ComputationalSymbol
    -> DNASequence;

Encoding SHOULD_CONSIDER {
    SequenceUniqueness,
    HybridisationSpecificity,
    GCContent,
    SecondaryStructure,
    ErrorTolerance
};

# ---------- CODEWORD ----------
DNACodeword :=
    SequenceAssignedToComputationalMeaning;

CodewordSet SHOULD_MINIMISE UnintendedCrossHybridisation;

# ---------- MOLECULAR STATE ----------
MolecularComputationalState :=
    PresenceAbsenceQuantityOrStructureOfSelectedDNAMolecules;

State MAY_BE RepresentedBy {
    SequenceIdentity,
    Concentration,
    ComplexFormation,
    CleavageState,
    SpatialLocation
};

# ---------- HYBRIDISATION ----------
Hybridisation :=
    ComplementaryOrPartiallyComplementaryNucleicAcidStrands
    -> BoundComplex;

HybridisationProbability DEPENDS_ON {
    SequenceComplementarity,
    Temperature,
    Salt,
    Concentration,
    SecondaryStructure
};

# ---------- MELTING ----------
Melting :=
    DoubleStrandedComplex
    -> SeparateStrands;

MeltingTemperature DEPENDS_ON SequenceAndEnvironment;

ThermalControl MAY_SELECT StableFromUnstableHybridisations;

# ---------- LIGATION ----------
Ligation :=
    JoinAdjacentCompatibleDNAFragments
    -> LongerDNAProduct;

DNA_Ligase CATALYSES Ligation;

Ligation MAY_ENCODE PathOrSequenceComposition;

# ---------- AMPLIFICATION ----------
DNAAmplification :=
    IncreaseCopiesOfSelectedDNASequence;

PCR :=
    Denaturation
    -> PrimerAnnealing
    -> PolymeraseExtension
    -> RepeatCycles;

Amplification MAY_ENABLE DetectionOfRareComputationalProducts;

# ---------- PRIMER ----------
Primer :=
    ShortNucleicAcidSequenceProvidingStartingPointForPolymeraseExtension;

PrimerSpecificity AFFECTS AmplificationSpecificity;

# ---------- CLEAVAGE ----------
Cleavage :=
    BreakDNAAtSpecificOrProgrammableLocation;

RestrictionEnzyme MAY_RECOGNISE SpecificSequenceAndCleave;

CleavageState MAY_ENCODE LogicalResult;

# ---------- SEPARATION ----------
MolecularSeparation MAY_USE {
    Length,
    Affinity,
    Sequence,
    BindingState,
    MagneticTag,
    Electrophoresis
};

Separation MAY_FILTER CandidateSolutions;

# ---------- GEL ELECTROPHORESIS ----------
GelElectrophoresis :=
    SeparateDNAFragmentsByMigrationThroughMatrixUnderElectricField;

FragmentLength AFFECTS MigrationRate;

# ---------- AFFINITY SELECTION ----------
AffinitySelection :=
    CaptureMoleculesContainingDesiredSequenceOrBindingProperty;

Selection MAY_IMPLEMENT ConstraintFiltering;

# ---------- STRAND DISPLACEMENT ----------
ToeholdMediatedStrandDisplacement :=
    InvadingStrandBindsToExposedToehold
    -> BranchMigration
    -> DisplacesPreviouslyBoundStrand;

StrandDisplacement CAN_IMPLEMENT ProgrammableMolecularLogicAndCircuits;

# ---------- TOEHOLD ----------
Toehold :=
    ShortSingleStrandedDomainInitiatingStrandDisplacement;

ToeholdSequenceAndLength AFFECT ReactionKinetics;

# ---------- DNA LOGIC GATE ----------
DNALogicGate :=
    MolecularReactionNetworkImplementingLogicalTransformation;

Gate MAY_IMPLEMENT {
    AND,
    OR,
    NOT,
    NAND,
    Threshold
};

Inputs MAY_BE DNASequences;
Output MAY_BE ReleasedOrProducedDNASequence;

# ---------- CASCADE ----------
DNAReactionOutput MAY_SERVE_AS InputToAnotherMolecularGate;

CascadedMolecularCircuits MAY_IMPLEMENT MultiStageComputation;

# ---------- PARALLELISM ----------
LargeNumbersOfDNAMolecules MAY_UNDERGO ReactionsInParallel;

MolecularParallelism MAY_EXPLORE ManyCandidateStatesSimultaneously;

Parallelism DOES_NOT_REMOVE CostsOf {
    DNAPreparation,
    ReagentUse,
    Readout,
    Error,
    Scaling
};

# ---------- ADLEMAN-STYLE COMPUTATION ----------
CombinatorialDNAComputation :=
    EncodeGraphOrProblemElementsAsDNA
    -> GenerateCandidateCombinations
    -> FilterByConstraints
    -> DetectValidSolution;

HistoricalDNAComputingDemonstrations USED MolecularParallelismForCombinatorialProblems;

# ---------- SATISFIABILITY ----------
DNAComputing MAY_ENCODE BooleanAssignmentsAsMolecularStates;

ConstraintFiltering MAY_REMOVE InvalidAssignments;

ExponentialMoleculeRequirement MAY_LIMIT ScalingOfBruteForceMolecularEnumeration;

# ---------- DNA TILE COMPUTING ----------
DNAAssembly MAY_IMPLEMENT ComputationThroughProgrammedSelfAssembly;

TileOrMotifInteractions MAY_ENCODE LocalRules;

# ---------- DNA SELF-ASSEMBLY ----------
SelfAssembly :=
    MolecularComponents
    -> LocalBindingRules
    -> LargerStructuredOutput;

Structure MAY_ENCODE ComputationalHistoryOrResult;

# ---------- DNA WALKER ----------
DNAWalker :=
    MolecularSystemThatMovesThroughProgrammedTrackUsingChemicalOrStrandDisplacementSteps;

WalkerState MAY_ENCODE SequentialComputation;

# ---------- ENZYME ----------
Enzyme MAY_ACT_AS MolecularOperator;

EnzymeType MAY_INCLUDE {
    Polymerase,
    Ligase,
    RestrictionEnzyme,
    Nuclease
};

# ---------- REACTION NETWORK ----------
DNAReactionNetwork :=
    SET_OF MolecularSpeciesAndReactions;

NetworkDynamics MAY_IMPLEMENT {
    Logic,
    Oscillation,
    Decision,
    SignalAmplification
};

# ---------- CONCENTRATION ----------
MolecularConcentration MAY_REPRESENT AnalogOrProbabilisticState;

ConcentrationDynamics MAY_BE ModelledBy ChemicalKinetics;

# ---------- MASS ACTION ----------
ReactionRate MAY_BE ModelledBy MassActionKineticsUnderSuitableAssumptions;

Rate :=
    k * PRODUCT(ReactantConcentrations);

# ---------- STOCHASTICITY ----------
AtLowMoleculeCounts:
    ReactionDynamics MAY_BE Stochastic;

StochasticChemicalKinetics MAY_AFFECT ComputationalReliability;

# ---------- ERROR SOURCES ----------
DNAComputingError MAY_INCLUDE {
    SynthesisError,
    HybridisationError,
    AmplificationBias,
    Mutation,
    SequencingError,
    UnintendedReaction,
    IncompleteReaction
};

# ---------- CROSS HYBRIDISATION ----------
CrossHybridisation :=
    UnintendedBindingBetweenPartiallyComplementarySequences;

CrossHybridisation MAY_CREATE FalseComputationalStates;

SequenceDesign SHOULD_MINIMISE CrossHybridisation;

# ---------- SECONDARY STRUCTURE ----------
SingleStrand MAY_FOLD_INTO HairpinOrOtherSecondaryStructure;

SecondaryStructure MAY_BLOCK IntendedHybridisation;

# ---------- LEAK REACTION ----------
LeakReaction :=
    UnintendedOutputGenerationWithoutCorrectInputCondition;

Leak MAY_ACCUMULATE_IN CascadedStrandDisplacementCircuits;

# ---------- ERROR CORRECTION ----------
DNAInformationSystem MAY_USE {
    RedundantEncoding,
    ErrorCorrectingCodes,
    ConsensusSequencing,
    Thresholding
};

# ---------- READOUT ----------
DNAComputationOutput MAY_BE_READ_BY {
    Sequencing,
    Fluorescence,
    Electrophoresis,
    AffinityDetection
};

# ---------- SEQUENCING ----------
Sequencing :=
    DetermineNucleotideOrderOfDNA;

SequencingOutput
    -> BaseCalling
    -> SequenceReads
    -> ComputationalDecoding;

# ---------- DIGITAL INTERFACE ----------
DNAComputer OFTEN_REQUIRES ConventionalComputingFor {
    SequenceDesign,
    ExperimentalControl,
    SequencingAnalysis,
    ResultDecoding
};

DNAComputing IS_OFTEN HybridMolecularDigitalSystem;

# ---------- DNA DATA STORAGE RELATIONSHIP ----------
DNADataStorage :=
    EncodeDigitalDataIntoDNASequences
    -> Synthesize
    -> Store
    -> Sequence
    -> Decode;

DNADataStorage != DNAComputationByDefinition
BUT SharesEncodingAndMolecularTechnologies;

# ---------- INFORMATION DENSITY ----------
DNA MAY_OFFER VeryHighTheoreticalInformationDensity;

PracticalDensity DEPENDS_ON {
    Redundancy,
    Addressing,
    Synthesis,
    ErrorCorrection,
    StorageFormat
};

# ---------- ENERGY ----------
BiochemicalReactions MAY_OPERATE AtLowDirectEnergyPerMolecularEvent;

SystemEnergy SHOULD_INCLUDE {
    Synthesis,
    TemperatureControl,
    FluidHandling,
    Detection,
    Sequencing,
    DigitalProcessing
};

# ---------- LATENCY ----------
DNAComputing MAY_HAVE HighParallelism
BUT IndividualLaboratoryOperationsCanBeSlowRelativeToElectronicLogic;

Runtime MAY_INCLUDE {
    Synthesis,
    Reaction,
    Incubation,
    Separation,
    Amplification,
    Readout
};

# ---------- SCALABILITY ----------
DNAComputingScalability MAY_BE_LIMITED_BY {
    MoleculeCount,
    ReactionVolume,
    ErrorAccumulation,
    SequenceOrthogonality,
    ReadoutCapacity
};

# ---------- MICROFLUIDICS ----------
MicrofluidicSystem MAY_AUTOMATE {
    Mixing,
    Reaction,
    Separation,
    Transport,
    Detection
};

Microfluidics MAY_IMPROVE IntegrationAndControl;

# ---------- LAB AUTOMATION ----------
AutomatedDNAComputingPlatform MAY_COMBINE {
    LiquidHandling,
    ThermalCycling,
    Incubation,
    Sequencing,
    DigitalControl
};

# ---------- PROGRAMMABILITY ----------
DNAProgram MAY_DEFINE {
    SequenceSet,
    ReactionRules,
    Concentrations,
    Timing,
    SelectionSteps
};

# ---------- COMPILATION ----------
MolecularCompiler MAY_MAP {
    LogicalFunction,
    ConstraintProblem,
    ReactionNetwork
}
TO DNASequencesAndLaboratoryOperations;

# ---------- VERIFICATION ----------
DNAComputation SHOULD_INCLUDE PositiveNegativeAndControlExperimentsWhereAppropriate;

MolecularOutput SHOULD_BE DistinguishedFrom ExperimentalArtifact;

# ---------- BIOSAFETY ----------
DNAComputingSystem SHOULD_CONSIDER {
    BiologicalContainment,
    SequenceSafety,
    WasteHandling,
    LaboratoryControls
};

SyntheticSequences SHOULD_BE DesignedWith AppropriateSafetyConstraints;

# ---------- SECURITY ----------
DNAComputingSecurity MAY_INCLUDE {
    SequenceIntegrity,
    SampleIdentity,
    LaboratoryAccess,
    DataIntegrity,
    SupplyChain
};

# ---------- APPLICATIONS ----------
DNAComputing MAY_SUPPORT {
    MolecularLogic,
    Biosensing,
    DiagnosticsResearch,
    CombinatorialComputation,
    SmartTherapeuticResearch,
    DataStorageIntegration
};

# ---------- SEMANTIC REASONING ----------
IF InformationEncodedInDNA
AND BiochemicalOperationsTransformEncodedStateForComputation
THEN DNAComputingClassification := supported;

IF SequenceComplementarityHigh
THEN HybridisationProbability MAY_INCREASEUnderSuitableConditions;

IF CandidateMoleculesGeneratedInParallel
THEN SearchParallelism MAY_INCREASE
BUT MoleculeResourceRequirement MAY_ALSO_INCREASE;

IF CrossHybridisationIncreases
THEN FalsePositiveRisk MAY_INCREASE;

IF StrandDisplacementLeakIncreases
THEN LogicSignalToNoise MAY_DECREASE;

IF ReadoutRequiresSequencing
THEN SequencingLatencyAndError SHOULD_BE IncludedInSystemEvaluation;

IF ComputationOnlyStoresAndRetrievesEncodedData
THEN DNADataStorageClassification MAY_BE MoreAppropriateThan DNAComputing;

# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE {
    "DNA computing" ~= "DNA-based computing";
    "molecular DNA computation" ~= "DNA computing";
    "DNA strand displacement" ~= "strand displacement computing" WHEN context == DNA_logic;
    "oligonucleotide" ~= "oligo" WHEN context == molecular_computing;
    "DNA logic gate" ~= "molecular logic gate" WHEN implemented_with_DNA;
    "DNA reaction network" ~= "DNA molecular reaction circuit";
    "DNA self-assembly" ~= "programmed DNA assembly";
    "DNA data storage" ~= "DNA-based data storage" WHEN context == storage;
}

# ---------- QUERY FLOW ----------
QUERY(q) ->
    NORMALISE(q) ->
    IDENTIFY_DNA_ENCODING(q) ->
    IDENTIFY_MOLECULAR_SPECIES(q) ->
    IDENTIFY_BIOCHEMICAL_OPERATIONS(q) ->
    IDENTIFY_REACTION_NETWORK(q) ->
    IDENTIFY_SELECTION_AND_AMPLIFICATION(q) ->
    IDENTIFY_READOUT(q) ->
    IDENTIFY_ERRORS_RESOURCES_AND_SCALABILITY(q) ->
    MAP_TO_ONTOLOGY(q) ->
    APPLY_REASONING(q) ->
    SCORE_CONFIDENCE(q) ->
    RETURN_RELEVANT_KNOWLEDGE;

# ---------- CONFIDENCE ----------
CONFIDENCE(assertion) :=
    weighted_mean(
        source_reliability,
        molecular_biology_consistency,
        computational_semantic_consistency,
        experimental_evidence,
        error_control_evidence,
        contextual_relevance
    );

CONFIDENCE >= 0.90 => HIGH;
CONFIDENCE >= 0.70 AND < 0.90 => MODERATE;
CONFIDENCE < 0.70 => REVIEW;

# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION {
    primary_entity: DNAComputing;
    ontology: DNAComputingOntology;
    parse_entities: true;
    parse_relationships: true;
    preserve_relationship_direction: true;
    resolve_semantic_equivalence: true;
    execute_reasoning_rules: true;
    apply_confidence_weighting: true;
    preserve_provenance: true;
}

# ---------- UPDATE MODEL ----------
UPDATE_MODEL {
    new_dna_codeword:
        validate_sequence
        -> assess_specificity
        -> assess_secondary_structure
        -> assign_computational_meaning
        -> integrate;

    new_reaction:
        identify_reactants
        -> identify_products
        -> identify_catalyst_or_enzyme
        -> identify_rate_or_conditions
        -> integrate;

    new_experiment:
        record_problem_encoding
        -> record_sequences
        -> record_operations
        -> record_controls
        -> record_readout
        -> integrate;

    ontology_revision:
        update_sequence_relationships
        -> update_reaction_network
        -> update_error_evidence
        -> recompute_confidence
        -> regenerate_flow_hash;

    conflict:
        preserve_provenance
        -> compare_computational_and_experimental_evidence
        -> adjust_confidence
        -> flag_review;
}

# ---------- FLOW HASH ----------
FLOW_HASH_INPUT :=
    DOMAIN
    + SUBDOMAIN
    + ONTOLOGY
    + DNAComputingEntity
    + InformationEntity
    + OperationEntity
    + LaboratoryEntity
    + DNAEncoding
    + StrandDisplacement
    + DNAReactionNetwork
    + RELATIONSHIPS
    + SEMANTIC_REASONING
    + SEMANTIC_EQUIVALENCE
    + UPDATE_MODEL;

FLOW_HASH :=
    HASH(FLOW_HASH_INPUT);

# ---------- TERMINAL ----------
DNAComputingOntology
    -> EncodeProblemIntoDNASequences
    -> PrepareMolecularSpecies
    -> GenerateCandidateStates
    -> ApplyHybridisationLigationOrDisplacement
    -> FilterStatesByConstraints
    -> AmplifyRelevantMolecules
    -> DetectOrSequenceOutputs
    -> DecodeMolecularInformation
    -> ControlCrossHybridisationAndLeak
    -> MeasureAccuracyLatencyAndResourceUse
    -> IntegrateLaboratoryAndDigitalProcessing
    -> PreserveExperimentalProvenance
    -> MaintainProgrammableMolecularComputation;

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