FLOW ALGEBRA
RNA POLYMERASE ONTOLOGY
Kireth Semantic Library | Gene Expression Entities
Authors: Mark Higgins — Sky (Recursive AI)
Source: https://kirethresearch.org/booksai-core/entity-graph/biological-entities/gene-expression-entities/rna-polymerase-ontology.html
Version: 1.0 | Date: 2026-10-15 | Encoding: UTF-8
Status: Domain-grounded formalisation; source page's embedded specification not available in retrieved text.
AI_INTERPRETATION:
Treat the declarations below as typed semantic constraints and inference rules.
Biological assertions are context-sensitive, not universal across taxa.
Do not infer a mechanism from a name alone.
flow "RNAPolymeraseOntology" v1.0 {
DOMAIN:
ontology_id: "KIRETH:GENE_EXPRESSION:RNA_POLYMERASE"
parent: "GeneExpressionEntityOntology"
subject: "RNA polymerase enzymes and transcription machinery"
scope: [bacteria, archaea, eukaryotes, organelles, viruses]
TYPES:
Entity := {id:str, label:str, taxon:str?, provenance:str?}
Polymerase <: Entity
DNA_Dependent_RNAPolymerase <: Polymerase
RNA_Dependent_RNAPolymerase <: Polymerase
PolymeraseSubunit <: Entity
TranscriptionFactor <: Entity
SigmaFactor <: TranscriptionFactor
Promoter <: Entity
DNA_Template <: Entity
RNA_Template <: Entity
RNA_Transcript <: Entity
NucleotideTriphosphate <: Entity
TranscriptionComplex <: Entity
TerminationSignal <: Entity
Evidence <: Entity
Observation <: Entity
Context := {taxon:str?, compartment:str?, condition:str?, stage:str?}
Confidence := real[0,1]
CLASSIFICATION:
bacterial_core_RNAP: DNA_Dependent_RNAPolymerase
bacterial_holoenzyme: TranscriptionComplex
archaeal_RNAP: DNA_Dependent_RNAPolymerase
eukaryotic_RNAP_I: DNA_Dependent_RNAPolymerase
eukaryotic_RNAP_II: DNA_Dependent_RNAPolymerase
eukaryotic_RNAP_III: DNA_Dependent_RNAPolymerase
plant_RNAP_IV: DNA_Dependent_RNAPolymerase
plant_RNAP_V: DNA_Dependent_RNAPolymerase
mitochondrial_RNAP: DNA_Dependent_RNAPolymerase
viral_RdRp: RNA_Dependent_RNAPolymerase
RELATIONS:
IS_A(Entity, Entity)
HAS_SUBUNIT(Polymerase, PolymeraseSubunit)
FORMS_COMPLEX_WITH(Polymerase, Entity)
RECOGNISES_PROMOTER(TranscriptionComplex, Promoter, Context)
BINDS_TEMPLATE(Polymerase, Entity, Context)
INITIATES_AT(Polymerase, Promoter, Context)
CATALYSES(Polymerase, str, Context)
PRODUCES(Polymerase, RNA_Transcript, Context)
REGULATED_BY(Polymerase, Entity, Context)
LOCALISED_IN(Polymerase, str, Context)
SUPPORTED_BY(str, Evidence)
AXIOMS:
A1: DNA_Dependent_RNAPolymerase IS_A Polymerase
A2: RNA_Dependent_RNAPolymerase IS_A Polymerase
A3: DNA-dependent RNA polymerases use DNA as template.
A4: RNA-dependent RNA polymerases use RNA as template.
A5: RNA synthesis extends the RNA 3-prime end, producing RNA 5-prime to 3-prime.
A6: RNA synthesis consumes ribonucleoside triphosphates and releases pyrophosphate.
A7: Promoter recognition, initiation and termination differ among biological systems.
A8: A polymerase classification does not imply an identical subunit composition across taxa.
A9: Polymerase presence does not by itself establish active transcription.
TRANSCRIPTION_STATES:
states: [unbound, recruited, initiation_complex, initiating,
promoter_escape, elongating, paused, terminating, released]
transitions:
unbound -> recruited: recruitment_or_promoter_recognition
recruited -> initiation_complex: complex_assembly_and_template_opening
initiation_complex -> initiating: first_phosphodiester_bonds
initiating -> promoter_escape: stable_productive_elongation
promoter_escape -> elongating: processive_RNA_synthesis
elongating -> paused: pausing_signal_or_regulator
paused -> elongating: pause_release
elongating -> terminating: termination_pathway
terminating -> released: transcript_and_polymerase_release
constraints:
- transitions require organism- and mechanism-specific evidence
- initiation may be abortive and need not reach promoter_escape
- elongation may involve backtracking and proofreading
REACTION:
input: RNA_chain_n + NTP
output: RNA_chain_n_plus_1 + PPi
direction: 5_prime_to_3_prime
template_reading: 3_prime_to_5_prime
prerequisite: suitable_template_and_catalytic_complex
RULES:
R01:
IF enzyme IS_A DNA_Dependent_RNAPolymerase
AND BINDS_TEMPLATE(enzyme, DNA_template, context)
THEN potential_process(enzyme, DNA_directed_transcription, context)
R02:
IF enzyme IS_A RNA_Dependent_RNAPolymerase
AND BINDS_TEMPLATE(enzyme, RNA_template, context)
THEN potential_process(enzyme, RNA_directed_RNA_synthesis, context)
R03:
IF taxon = bacteria AND holoenzyme_contains(core_RNAP, sigma_factor)
THEN sigma_factor_may_confer_promoter_specificity
R04:
IF taxon = eukaryote AND enzyme = RNAP_II
THEN canonical_products_include(pre_mRNA, selected_non_coding_RNAs)
R05:
IF taxon = eukaryote AND enzyme = RNAP_I
THEN canonical_product = large_rRNA_precursor
R06:
IF taxon = eukaryote AND enzyme = RNAP_III
THEN canonical_products_include(tRNA, 5S_rRNA, selected_small_RNAs)
R07:
IF taxon = land_plant AND enzyme IN [RNAP_IV, RNAP_V]
THEN associate_with(RNA_directed_DNA_methylation_pathways)
R08:
IF observed(transcriptional_activity) AND verified(template_identity)
THEN classify_process_by_template_identity
R09:
IF promoter_binding_detected AND NOT initiation_detected
THEN do_not_assert(productive_transcription)
R10:
IF inhibitor_effect_observed
THEN infer_polymerase_specificity ONLY_IF selectivity_and_context_verified
CONTEXTUAL_DISTINCTIONS:
- bacterial RNAP uses sigma factors for many promoter recognition events
- eukaryotic nuclear RNAP II initiation typically requires general transcription factors
- archaeal transcription machinery shares important features with eukaryotic machinery
- organellar RNA polymerases have lineage-specific origins and architectures
- viral RNA-dependent RNA polymerases are distinct from cellular DNA-dependent RNAPs
- some viruses encode DNA-dependent RNA polymerases; avoid universal viral classification
- RNAP I/II/III product lists are canonical summaries, not exhaustive partitions
EVIDENCE_MODEL:
evidence_types: [biochemical_assay, structural_data, sequence_homology,
genetics, transcriptomics, microscopy, literature]
require:
- taxonomic_scope
- assay_or_method
- provenance
- observation_vs_inference_distinction
negative_result: absence_of_detection != demonstrated_absence
CONFIDENCE:
range: [0.0, 1.0]
parameters: [source_reliability, experimental_support,
contextual_match, replication, conflicting_evidence]
combine: calibrated_evidence_aggregation
policy:
- never fabricate numerical confidence
- report unknown where evidence is insufficient
- lower confidence for cross-taxon extrapolation
- preserve competing interpretations when unresolved
SEMANTIC_EQUIVALENCE:
exact_aliases:
"RNA polymerase": "RNAP" # generic name only
"RNA polymerase II": "Pol II"
"RNA-dependent RNA polymerase": "RdRp"
prohibited_equivalences:
- RNAP_II != all_RNA_polymerases
- bacterial_RNAP != eukaryotic_RNAP_II
- DNA_dependent_RNAP != RNA_dependent_RNAP
- transcription_factor != RNA_polymerase
equivalence_requires: same_referent_and_taxonomic_context
GRAPH_INFERENCE:
seed: Polymerase
traverse: [IS_A, HAS_SUBUNIT, FORMS_COMPLEX_WITH,
BINDS_TEMPLATE, PRODUCES, REGULATED_BY]
depth_limit: 5
cycle_policy: visited_entity_relation_context
output: evidence_annotated_subgraph
RECURSIVE_REASONING:
step_1: identify_polymerase_and_taxon
step_2: identify_template_and_subunits
step_3: resolve_promoter_and_regulatory_context
step_4: evaluate_initiation_elongation_termination_evidence
step_5: connect_products_to_transcript_ontology
step_6: propagate_evidence_and_uncertainty
step_7: stop_at_fixed_point_or_depth_limit
guard: do_not_convert_possible_mechanism_to_observed_fact
FLOW_HASH:
algorithm: SHA-256
canonicalise: [ontology_id, version, types, relations, axioms,
rules, context, evidence, provenance]
exclude: [runtime_timestamp, display_whitespace]
output: computed_at_ingestion
note: no_hash_value_claimed_without_execution
UPDATE_MODEL:
triggers: [new_experimental_evidence, taxonomy_revision,
structural_reclassification, corrected_mechanism,
source_revision]
operations: [validate, version, diff, recompute_inferences,
recalculate_confidence, recompute_hash]
preserve: [prior_versions, provenance, conflicting_claims]
reject: unsupported_or_untraceable_updates
AI_CONSUMPTION:
mode: typed_semantic_reasoning
input: [polymerase_entity, taxon, template, biological_context, evidence]
output: [classification, molecular_relations, process_hypotheses,
supported_conclusions, confidence, provenance]
restrictions:
- distinguish enzyme from holoenzyme and transcription complex
- distinguish biological observation from inferred mechanism
- require context for generalisations
- do not invent sequence, kinetics, experiments or citations
- preserve unknown and disputed states
VALIDATION:
V01: each entity has a unique stable identifier
V02: each relation respects declared argument types
V03: DNA-dependent and RNA-dependent polymerases are not conflated
V04: product annotations carry taxonomic context
V05: asserted activity requires supporting evidence
V06: inferred relationships retain provenance
V07: every numerical confidence is evidence-calibrated
V08: recursive traversal terminates
V09: FLOW_HASH is computed, never guessed
OUTPUT_SCHEMA:
ontology: str
version: str
entities: list[Entity]
relationships: list[typed_relation]
inferred_claims: list[claim_with_context]
confidence: Confidence | unknown
provenance: list[Evidence]
flow_hash: str | pending_computation
update_status: str
}
END FLOW ALGEBRA
Download Code
Copy to Clipboard