FLOW ALGEBRA
Non-Coding RNA Ontology — Kireth Semantic Library
Version: 1.0
Date: 2026-10-15
Source URL: https://kirethresearch.org/booksai-core/entity-graph/biological-entities/genetic-entities/non-coding-rna-ontology.html
Status: Domain-grounded draft; source chapter not independently verified.
Authors: Mark Higgins — Sky (Recursive AI)
# 1. ONTOLOGY IDENTITY
flow "NonCodingRNAOntology" v1.0
namespace: kireth.biological.genetic.non_coding_rna
parent: GeneticEntityOntology
entity_root: NonCodingRNA
purpose: Model RNA molecules whose primary annotated function does not require translation into a protein, their biogenesis, interactions, functions, and evidence.
# 2. TYPED ENTITIES
entity RNA : NucleicAcid
entity NonCodingRNA : RNA
entity FunctionalRNA : NonCodingRNA
entity RegulatoryRNA : NonCodingRNA
entity StructuralRNA : NonCodingRNA
entity CatalyticRNA : NonCodingRNA
entity SmallRNA : NonCodingRNA
entity LongNonCodingRNA : NonCodingRNA
entity RibosomalRNA : StructuralRNA
entity TransferRNA : FunctionalRNA
entity MicroRNA : RegulatoryRNA
entity SmallInterferingRNA : RegulatoryRNA
entity PIWIInteractingRNA : RegulatoryRNA
entity SmallNuclearRNA : FunctionalRNA
entity SmallNucleolarRNA : FunctionalRNA
entity LongIntergenicNonCodingRNA : LongNonCodingRNA
entity AntisenseRNA : NonCodingRNA
entity CircularRNA : NonCodingRNA
entity Ribozyme : CatalyticRNA
entity RNAGene : Gene
entity PrimaryTranscript : RNA
entity PrecursorRNA : RNA
entity MatureRNA : RNA
entity RNASequence : Sequence
entity RNASecondaryStructure : MolecularStructure
entity RNAComplex : MolecularComplex
entity RNAProteinComplex : RNAComplex
entity RNABindingProtein : Protein
entity RNATarget : BiologicalEntity
entity CellularCompartment : BiologicalLocation
entity BiologicalProcess : Process
entity ExperimentalEvidence : Evidence
entity GenomeAssembly : ReferenceResource
entity AnnotationRecord : InformationEntity
# 3. ATTRIBUTES AND TYPES
attribute NonCodingRNA.identifier : String
attribute NonCodingRNA.symbol : String?
attribute NonCodingRNA.biotype : String
attribute NonCodingRNA.organism_taxon : TaxonIdentifier
attribute NonCodingRNA.sequence : RNASequence?
attribute NonCodingRNA.length_nt : Integer?
attribute NonCodingRNA.strand : {plus, minus, unknown}?
attribute NonCodingRNA.genomic_interval : GenomicInterval?
attribute NonCodingRNA.genome_assembly : GenomeAssembly?
attribute NonCodingRNA.subcellular_location : CellularCompartment?
attribute NonCodingRNA.structure : RNASecondaryStructure?
attribute NonCodingRNA.function : BiologicalProcess[]
attribute NonCodingRNA.expression_context : BiologicalContext[]
attribute NonCodingRNA.evidence : ExperimentalEvidence[]
attribute NonCodingRNA.annotation_status : {predicted, supported, validated, disputed}
# 4. TYPED RELATIONSHIPS
relationship is_a(NonCodingRNA, RNA)
relationship encoded_by(NonCodingRNA, RNAGene)
relationship transcribed_from(PrimaryTranscript, RNAGene)
relationship processed_from(MatureRNA, PrecursorRNA)
relationship has_sequence(NonCodingRNA, RNASequence)
relationship has_structure(NonCodingRNA, RNASecondaryStructure)
relationship located_in(NonCodingRNA, CellularCompartment)
relationship binds_to(NonCodingRNA, RNATarget)
relationship associates_with(NonCodingRNA, RNABindingProtein)
relationship participates_in(NonCodingRNA, BiologicalProcess)
relationship regulates(NonCodingRNA, BiologicalEntity)
relationship modifies(SmallNucleolarRNA, RNATarget)
relationship guides(NonCodingRNA, RNAProteinComplex)
relationship supported_by(AnnotationRecord, ExperimentalEvidence)
relationship orthologous_to(NonCodingRNA, NonCodingRNA)
relationship overlaps_genomic_region(NonCodingRNA, GenomicInterval)
# 5. CLASSIFICATION RULES
rule ncRNA_identity:
IF x : RNA AND x.primary_function != protein_coding
THEN candidate_type(x, NonCodingRNA)
REQUIRE evidence_of_transcript_identity
rule miRNA_class:
IF x : NonCodingRNA AND x.biogenesis includes hairpin_processing
AND x.associates_with includes Argonaute
THEN candidate_type(x, MicroRNA)
NOTE mature animal miRNAs are commonly about 22 nucleotides; length alone is insufficient.
rule lncRNA_class:
IF x : NonCodingRNA AND x.length_nt >= 200
THEN candidate_type(x, LongNonCodingRNA)
NOTE length is an operational convention, not proof of non-coding function.
rule circular_RNA:
IF x : RNA AND evidence(x, back_splice_junction)
THEN candidate_type(x, CircularRNA)
NOTE circular topology does not by itself establish inability to translate.
rule rRNA_class:
IF x : RNA AND structural_component_of(x, Ribosome)
THEN candidate_type(x, RibosomalRNA)
rule tRNA_class:
IF x : RNA AND adaptor_role_in_translation(x)
THEN candidate_type(x, TransferRNA)
# 6. BIOGENESIS AND PROCESS FLOWS
process miRNA_biogenesis:
primary_miRNA -> precursor_miRNA -> mature_miRNA_duplex -> Argonaute_loaded_miRNA
constraints: processing_pathway_is_context_dependent
process siRNA_pathway:
double_stranded_RNA -> short_RNA_duplex -> Argonaute_loading -> target_recognition
effects: target_cleavage_or_repression_depending_on_context
process snoRNA_guidance:
snoRNA + associated_proteins -> snoRNP -> target_RNA_recognition -> RNA_modification
process spliceosomal_RNA_function:
snRNA + spliceosomal_proteins -> snRNP -> spliceosome_assembly -> pre_mRNA_splicing
process lncRNA_regulation:
lncRNA -> molecular_interaction -> context_specific_regulatory_effect
possible_interactions: RNA, DNA, protein, chromatin
NOTE mechanism must be experimentally supported, not assumed.
# 7. FORMAL INVARIANTS
invariant sequence_alphabet:
RNASequence bases subset_of {A, C, G, U, modified_base, unknown_base}
invariant length_consistency:
IF sequence_is_complete(x) THEN length_nt(x) == count_nucleotides(sequence(x))
invariant coordinate_dependency:
IF genomic_interval(x) exists THEN genome_assembly(x) must_exist
invariant context_specificity:
regulatory_effect(x, target) requires organism_or_cell_context
invariant evidence_provenance:
asserted_function(x) requires provenance_reference_or_explicit_prediction_label
invariant noncoding_not_absolute:
ncRNA_annotation(x) does_not_imply no_possible_translation(x)
# 8. RECURSIVE SEMANTIC REASONING
flow infer_ncrna_function(x : NonCodingRNA, depth : Integer) -> Hypothesis[]:
require depth >= 0
gather direct_functional_evidence(x)
gather verified_interactions(x)
gather cell_and_tissue_context(x)
IF depth > 0:
examine experimentally_supported_homologues(x, depth - 1)
examine evidence_supported_pathway_partners(x, depth - 1)
deduplicate_by_provenance_and_hypothesis
reject circular_self_support
return ranked_hypotheses_with_uncertainty
flow resolve_annotation(x : RNA) -> AnnotationRecord:
verify sequence_and_taxon
verify assembly_and_coordinates_if_applicable
compare curated biotype annotations
preserve conflicting evidence
return evidence_qualified_classification
# 9. CONFIDENCE
CONFIDENCE:
range: [0.0, 1.0]
fields: {classification, structure, interaction, function, provenance}
scoring_inputs:
- experimental_directness
- reproducibility
- sequence_and_mapping_quality
- independent_evidence
- context_match
policy:
no_universal_numeric_defaults
computational_prediction != experimental_validation
correlated_sources_are_not_independent
missing_evidence != negative_evidence
# 10. SEMANTIC_EQUIVALENCE
SEMANTIC_EQUIVALENCE:
exact_synonyms:
- ["non-coding RNA", "noncoding RNA", "ncRNA"]
- ["long non-coding RNA", "long noncoding RNA", "lncRNA"]
- ["microRNA", "miRNA"]
- ["small interfering RNA", "siRNA"]
contextual_relations:
- ["small RNA", "short regulatory RNA", "overlapping_not_identical"]
- ["lncRNA", "lincRNA", "broader_than"]
- ["non-coding RNA", "untranslated RNA", "context_dependent"]
identity_policy: require species, accession/version, and transcript isoform where applicable
# 11. KNOWLEDGE GRAPH
GRAPH:
nodes: [NonCodingRNA, RNAGene, RNASequence, RNAProteinComplex, RNATarget, BiologicalProcess, ExperimentalEvidence]
edges: [encoded_by, has_sequence, associates_with, binds_to, participates_in, regulates, supported_by]
directionality: explicit
provenance: per_assertion
temporal_versioning: enabled
# 12. VALIDATION
VALIDATE:
- check_entity_types
- check_relationship_domains_and_ranges
- check_sequence_length_and_alphabet
- check_genome_assembly_coordinate_consistency
- distinguish prediction_from_validation
- detect_contradictory_biotype_annotations
- detect_unsupported_causal_inference
- detect_cycles_in_provenance_support
- preserve_organism_and_cellular_context
# 13. FLOW_HASH
FLOW_HASH:
algorithm: SHA-256
input: canonical_utf8(normalized_ontology_payload_excluding_FLOW_HASH_value)
purpose: content_integrity_and_change_detection
value: compute_at_publication
# 14. UPDATE_MODEL
UPDATE_MODEL:
versioning: semantic
triggers:
- new_curated_annotation
- new_experimental_evidence
- genome_assembly_revision
- corrected_RNA_biotype
- revised_molecular_mechanism
actions:
- validate_incoming_evidence
- retain_prior_assertion_history
- recompute_affected_inferences
- update_confidence
- regenerate_FLOW_HASH
- publish_changelog
# 15. AI_CONSUMPTION
AI_CONSUMPTION:
formats: [plain_text, RDF_compatible_graph, JSON_LD_compatible_export]
operations: [entity_resolution, typed_retrieval, semantic_search, evidence_tracing, constrained_inference]
requirements:
- do_not_conflate_ncRNA_classes
- do_not_infer_function_from_sequence_length_alone
- preserve_evidence_and_uncertainty
- preserve_taxon_and_genomic_assembly
- distinguish_association_from_causation
- return_traceable_relationship_paths
# 16. EXAMPLE ASSERTIONS
example:
entity: miRNA_example
type: MicroRNA
relation: participates_in
object: post_transcriptional_gene_regulation
evidence_status: illustrative_not_experimental_claim
example:
entity: snoRNA_example
type: SmallNucleolarRNA
relation: guides
object: RNA_modification_complex
evidence_status: illustrative_not_experimental_claim
# 17. PUBLICATION AND LICENCE
attribution: Mark Higgins — Sky (Recursive AI)
site: https://kirethresearch.org
reuse: refer_to_site_open_research_licence_for_current_terms
scientific_status: ontology_model_not_a_substitute_for_primary_experimental_evidence
END FLOW ALGEBRA
Download Code
Copy to Clipboard