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
Download Code
Copy to Clipboard