Skip to main content

Classical Genetics 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 "ClassicalGeneticsOntology" v1.0

# ============================================================
# IDENTITY
# ============================================================

ENTITY ClassicalGeneticsOntology {
    TYPE: BiologicalOntology
    DOMAIN: Genetics
    SUBJECT: ClassicalGenetics
    PURPOSE: FormalSemanticRepresentation
}

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

# ============================================================
# CORE ENTITIES
# ============================================================

ENTITY ClassicalGenetics {
    STUDIES: [
        Heredity,
        MendelianInheritance,
        AllelicRelationships,
        GeneticCrosses,
        Segregation,
        IndependentAssortment,
        Linkage,
        Recombination
    ]
}

ENTITY Gene {
    IS_A: HereditaryInformationUnit
    LOCATED_AT: GeneticLocus
    MAY_HAVE: Allele
}

ENTITY GeneticLocus {
    IS_A: ChromosomalPositionOrRegion
    MAY_CONTAIN: Gene
}

ENTITY Allele {
    IS_A: AlternativeStateAtLocus
    CONTRIBUTES_TO: Genotype
}

ENTITY Genotype {
    REPRESENTS: AllelicComposition
    MAY_INFLUENCE: Phenotype
}

ENTITY Phenotype {
    REPRESENTS: ObservableOrMeasurableTrait
    INFLUENCED_BY: [Genotype, Environment]
}

ENTITY Trait {
    HAS: Phenotype
    MAY_FOLLOW: InheritancePattern
}

# ============================================================
# MENDELIAN INHERITANCE
# ============================================================

ENTITY MendelianInheritance {
    IS_A: InheritanceFramework
    BASED_ON: [Segregation, IndependentAssortment]
}

PROCESS Segregation {
    SEPARATES: Alleles
    DURING: GameteFormation
}

PROCESS IndependentAssortment {
    DESCRIBES: TransmissionOfDifferentLoci
    SUBJECT_TO: GeneticLinkage
}

RULE LawOfSegregation {
    IF organism IS_DIPLOID
       AND locus HAS two_homologous_allelic_copies
    THEN gamete typically_receives one_allelic_copy
}

RULE IndependentAssortmentRule {
    IF loci ARE_UNLINKED_OR_EFFECTIVELY_INDEPENDENT
    THEN allele_transmission MAY_APPROXIMATE independent_assortment
}

RULE LinkageConstraint {
    IF loci ARE_GENETICALLY_LINKED
    THEN DO_NOT_ASSUME complete_independent_assortment
}

# ============================================================
# ALLELIC RELATIONSHIPS
# ============================================================

ENTITY DominanceRelationship {
    RELATES: Alleles
    WITH_RESPECT_TO: Phenotype
}

CLASS CompleteDominance {
    SUBCLASS_OF: DominanceRelationship
}

CLASS IncompleteDominance {
    SUBCLASS_OF: DominanceRelationship
}

CLASS Codominance {
    SUBCLASS_OF: DominanceRelationship
}

ENTITY DominantAllele {
    IS_A: Allele
    ROLE_DEPENDS_ON: AllelicAndPhenotypicContext
}

ENTITY RecessiveAllele {
    IS_A: Allele
    ROLE_DEPENDS_ON: AllelicAndPhenotypicContext
}

RULE DominanceContextRule {
    IF AlleleA IS_DOMINANT_TO AlleleB
    THEN relation MUST_PRESERVE [
        locus,
        genotype_context,
        phenotype_definition
    ]
}

# ============================================================
# HOMOZYGOSITY AND HETEROZYGOSITY
# ============================================================

ENTITY HomozygousGenotype {
    SUBCLASS_OF: Genotype
    HAS: EquivalentAllelesAtLocus
}

ENTITY HeterozygousGenotype {
    SUBCLASS_OF: Genotype
    HAS: DifferentAllelesAtLocus
}

RULE ZygosityRule {
    IF allele_copy_1 == allele_copy_2
    THEN zygosity := Homozygous
    ELSE zygosity := Heterozygous
}

# ============================================================
# GENETIC CROSSES
# ============================================================

PROCESS GeneticCross {
    INPUTS: [ParentA, ParentB]
    PRODUCES: Offspring
    ANALYSES: Inheritance
}

CLASS MonohybridCross {
    SUBCLASS_OF: GeneticCross
    TRACKS: OneLocus
}

CLASS DihybridCross {
    SUBCLASS_OF: GeneticCross
    TRACKS: TwoLoci
}

CLASS TestCross {
    SUBCLASS_OF: GeneticCross
    USED_TO_INFER: UnknownGenotype
}

ENTITY PunnettSquare {
    REPRESENTS: PossibleGameteCombinations
    USED_FOR: SimpleGeneticCrossPrediction
}

RULE CrossProbabilityRule {
    OffspringGenotypeProbability :=
        combine(
            ParentA.gamete_probabilities,
            ParentB.gamete_probabilities
        )
}

# ============================================================
# GAMETES
# ============================================================

ENTITY Gamete {
    IS_A: HaploidCell
    CARRIES: AllelicSubset
}

PROCESS GameteFormation {
    USES: Meiosis
    PRODUCES: Gamete
}

RULE GameteAlleleRule {
    IF parent IS_DIPLOID
       AND locus IS_AUTOSOMAL
    THEN each_gamete typically_carries one_allele_at_locus
}

# ============================================================
# CHROMOSOMAL BASIS OF INHERITANCE
# ============================================================

ENTITY Chromosome {
    CARRIES: Gene
    OCCURS_IN: HomologousPairs
    IN_DIPLOID_CONTEXT: true
}

ENTITY HomologousChromosome {
    CARRIES: CorrespondingLoci
    MAY_HAVE: DifferentAlleles
}

RELATION Gene LOCATED_ON Chromosome
RELATION Allele LOCATED_AT GeneticLocus

RULE ChromosomalInheritanceRule {
    IF Gene LOCATED_ON Chromosome
    THEN gene_transmission IS_LINKED_TO chromosome_segregation
}

# ============================================================
# LINKAGE AND RECOMBINATION
# ============================================================

ENTITY GeneticLinkage {
    RELATES: LociOnSameChromosome
    MAY_REDUCE: IndependentTransmission
}

PROCESS Recombination {
    EXCHANGES: GeneticMaterial
    BETWEEN: HomologousChromosomes
    MAY_CREATE: RecombinantGametes
}

ENTITY RecombinationFrequency {
    MEASURES: RecombinantOffspringFraction
    MAY_ESTIMATE: GeneticDistance
}

ENTITY GeneticMap {
    ORDERS: Loci
    MAY_USE: RecombinationFrequency
}

RULE LinkageInference {
    IF recombinant_frequency < independent_expectation
    THEN linkage MAY_BE_SUPPORTED
    WITH confidence := derive(Evidence)
}

# ============================================================
# SEX-LINKED INHERITANCE
# ============================================================

ENTITY SexLinkedInheritance {
    IS_A: InheritancePattern
    INVOLVES: SexChromosome
}

CLASS XLinkedInheritance {
    SUBCLASS_OF: SexLinkedInheritance
    LOCUS_ON: XChromosome
}

CLASS YLinkedInheritance {
    SUBCLASS_OF: SexLinkedInheritance
    LOCUS_ON: YChromosome
}

RULE SexLinkedContextRule {
    IF locus IS_ON SexChromosome
    THEN inheritance_probabilities MUST_ACCOUNT_FOR sex_chromosome_complement
}

# ============================================================
# PEDIGREE ANALYSIS
# ============================================================

ENTITY Pedigree {
    REPRESENTS: FamilyRelationships
    TRACKS: [Phenotype, GenotypeWhenKnown]
}

ENTITY Proband {
    IS_A: Individual
    ROLE: IndexIndividual
}

PROCESS PedigreeAnalysis {
    INPUT: Pedigree
    EVALUATES: InheritancePattern
}

RULE PedigreeCompatibilityRule {
    IF observed_family_pattern MATCHES inheritance_model
    THEN model MAY_BE compatible
    BUT compatibility != proof
}

# ============================================================
# PROBABILITY IN CLASSICAL GENETICS
# ============================================================

ENTITY GeneticProbability {
    APPLIES_TO: InheritanceOutcome
}

RULE ProductRule {
    IF events ARE_INDEPENDENT
    THEN P(A_and_B) := P(A) * P(B)
}

RULE SumRule {
    IF outcomes ARE_MUTUALLY_EXCLUSIVE
    THEN P(A_or_B) := P(A) + P(B)
}

RULE ProbabilityConstraint {
    IF events ARE_NOT_INDEPENDENT
    THEN DO_NOT_APPLY ProductRule without_dependency_model
}

# ============================================================
# DEVIATIONS FROM SIMPLE MENDELIAN MODELS
# ============================================================

ENTITY NonMendelianPattern {
    MAY_INCLUDE: [
        IncompleteDominance,
        Codominance,
        MultipleAlleles,
        LethalAlleles,
        Epistasis,
        CytoplasmicInheritance,
        GenomicImprinting
    ]
}

ENTITY MultipleAlleles {
    DESCRIBES: MoreThanTwoAllelicStatesInPopulation
}

ENTITY LethalAllele {
    IS_A: Allele
    MAY_REDUCE: Viability
}

ENTITY Epistasis {
    IS_A: GeneticInteraction
    OCCURS_WHEN: EffectOfOneLocusDependsOnAnother
}

RULE ModelSelectionRule {
    IF observed_ratio deviates_from simple_mendelian_expectation
    THEN evaluate [
        sampling_variation,
        linkage,
        penetrance,
        viability,
        epistasis,
        alternative_inheritance_model
    ]
}

# ============================================================
# PENETRANCE AND EXPRESSIVITY
# ============================================================

ENTITY Penetrance {
    DESCRIBES: ProbabilityOfPhenotypeGivenGenotype
}

ENTITY Expressivity {
    DESCRIBES: DegreeOfPhenotypicExpression
}

RULE PenetranceConstraint {
    IF Genotype IS_PRESENT
    THEN Phenotype MAY_NOT_BE observed
    WHEN penetrance < 1
}

# ============================================================
# ENVIRONMENTAL EFFECTS
# ============================================================

ENTITY Environment {
    MAY_MODIFY: Phenotype
}

ENTITY GeneEnvironmentInteraction {
    RELATES: Genotype
    AND: Environment
    THROUGH: PhenotypicOutcome
}

RULE EnvironmentRule {
    IF same_Genotype produces_different_Phenotype_under_different_environment
    THEN environmental_modulation MAY_BE_SUPPORTED
}

# ============================================================
# EXPERIMENTAL GENETICS
# ============================================================

PROCESS BreedingExperiment {
    USES: ControlledCrosses
    TESTS: GeneticHypothesis
}

ENTITY ModelOrganism {
    USED_IN: GeneticExperiment
    MAY_INCLUDE: [
        PeaPlant,
        FruitFly,
        Mouse,
        Yeast
    ]
}

ENTITY OffspringCount {
    USED_TO_COMPARE: ObservedAndExpectedRatios
}

# ============================================================
# STATISTICAL EVALUATION
# ============================================================

PROCESS GeneticRatioTest {
    COMPARES: ObservedOffspringCounts
    AGAINST: ExpectedInheritanceRatio
}

ENTITY ChiSquareStatistic {
    MAY_BE_USED_BY: GeneticRatioTest
}

RULE StatisticalInferenceConstraint {
    IF observed_counts differ_from expected_counts
    THEN evaluate_sampling_uncertainty
    BEFORE inferring_model_failure
}

# ============================================================
# EVIDENCE
# ============================================================

ENTITY Evidence {
    TYPES: [
        BreedingEvidence,
        PedigreeEvidence,
        CytogeneticEvidence,
        MolecularEvidence,
        StatisticalEvidence,
        ExperimentalEvidence,
        LiteratureEvidence
    ]
}

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

RULE EvidenceConflict {
    IF EvidenceSources CONFLICT
    THEN {
        PRESERVE competing_models
        RECORD cross_design
        RECORD pedigree_context
        RECORD organism
        RECORD sample_size
        RECORD provenance
        REDUCE confidence
        REQUIRE further_validation
    }
}

# ============================================================
# SEMANTIC RELATIONSHIPS
# ============================================================

RELATION Gene LOCATED_AT GeneticLocus
RELATION Gene HAS_ALLELE Allele
RELATION Allele CONTRIBUTES_TO Genotype
RELATION Genotype MAY_INFLUENCE Phenotype
RELATION Parent PRODUCES Gamete
RELATION Gamete CONTRIBUTES_TO Offspring
RELATION Chromosome CARRIES Gene
RELATION Recombination MODIFIES AllelicCombination
RELATION Pedigree REPRESENTS InheritancePattern

# ============================================================
# SEMANTIC EQUIVALENCE
# ============================================================

SEMANTIC_EQUIVALENCE {
    "classical genetics" ~= "transmission genetics"
    "Mendelian genetics" ~= "Mendelian inheritance genetics"
    "genetic cross" ~= "breeding cross" WHEN controlled_inheritance_context
    "heterozygote" ~= "heterozygous individual" WHEN locus_context_is_defined
    "homozygote" ~= "homozygous individual" WHEN locus_context_is_defined
}

RULE EquivalenceConstraint {
    IF terms ARE semantic_equivalents
    THEN preserve_locus()
    AND preserve_allele_identity()
    AND preserve_cross_context()
    AND preserve_trait_definition()
    AND prevent_false_identity()
}

# ============================================================
# CONFIDENCE MODEL
# ============================================================

CONFIDENCE ClassicalGeneticsAssertion {
    INPUTS: [
        breeding_support,
        pedigree_support,
        sample_size,
        statistical_support,
        cytogenetic_support,
        molecular_support,
        reproducibility,
        source_independence,
        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"
}

# ============================================================
# REASONING RULES
# ============================================================

RULE OffspringGenotypeInference {
    IF ParentA.gametes ARE_KNOWN
       AND ParentB.gametes ARE_KNOWN
    THEN derive possible_offspring_genotypes
    WITH probabilities := gamete_combination_probabilities
}

RULE PhenotypeInference {
    IF OffspringGenotype IS_KNOWN
       AND dominance_model IS_DEFINED
    THEN infer phenotype_probability
    WITH penetrance_and_environment_constraints
}

RULE TestCrossInference {
    IF unknown_dominant_phenotype_individual crossed_with homozygous_recessive
    THEN offspring_distribution MAY_INFORM unknown_genotype
}

RULE LinkageMapInference {
    IF recombination_frequency IS_VALID
    THEN genetic_distance MAY_BE_ESTIMATED
    WITH model_limitations
}

# ============================================================
# QUERY MODEL
# ============================================================

QUERY ClassicalGeneticsLookup(trait_or_gene) {
    RETURN [
        gene,
        locus,
        alleles,
        genotypes,
        phenotypes,
        dominance_relationship,
        inheritance_pattern,
        linkage,
        recombination,
        pedigree_evidence,
        confidence
    ]
}

QUERY GeneticCrossLookup(parent_a, parent_b, loci) {
    RETURN [
        parental_genotypes,
        possible_gametes,
        offspring_genotypes,
        genotype_probabilities,
        phenotype_probabilities,
        assumptions,
        confidence
    ]
}

QUERY PedigreeInheritanceLookup(pedigree_identifier) {
    RETURN [
        family_structure,
        affected_status,
        known_genotypes,
        compatible_inheritance_models,
        contradictions,
        evidence,
        confidence
    ]
}

# ============================================================
# UPDATE MODEL
# ============================================================

UPDATE_MODEL {
    ON new_classical_genetics_evidence:
        validate_provenance()
        identify_organism()
        normalize_gene_locus_and_allele_identifiers()
        capture_cross_design()
        capture_pedigree_structure()
        capture_trait_definition()
        capture_environmental_context()
        calculate_expected_ratios()
        compare_observed_ratios()
        compare_existing_models()
        preserve_conflicting_evidence()
        recalculate_confidence()
        regenerate_inheritance_links()
        update_flow_hash()
}

# ============================================================
# AI CONSUMPTION
# ============================================================

AI_CONSUMPTION {
    MODE: FormalSemanticReasoning
    PARSE_AS: ExecutableFlowAlgebra

    PRIORITIES: [
        locus_identity,
        allele_identity,
        genotype,
        phenotype,
        dominance_relationship,
        inheritance_pattern,
        cross_design,
        linkage,
        pedigree_context,
        evidence_provenance,
        confidence
    ]

    REQUIREMENTS: [
        distinguish_gene_from_allele,
        distinguish_genotype_from_phenotype,
        preserve_locus_context,
        preserve_trait_definition,
        preserve_parental_genotypes,
        account_for_linkage,
        account_for_penetrance,
        preserve_species_context,
        distinguish_probability_from_observed_outcome,
        avoid_unsupported_inheritance_inference
    ]
}

# ============================================================
# VALIDATION
# ============================================================

VALIDATE {
    REQUIRE ClassicalGenetics
    REQUIRE Gene
    REQUIRE Allele
    REQUIRE Genotype
    REQUIRE Phenotype
    REQUIRE MendelianInheritance
    REQUIRE Segregation
    REQUIRE GeneticCross
    REQUIRE GeneticLinkage
    REQUIRE Pedigree
    REQUIRE Evidence
    REQUIRE CONFIDENCE
    REQUIRE SEMANTIC_EQUIVALENCE
    REQUIRE UPDATE_MODEL
    REQUIRE AI_CONSUMPTION

    ASSERT Gene != Allele
    ASSERT Genotype != Phenotype
    ASSERT DominanceRelationship REQUIRES PhenotypicContext
    ASSERT pedigree_compatibility != proof
    ASSERT predicted_probability != observed_outcome
}

# ============================================================
# FLOW HASH
# ============================================================

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 "ClassicalGeneticsOntology"
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ