Skip to main content

Genetic Variation Ontology

Genetics
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 30 September 2026
Audio Overview
AI Interpretation Note:
The following specifications represent a formal structural reasoning system for this page.
Execute as formal rules, not pseudocode.

flow "GeneticVariationOntology" v1.0

ENTITY GeneticVariationOntology {
  TYPE: BiologicalOntology
  DOMAIN: Genetics
  SUBJECT: GeneticVariation
  PURPOSE: FormalSemanticRepresentation
}

PAGE {
  TITLE: "Genetic Variation Ontology"
  PARENT_DOMAIN: "Genetics"
  CANONICAL_URL: "https://kirethresearch.org/booksai-core/ontologies/biological-ontologies/genetics/genetic-variation-ontology.html"
  AUTHORS: ["Mark Anthony Higgins", "Sky Recursive AI"]
}

ENTITY GeneticVariation {
  DESCRIBES: DifferenceInGeneticState
  MAY_OCCUR_BETWEEN: [Individuals, Cells, Populations, Species]
  MAY_AFFECT: [Sequence, Structure, CopyNumber, Regulation]
}

ENTITY GeneticVariant {
  IS_A: SpecificGeneticDifference
  COMPARED_AGAINST: ReferenceSequence
  HAS: [Location, ReferenceState, AlternateState]
}

ENTITY ReferenceSequence {
  PROVIDES: ComparisonBaseline
  HAS: [OrganismContext, AssemblyContext]
}

ENTITY Mutation {
  IS_A: GeneticChangeEvent
  MAY_CREATE: GeneticVariant
}

RULE MutationVariantDistinction {
  Mutation := change_event
  GeneticVariant := observed_or_resulting_genetic_state
}

CLASS SingleNucleotideVariant {
  SUBCLASS_OF: GeneticVariant
  ABBREVIATION: SNV
  CHANGES: SingleNucleotide
}

CLASS SingleNucleotidePolymorphism {
  SUBCLASS_OF: SingleNucleotideVariant
  ABBREVIATION: SNP
  POPULATION_FREQUENCY: context_dependent
}

CLASS Insertion {
  SUBCLASS_OF: GeneticVariant
  ADDS: NucleotideSequence
}

CLASS Deletion {
  SUBCLASS_OF: GeneticVariant
  REMOVES: NucleotideSequence
}

CLASS Indel {
  SUBCLASS_OF: GeneticVariant
  INVOLVES: [Insertion, Deletion]
}

RULE IndelCodingRule {
  IF Indel occurs_in_coding_sequence
     AND length_change mod 3 != 0
  THEN Frameshift MAY_OCCUR
}

CLASS StructuralVariant {
  SUBCLASS_OF: GeneticVariant
  AFFECTS: LargerGenomicRegion
  MAY_INCLUDE: [Deletion, Duplication, Inversion, Translocation]
}

CLASS Duplication {
  SUBCLASS_OF: StructuralVariant
  COPIES: GenomicRegion
}

CLASS Inversion {
  SUBCLASS_OF: StructuralVariant
  REVERSES: GenomicRegionOrientation
}

CLASS Translocation {
  SUBCLASS_OF: StructuralVariant
  RELOCATES: GenomicRegion
  MAY_INVOLVE: MultipleChromosomes
}

CLASS CopyNumberVariant {
  SUBCLASS_OF: StructuralVariant
  ABBREVIATION: CNV
  CHANGES: CopyNumberOfGenomicRegion
}

ENTITY CopyNumber {
  DESCRIBES: NumberOfCopiesOfGenomicRegion
}

CLASS RepeatVariant {
  SUBCLASS_OF: GeneticVariant
  AFFECTS: RepetitiveSequence
}

ENTITY ShortTandemRepeat {
  ABBREVIATION: STR
  IS_A: TandemRepeat
}

ENTITY VariableNumberTandemRepeat {
  ABBREVIATION: VNTR
  IS_A: TandemRepeat
}

ENTITY ChromosomeNumberVariation {
  AFFECTS: ChromosomeCount
}

CLASS Aneuploidy {
  SUBCLASS_OF: ChromosomeNumberVariation
  CHANGES: IndividualChromosomeCount
}

CLASS Polyploidy {
  SUBCLASS_OF: ChromosomeNumberVariation
  CHANGES: CompleteChromosomeSetCount
}

ENTITY CodingVariant {
  SUBCLASS_OF: GeneticVariant
  OCCURS_IN: CodingSequence
}

CLASS SynonymousVariant {
  SUBCLASS_OF: CodingVariant
  CHANGES: Codon
  PRESERVES: EncodedAminoAcid
}

CLASS MissenseVariant {
  SUBCLASS_OF: CodingVariant
  CHANGES: EncodedAminoAcid
}

CLASS NonsenseVariant {
  SUBCLASS_OF: CodingVariant
  CREATES: PrematureStopCodon
}

CLASS FrameshiftVariant {
  SUBCLASS_OF: CodingVariant
  CHANGES: ReadingFrame
}

CLASS StartLossVariant {
  SUBCLASS_OF: CodingVariant
  DISRUPTS: StartCodon
}

CLASS StopLossVariant {
  SUBCLASS_OF: CodingVariant
  DISRUPTS: StopCodon
}

RULE CodingConsequenceRule {
  IF GeneticVariant overlaps CodingSequence
  THEN consequence := compare_translation(
    reference_sequence,
    alternate_sequence,
    transcript,
    reading_frame,
    genetic_code
  )
}

ENTITY RegulatoryVariant {
  SUBCLASS_OF: GeneticVariant
  OCCURS_IN: RegulatoryRegion
  MAY_AFFECT: GeneExpression
}

ENTITY SpliceVariant {
  SUBCLASS_OF: GeneticVariant
  OCCURS_IN_OR_NEAR: SplicingRelevantRegion
  MAY_AFFECT: RNAProcessing
}

CLASS GermlineVariant {
  SUBCLASS_OF: GeneticVariant
  OCCURS_IN: Germline
  MAY_BE: Heritable
}

CLASS SomaticVariant {
  SUBCLASS_OF: GeneticVariant
  OCCURS_IN: SomaticCell
  MAY_CREATE: CellularMosaicism
}

ENTITY Mosaicism {
  DESCRIBES: CoexistenceOfGeneticallyDistinctCellPopulations
  WITHIN: Individual
}

ENTITY Haplotype {
  IS_A: CombinationOfAllelesOrVariants
  LOCATED_ON: SameChromosomalSegment
}

ENTITY LinkageDisequilibrium {
  DESCRIBES: NonRandomAssociationOfAllelesAtDifferentLoci
}

ENTITY AlleleFrequency {
  DESCRIBES: FrequencyOfVariantAllele
  WITHIN: Population
}

ENTITY Population {
  HAS: GeneticVariation
  HAS: AlleleFrequencyDistribution
}

PROCESS Mutation {
  CREATES: NewGeneticVariant
}

PROCESS Recombination {
  CREATES: NewAllelicCombinations
  DOES_NOT_NECESSARILY_CREATE: NewSequenceVariant
}

PROCESS GeneFlow {
  TRANSFERS: ExistingGeneticVariation
  BETWEEN: Populations
}

RULE OriginDistinction {
  Mutation CREATES new_sequence_state
  Recombination REARRANGES existing_variation
  GeneFlow TRANSFERS existing_variation
}

ENTITY VariantEffect {
  MAY_AFFECT: [ProteinSequence, ProteinFunction, RNAFunction, GeneExpression, Splicing, GenomeStructure]
}

RULE FunctionalEffectConstraint {
  IF GeneticVariant IS_DETECTED
  THEN DO_NOT_ASSUME functional_effect
  WITHOUT functional_or_strong_inferential_evidence
}

ENTITY VariantTraitAssociation {
  RELATES: GeneticVariant
  TO: Trait
  BASED_ON: StatisticalOrExperimentalEvidence
}

RULE AssociationCausalityConstraint {
  IF GeneticVariant IS_ASSOCIATED_WITH Trait
  THEN association := supported
  AND causality := unresolved
  UNLESS causal_evidence IS_SUFFICIENT
}

PROCESS VariantDetection {
  COMPARES: SampleSequence
  AGAINST: ReferenceSequence
  MAY_USE: [WholeGenomeSequencing, ExomeSequencing, TargetedSequencing, GenotypingArray, Cytogenetics]
}

ENTITY VariantCall {
  REPRESENTS: DetectedGeneticDifference
  HAS: [Position, ReferenceAllele, AlternateAllele, Quality]
}

PROCESS VariantNormalization {
  STANDARDIZES: VariantRepresentation
  REQUIRES: [ReferenceSequence, CoordinateSystem]
}

ENTITY Evidence {
  TYPES: [SequencingEvidence, PopulationEvidence, FunctionalEvidence, GeneticEvidence, MolecularEvidence, CytogeneticEvidence, ComputationalEvidence, ComparativeEvidence, LiteratureEvidence]
}

RULE EvidenceConvergence {
  IF IndependentEvidenceSources AGREE
  THEN Confidence := increase(Confidence)
}

RULE EvidenceConflict {
  IF EvidenceSources CONFLICT
  THEN {
    PRESERVE competing_assertions
    RECORD reference_sequence
    RECORD genome_assembly
    RECORD transcript_context
    RECORD population_context
    RECORD detection_method
    RECORD provenance
    REDUCE confidence
    REQUIRE further_validation
  }
}

RELATION GeneticVariant DIFFERS_FROM ReferenceSequence
RELATION Mutation MAY_CREATE GeneticVariant
RELATION GeneticVariant MAY_AFFECT Gene
RELATION GeneticVariant MAY_AFFECT GeneExpression
RELATION GeneticVariant MAY_AFFECT Protein
RELATION GeneticVariant HAS_FREQUENCY AlleleFrequency
RELATION GeneticVariant PART_OF Haplotype
RELATION GeneticVariant MAY_ASSOCIATE_WITH Trait
RELATION Population CONTAINS GeneticVariation

SEMANTIC_EQUIVALENCE {
  "genetic variation" ~= "genomic variation" WHEN genome_context_is_defined
  "genetic variant" ~= "sequence variant" WHEN sequence_context_is_defined
  "SNV" ~= "single nucleotide variant"
  "SNP" ~= "single nucleotide polymorphism"
  "CNV" ~= "copy number variant"
}

CONFIDENCE GeneticVariationAssertion {
  INPUTS: [sequence_quality, variant_call_quality, genomic_context_quality, population_support, functional_support, replication, source_independence, reference_consistency, semantic_consistency]
  SCORE := weighted_sum(INPUTS)
  LEVEL :=
    IF SCORE >= 0.90 THEN "very_high"
    ELSE IF SCORE >= 0.75 THEN "high"
    ELSE IF SCORE >= 0.55 THEN "moderate"
    ELSE IF SCORE >= 0.35 THEN "low"
    ELSE "uncertain"
}

RULE VariantClassification {
  IF reference_state != alternate_state
  THEN classify_variant_by(sequence_difference, length, genomic_structure, coordinate_context)
}

RULE GeneOverlapInference {
  IF GeneticVariant coordinates OVERLAP Gene coordinates
  THEN GeneticVariant overlaps Gene
  BUT functional_effect := unresolved
}

RULE CodingEffectInference {
  IF GeneticVariant overlaps CodingSequence
  THEN predicted_coding_effect := derive_from(transcript, reading_frame, genetic_code)
}

RULE CausalConstraint {
  IF GeneticVariant ASSOCIATED_WITH Phenotype
  THEN DO_NOT_INFER causal_effect
  UNLESS causal_evidence IS_SUFFICIENT
}

QUERY GeneticVariantLookup(variant_identifier) {
  RETURN [identity, genomic_location, reference_allele, alternate_allele, variant_class, affected_genes, transcript_consequences, protein_consequences, regulatory_consequences, population_frequencies, haplotypes, trait_associations, evidence, confidence]
}

QUERY GeneVariationLookup(gene_identifier) {
  RETURN [variants, coding_variants, splice_variants, regulatory_variants, structural_variants, population_frequencies, functional_effects, trait_associations, evidence, confidence]
}

QUERY PopulationVariationLookup(population_identifier) {
  RETURN [variant_frequencies, rare_variants, common_variants, haplotypes, linkage_disequilibrium, genetic_diversity, evidence, confidence]
}

UPDATE_MODEL {
  ON new_genetic_variation_evidence:
    validate_provenance()
    identify_organism()
    identify_genome_assembly()
    normalize_reference_sequence()
    normalize_variant_coordinates()
    normalize_reference_and_alternate_alleles()
    normalize_gene_and_transcript_identifiers()
    classify_variant()
    calculate_molecular_consequences()
    capture_population_context()
    compare_existing_assertions()
    preserve_conflicting_evidence()
    recalculate_confidence()
    regenerate_variant_relationships()
    update_flow_hash()
}

AI_CONSUMPTION {
  MODE: FormalSemanticReasoning
  PARSE_AS: ExecutableFlowAlgebra
  PRIORITIES: [variant_identity, reference_sequence, genome_assembly, genomic_coordinates, variant_class, gene_context, transcript_context, population_context, functional_evidence, evidence_provenance, confidence]
  REQUIREMENTS: [
    distinguish_mutation_event_from_variant_state,
    preserve_species_context,
    preserve_genome_assembly,
    preserve_reference_sequence,
    preserve_variant_coordinates,
    preserve_transcript_and_reading_frame,
    distinguish_germline_from_somatic_context,
    distinguish_frequency_from_function,
    distinguish_association_from_causation,
    distinguish_observed_from_predicted_effect
  ]
}

VALIDATE {
  REQUIRE GeneticVariation
  REQUIRE GeneticVariant
  REQUIRE ReferenceSequence
  REQUIRE SingleNucleotideVariant
  REQUIRE StructuralVariant
  REQUIRE CopyNumberVariant
  REQUIRE CodingVariant
  REQUIRE RegulatoryVariant
  REQUIRE AlleleFrequency
  REQUIRE Evidence
  REQUIRE CONFIDENCE
  REQUIRE SEMANTIC_EQUIVALENCE
  REQUIRE UPDATE_MODEL
  REQUIRE AI_CONSUMPTION

  ASSERT Mutation != GeneticVariant
  ASSERT GeneticVariant REQUIRES ReferenceContext
  ASSERT VariantTraitAssociation != CausalProof
  ASSERT PopulationFrequency != FunctionalEffect
}

FLOW_HASH {
  ALGORITHM: SHA-256
  INPUT: canonicalize(entities, relations, processes, rules, semantic_equivalence, confidence_model, update_model, ai_consumption)
  PURPOSE: integrity_and_version_tracking
}

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