Skip to main content

Mendelian Inheritance 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 "MendelianInheritanceOntology" v1.0

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

ENTITY MendelianInheritanceOntology {
    TYPE: BiologicalOntology
    DOMAIN: Genetics
    SUBJECT: MendelianInheritance
    PURPOSE: FormalSemanticRepresentation
}

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

# ============================================================
# CORE MODEL
# ============================================================

ENTITY MendelianInheritance {
    IS_A: GeneticInheritanceFramework
    DESCRIBES: TransmissionOfAlleles
    BASED_ON: [
        Segregation,
        IndependentAssortment,
        AllelicRelationships
    ]
}

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

ENTITY GeneticLocus {
    IDENTIFIES: ChromosomalPositionOrRegion
}

ENTITY Allele {
    IS_A: AlternativeStateAtGeneticLocus
    CONTRIBUTES_TO: Genotype
}

ENTITY Genotype {
    REPRESENTS: AllelicComposition
    MAY_INFLUENCE: Phenotype
}

ENTITY Phenotype {
    REPRESENTS: ObservableOrMeasurableTraitState
    INFLUENCED_BY: [Genotype, Environment, Penetrance, Expressivity]
}

# ============================================================
# SEGREGATION
# ============================================================

PROCESS Segregation {
    SEPARATES: Alleles
    DURING: GameteFormation
}

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

ENTITY Gamete {
    IS_A: HaploidCell
    CARRIES: AllelicSubset
}

PROCESS GameteFormation {
    USES: Meiosis
    PRODUCES: Gamete
}

# ============================================================
# INDEPENDENT ASSORTMENT
# ============================================================

PROCESS IndependentAssortment {
    DESCRIBES: IndependentTransmissionOfLoci
    APPLIES_WHEN: LociBehaveIndependently
    SUBJECT_TO: GeneticLinkage
}

RULE IndependentAssortmentRule {
    IF LocusA and LocusB ARE_UNLINKED_OR_EFFECTIVELY_INDEPENDENT
    THEN allele_transmission_at_LocusA
         MAY_BE_INDEPENDENT_OF
         allele_transmission_at_LocusB
}

RULE LinkageConstraint {
    IF LocusA and LocusB ARE_GENETICALLY_LINKED
    THEN DO_NOT_ASSUME complete_independent_assortment
}

# ============================================================
# DOMINANCE
# ============================================================

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 {
    SUBCLASS_OF: Allele
    ROLE_DEPENDS_ON: [AllelicContext, PhenotypicDefinition]
}

ENTITY RecessiveAllele {
    SUBCLASS_OF: Allele
    ROLE_DEPENDS_ON: [AllelicContext, PhenotypicDefinition]
}

RULE DominanceContextRule {
    IF AlleleA IS_DOMINANT_TO AlleleB
    THEN preserve [
        locus,
        genotype,
        phenotype_definition,
        organism_context
    ]
}

# ============================================================
# ZYGOSITY
# ============================================================

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
}

# ============================================================
# MONOHYBRID INHERITANCE
# ============================================================

PROCESS MonohybridCross {
    IS_A: GeneticCross
    TRACKS: OneLocus
    INPUTS: [ParentA, ParentB]
    OUTPUT: OffspringDistribution
}

ENTITY PunnettSquare {
    REPRESENTS: PossibleGameteCombinations
    MAY_PREDICT: GenotypeProbabilities
}

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

# ============================================================
# DIHYBRID INHERITANCE
# ============================================================

PROCESS DihybridCross {
    IS_A: GeneticCross
    TRACKS: TwoLoci
}

RULE DihybridProbabilityRule {
    IF loci assort_independently
    THEN joint_probability :=
        probability_at_locus_1 * probability_at_locus_2
}

RULE DihybridLinkageConstraint {
    IF loci ARE_LINKED
    THEN use_haplotype_and_recombination_model
    INSTEAD_OF simple_independent_product
}

# ============================================================
# TEST CROSS
# ============================================================

PROCESS TestCross {
    IS_A: GeneticCross
    CROSSES: UnknownGenotypeIndividual
    WITH: InformativeReferenceGenotype
    USED_TO_INFER: UnknownGenotype
}

RULE TestCrossInference {
    IF dominant_phenotype_individual
       crossed_with homozygous_recessive_reference
    THEN offspring_distribution MAY_INFORM parental_genotype
}

# ============================================================
# AUTOSOMAL INHERITANCE
# ============================================================

CLASS AutosomalDominantInheritance {
    SUBCLASS_OF: MendelianInheritance
    LOCUS_ON: Autosome
    DOMINANCE_MODEL: Dominant
}

CLASS AutosomalRecessiveInheritance {
    SUBCLASS_OF: MendelianInheritance
    LOCUS_ON: Autosome
    DOMINANCE_MODEL: Recessive
}

RULE AutosomalInheritanceRule {
    IF locus IS_AUTOSOMAL
    THEN transmission_model MUST_USE autosomal_chromosome_context
}

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

ENTITY SexLinkedInheritance {
    SUBCLASS_OF: MendelianInheritance
    LOCUS_ON: SexChromosome
}

CLASS XLinkedDominantInheritance {
    SUBCLASS_OF: SexLinkedInheritance
}

CLASS XLinkedRecessiveInheritance {
    SUBCLASS_OF: SexLinkedInheritance
}

CLASS YLinkedInheritance {
    SUBCLASS_OF: SexLinkedInheritance
}

RULE SexLinkedRule {
    IF locus IS_ON SexChromosome
    THEN offspring_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: CandidateInheritancePattern
}

RULE PedigreeCompatibilityRule {
    IF observed_family_pattern IS_COMPATIBLE_WITH inheritance_model
    THEN inheritance_model MAY_BE_SUPPORTED
    BUT compatibility != proof
}

# ============================================================
# PROBABILITY
# ============================================================

ENTITY GeneticProbability {
    APPLIES_TO: InheritanceOutcome
}

RULE ProductRule {
    IF inheritance_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_DEPENDENT
    THEN DO_NOT_APPLY independence_product_rule
}

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

ENTITY Penetrance {
    DESCRIBES: ProbabilityOfPhenotypeGivenGenotype
}

ENTITY Expressivity {
    DESCRIBES: DegreeOfPhenotypicExpression
}

RULE PenetranceRule {
    IF penetrance < 1
    THEN genotype_presence DOES_NOT_GUARANTEE phenotype_observation
}

RULE ExpressivityRule {
    IF same_genotype produces_variable_phenotypic_severity
    THEN variable_expressivity MAY_BE_PRESENT
}

# ============================================================
# DEVIATIONS FROM SIMPLE MENDELIAN EXPECTATION
# ============================================================

ENTITY ModifiedMendelianPattern {
    MAY_INCLUDE: [
        IncompleteDominance,
        Codominance,
        MultipleAlleles,
        LethalAlleles,
        Epistasis,
        ReducedPenetrance
    ]
}

ENTITY MultipleAlleles {
    DESCRIBES: MoreThanTwoAllelicStatesInPopulation
}

ENTITY LethalAllele {
    SUBCLASS_OF: Allele
    MAY_REDUCE: Viability
}

ENTITY Epistasis {
    IS_A: GeneticInteraction
    OCCURS_WHEN: EffectOfOneLocusDependsOnAnother
}

RULE RatioDeviationRule {
    IF observed_offspring_ratio deviates_from simple_expectation
    THEN evaluate [
        sampling_variation,
        linkage,
        penetrance,
        viability,
        epistasis,
        scoring_error,
        alternative_model
    ]
}

# ============================================================
# CHROMOSOMAL BASIS
# ============================================================

ENTITY Chromosome {
    CARRIES: Gene
}

ENTITY HomologousChromosome {
    CARRIES: CorrespondingGeneticLoci
    MAY_HAVE: DifferentAlleles
}

PROCESS Meiosis {
    SEGREGATES: HomologousChromosomesAndChromatids
    PRODUCES: HaploidGametes
}

RULE ChromosomalBasisRule {
    IF Gene LOCATED_ON Chromosome
    THEN allele_transmission IS_DEPENDENT_ON chromosome_behavior_during_meiosis
}

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

ENTITY GeneticLinkage {
    RELATES: Loci
    MAY_REDUCE: IndependentAssortment
}

PROCESS Recombination {
    EXCHANGES: GeneticMaterial
    BETWEEN: HomologousChromosomes
}

ENTITY RecombinationFrequency {
    MAY_ESTIMATE: GeneticDistance
}

RULE RecombinationRule {
    IF crossing_over occurs_between_linked_loci
    THEN recombinant_gametes MAY_BE_PRODUCED
}

# ============================================================
# ENVIRONMENT
# ============================================================

ENTITY Environment {
    MAY_MODIFY: Phenotype
}

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

RULE EnvironmentConstraint {
    IF Phenotype IS_USED_TO_INFER Genotype
    THEN environmental_effects SHOULD_BE_CONSIDERED
}

# ============================================================
# 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_inheritance_models
        RECORD pedigree_structure
        RECORD cross_design
        RECORD trait_definition
        RECORD penetrance_assumption
        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 Meiosis ENABLES Segregation
RELATION GeneticLinkage MODIFIES IndependentAssortment
RELATION Pedigree SUPPORTS InheritanceAnalysis

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

SEMANTIC_EQUIVALENCE {
    "Mendelian inheritance" ~= "Mendelian heredity"
    "law of segregation" ~= "allelic segregation principle"
    "independent assortment" ~= "independent segregation of loci" WHEN loci_are_unlinked
    "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_trait_definition()
    AND preserve_inheritance_context()
    AND prevent_false_identity()
}

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

CONFIDENCE MendelianInheritanceAssertion {
    INPUTS: [
        breeding_support,
        pedigree_support,
        sample_size,
        statistical_support,
        molecular_support,
        cytogenetic_support,
        penetrance_model_quality,
        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 GameteInference {
    IF parental_genotype IS_KNOWN
    THEN possible_gametes := derive_from(
        segregation,
        linkage,
        recombination
    )
}

RULE OffspringInference {
    IF ParentA.gamete_distribution IS_KNOWN
       AND ParentB.gamete_distribution IS_KNOWN
    THEN offspring_genotype_distribution :=
        combine_gametes(ParentA, ParentB)
}

RULE PhenotypeInference {
    IF offspring_genotype IS_KNOWN
       AND allelic_relationship IS_DEFINED
    THEN phenotype_probability :=
        infer_with(
            penetrance,
            expressivity,
            environment
        )
}

RULE PedigreeInference {
    IF inheritance_model predicts_observed_pedigree_pattern
    THEN model_support := increase(model_support)
    BUT alternative_models MUST_BE_CONSIDERED
}

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

QUERY MendelianTraitLookup(trait_identifier) {
    RETURN [
        gene,
        locus,
        alleles,
        dominance_relationship,
        inheritance_pattern,
        penetrance,
        expressivity,
        pedigree_evidence,
        molecular_evidence,
        confidence
    ]
}

QUERY GeneticCrossLookup(parent_a, parent_b, loci) {
    RETURN [
        parental_genotypes,
        gametes,
        offspring_genotypes,
        genotype_probabilities,
        phenotype_probabilities,
        linkage_assumptions,
        penetrance_assumptions,
        confidence
    ]
}

QUERY PedigreeLookup(pedigree_identifier) {
    RETURN [
        individuals,
        relationships,
        phenotypes,
        known_genotypes,
        candidate_inheritance_patterns,
        contradictions,
        evidence,
        confidence
    ]
}

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

UPDATE_MODEL {
    ON new_mendelian_evidence:
        validate_provenance()
        identify_organism()
        normalize_gene_locus_and_allele_identifiers()
        capture_trait_definition()
        capture_pedigree_structure()
        capture_cross_design()
        capture_penetrance_and_expressivity()
        identify_linkage_context()
        calculate_expected_probabilities()
        compare_observed_outcomes()
        preserve_competing_models()
        recalculate_confidence()
        regenerate_inheritance_links()
        update_flow_hash()
}

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

AI_CONSUMPTION {
    MODE: FormalSemanticReasoning
    PARSE_AS: ExecutableFlowAlgebra

    PRIORITIES: [
        locus_identity,
        allele_identity,
        parental_genotypes,
        segregation,
        dominance_relationship,
        inheritance_pattern,
        linkage_context,
        penetrance,
        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_genetic_linkage,
        account_for_penetrance_and_expressivity,
        preserve_species_context,
        distinguish_probability_from_observed_outcome,
        avoid_unsupported_inheritance_inference
    ]
}

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

VALIDATE {
    REQUIRE MendelianInheritance
    REQUIRE Gene
    REQUIRE Allele
    REQUIRE Genotype
    REQUIRE Phenotype
    REQUIRE Segregation
    REQUIRE IndependentAssortment
    REQUIRE DominanceRelationship
    REQUIRE Pedigree
    REQUIRE Evidence
    REQUIRE CONFIDENCE
    REQUIRE SEMANTIC_EQUIVALENCE
    REQUIRE UPDATE_MODEL
    REQUIRE AI_CONSUMPTION

    ASSERT Gene != Allele
    ASSERT Genotype != Phenotype
    ASSERT linked_loci != automatically_independent
    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 "MendelianInheritanceOntology"
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ