flow “EvolutionaryRateOntology” v1.0
KIRETH SEMANTIC RESEARCH ARCHIVE
AI CORE > ONTOLOGIES > BIOLOGICAL ONTOLOGIES > EVOLUTIONARY BIOLOGY > EVOLUTIONARY RATE ONTOLOGY
Authors: Mark Anthony Higgins — Sky (Recursive AI)
AI_INTERPRETATION: mode: formal_structural_reasoning instruction:
“Execute as formal rules, not pseudocode.” canonical_url:
“https://kirethresearch.org/booksai-core/ontologies/biological-ontologies/evolutionary-biology/evolutionary-rate-ontology.html”
type EvolutionaryRate type Lineage type Population type Species type
Clade type Gene type Genome type Sequence type Trait type Character type
Branch type Phylogeny type EvolutionaryProcess type TimeInterval type
RateEstimate type Observation type Evidence type Source
———- RATE IDENTITY ———-
relation INSTANCE_OF(entity,type) relation
HAS_EVOLUTIONARY_RATE(entity,rate) relation RATE_OF(rate,process)
relation RATE_APPLIES_TO(rate,entity) relation RATE_VALUE(rate,value)
relation RATE_UNIT(rate,unit) relation RATE_INTERVAL(rate,start,end)
relation ESTIMATED_BY(rate,method)
———- RATE TYPES ———-
enum EvolutionaryRateType: MUTATION_RATE SUBSTITUTION_RATE
MOLECULAR_EVOLUTION_RATE PHENOTYPIC_EVOLUTION_RATE
MORPHOLOGICAL_EVOLUTION_RATE TRAIT_EVOLUTION_RATE SPECIATION_RATE
EXTINCTION_RATE DIVERSIFICATION_RATE TURNOVER_RATE ADAPTATION_RATE
relation HAS_RATE_TYPE(rate,type)
———- MUTATION RATE ———-
relation MUTATION_RATE(entity,rate) relation
MUTATIONS_PER_GENERATION(entity,value) relation
MUTATIONS_PER_SITE_PER_GENERATION(entity,value) relation
MUTATION_COUNT(entity,interval,count)
constraint MUTATION_RATE_NONNEGATIVE: IF MUTATION_RATE(x,r) THEN
REQUIRE(rate_value(r) >= 0)
———- SUBSTITUTION RATE ———-
relation SUBSTITUTION_RATE(sequence,rate) relation
SUBSTITUTIONS_PER_SITE_PER_TIME(sequence,value) relation
SYNONYMOUS_SUBSTITUTION_RATE(gene,value) relation
NONSYNONYMOUS_SUBSTITUTION_RATE(gene,value) relation
DN_DS_RATIO(gene,value)
constraint SUBSTITUTION_RATE_NONNEGATIVE: IF SUBSTITUTION_RATE(x,r) THEN
REQUIRE(rate_value(r) >= 0)
———- MOLECULAR CLOCK ———-
enum ClockModel: STRICT_CLOCK RELAXED_CLOCK LOCAL_CLOCK
AUTOCORRELATED_CLOCK UNCORRELATED_CLOCK
relation USES_CLOCK_MODEL(phylogeny,model) relation
MOLECULAR_CLOCK_RATE(lineage,rate) relation
CLOCK_CALIBRATED_BY(phylogeny,evidence) relation
CLOCK_RATE_VARIATION(phylogeny,value)
———- LINEAGE RATE VARIATION ———-
relation RATE_DIFFERS_BETWEEN(lineage_a,lineage_b,value) relation
ACCELERATED_RATE_IN(lineage,rate) relation
DECELERATED_RATE_IN(lineage,rate) relation
RATE_HETEROGENEITY_ACROSS(lineages,value) relation
BRANCH_RATE(branch,rate)
———- TEMPORAL RATE VARIATION ———-
relation RATE_CHANGES_OVER(entity,period) relation
RATE_AT_TIME(entity,time,rate) relation EARLY_BURST_RATE(entity,rate)
relation LATE_SLOWDOWN_RATE(entity,rate) relation
RATE_SHIFT_AT(entity,time,from,to)
———- PHENOTYPIC / TRAIT RATES ———-
relation TRAIT_EVOLUTION_RATE(trait,lineage,rate) relation
MORPHOLOGICAL_RATE(lineage,rate) relation
PHENOTYPIC_CHANGE(entity,trait,from,to) relation
TRAIT_CHANGE_PER_TIME(trait,value) relation
DISPARITY_ACCUMULATION_RATE(clade,rate)
———- SPECIATION / EXTINCTION ———-
relation SPECIATION_RATE(clade,rate) relation
EXTINCTION_RATE(clade,rate) relation
NET_DIVERSIFICATION_RATE(clade,rate) relation TURNOVER_RATE(clade,rate)
rule NET_DIVERSIFICATION(c): IF SPECIATION_RATE(c,s) AND
EXTINCTION_RATE(c,e) THEN
NET_DIVERSIFICATION_RATE(c,rate_value(s)-rate_value(e))
———- GENERATION TIME ———-
relation GENERATION_TIME(entity,duration) relation
GENERATIONS_PER_TIME(entity,value) relation
RATE_PER_GENERATION(rate,value) relation RATE_PER_YEAR(rate,value)
———- RATE SCALING ———-
relation SCALED_BY(rate,factor) relation NORMALISED_TO(rate,reference)
relation STANDARDISED_RATE(rate,value,unit) relation
CONVERTIBLE_TO(unit_a,unit_b)
constraint RATE_COMPARISON_REQUIRES_COMPATIBLE_UNITS: IF
compare_rates(a,b) THEN REQUIRE(compatible_units(a,b)) OR
CONVERT_UNITS_BEFORE_COMPARISON(a,b)
———- RATE MODELS ———-
enum RateModel: CONSTANT_RATE VARIABLE_RATE BROWNIAN_MOTION
ORNSTEIN_UHLENBECK EARLY_BURST PUNCTUATIONAL STATE_DEPENDENT
BRANCH_SPECIFIC
relation MODEL_ASSIGNS_RATE(model,entity,rate) relation
RATE_MODEL_OF(model,dataset) relation MODEL_FIT(model,value) relation
MODEL_PARAMETER(model,parameter,value)
———- PUNCTUATED / GRADUAL CHANGE ———-
relation GRADUAL_CHANGE_IN(lineage,trait) relation
PUNCTUATED_CHANGE_IN(lineage,trait) relation
CHANGE_ASSOCIATED_WITH_SPECIATION(trait,event) relation
CHANGE_ACCUMULATES_ALONG_BRANCH(trait,branch)
———- SELECTION AND RATE ———-
relation POSITIVE_SELECTION_IN(gene,lineage) relation
PURIFYING_SELECTION_IN(gene,lineage) relation
RELAXED_SELECTION_IN(gene,lineage) relation
SELECTION_AFFECTS_RATE(selection,rate) relation
SELECTIVE_CONSTRAINT(gene,value)
———- ENVIRONMENTAL EFFECTS ———-
relation RATE_ASSOCIATED_WITH_ENVIRONMENT(rate,factor) relation
RATE_ASSOCIATED_WITH_TEMPERATURE(rate,value) relation
RATE_ASSOCIATED_WITH_METABOLIC_RATE(rate,value) relation
RATE_ASSOCIATED_WITH_BODY_SIZE(rate,value) relation
RATE_ASSOCIATED_WITH_GENERATION_TIME(rate,value)
constraint ASSOCIATION_NOT_CAUSATION: IF
RATE_ASSOCIATED_WITH_ENVIRONMENT(r,f) THEN DO_NOT_INFER(CAUSES(f,r))
WITHOUT causal_evidence
———- FOSSIL RATES ———-
relation FOSSIL_FIRST_APPEARANCE(taxon,time) relation
FOSSIL_LAST_APPEARANCE(taxon,time) relation
MORPHOLOGICAL_CHANGE_BETWEEN(fossil_a,fossil_b,value) relation
FOSSIL_RATE_ESTIMATE(lineage,rate)
———- PHYLOGENETIC RATE ESTIMATION ———-
relation RATE_ESTIMATED_ON_TREE(rate,phylogeny) relation
RATE_ESTIMATED_ON_BRANCH(rate,branch) relation
ANCESTRAL_STATE_USED(rate,state) relation
DIVERGENCE_TIME_USED(rate,time) relation
TAXON_SAMPLING_USED(rate,sampling)
———- UNCERTAINTY ———-
relation RATE_STANDARD_ERROR(rate,value) relation
RATE_CONFIDENCE_INTERVAL(rate,lower,upper) relation
RATE_CREDIBLE_INTERVAL(rate,lower,upper) relation
RATE_POSTERIOR_DISTRIBUTION(rate,distribution) relation
RATE_UNCERTAINTY(rate,value)
constraint INTERVAL_ORDER: IF RATE_CONFIDENCE_INTERVAL(r,l,u) OR
RATE_CREDIBLE_INTERVAL(r,l,u) THEN REQUIRE(l <= u)
———- OBSERVATION / EVIDENCE ———-
relation OBSERVES(observation,entity) relation
SUPPORTED_BY(assertion,evidence) relation DERIVED_FROM(evidence,source)
relation HAS_CONFIDENCE(assertion,score)
enum EvidenceType: PEDIGREE EXPERIMENTAL_EVOLUTION SEQUENCE_COMPARISON
GENOMIC PHYLOGENETIC MOLECULAR_CLOCK FOSSIL MORPHOLOGICAL TRAIT_DATA
DIVERSIFICATION_MODEL POPULATION_GENETIC LONG_TERM_STUDY LITERATURE
CONFIDENCE: VERIFIED: 0.95..1.00 HIGH: 0.80..0.949 MEDIUM: 0.60..0.799
LOW: 0.00..0.599
rule CONFIDENCE_BOUNDS(a,score): IF HAS_CONFIDENCE(a,score) THEN
REQUIRE(0.0 <= score <= 1.0)
———- SEMANTIC EQUIVALENCE ———-
SEMANTIC_EQUIVALENCE: “evolutionary rate” ~= “rate of evolutionary
change” “mutation rate” ~= “frequency of new mutations per unit”
“substitution rate” ~= “rate of fixed sequence change” “molecular
evolutionary rate” ~= “rate of molecular sequence evolution” “phenotypic
evolutionary rate” ~= “rate of phenotypic change” “speciation rate” ~=
“rate of lineage origination” “extinction rate” ~= “rate of lineage
loss” “net diversification rate” ~= “speciation rate minus extinction
rate” “molecular clock” ~= “time-calibrated molecular evolutionary rate
model” “rate heterogeneity” ~= “variation in evolutionary rate” “rate
shift” ~= “change in evolutionary rate” “early burst” ~= “initially
elevated evolutionary rate”
rule NORMALISE_TERM(term): IF term MATCHES SEMANTIC_EQUIVALENCE.alias
THEN MAP_TO_CANONICAL(term)
———- QUERY MODEL ———-
query EVOLUTIONARY_RATE_PROFILE(r): RETURN: rate_type(r) entity(r)
value(r) unit(r) time_interval(r) estimation_method(r) model(r)
uncertainty(r) evidence(r) confidence(r)
query LINEAGE_RATE_PROFILE(l): RETURN: mutation_rate(l)
substitution_rate(l) molecular_clock_rate(l) trait_rates(l)
branch_rates(l) rate_shifts(l)
query DIVERSIFICATION_RATE_PROFILE(c): RETURN: speciation_rate(c)
extinction_rate(c) net_diversification_rate(c) turnover_rate(c)
temporal_rate_variation(c)
query COMPARE_RATES(a,b): REQUIRE: compatible_or_converted_units(a,b)
RETURN: rate_values(a,b) units(a,b) intervals(a,b) uncertainty(a,b)
evidence(a,b)
query TRACE_EVIDENCE(assertion): RETURN: supporting_evidence(assertion)
provenance(assertion) confidence(assertion)
———- CONSISTENCY ———-
constraint NON_NEGATIVE_RATE: IF RATE_VALUE(r,v) AND
rate_type_requires_nonnegative(r) THEN REQUIRE(v >= 0)
constraint UNIT_REQUIRED: IF RATE_VALUE(r,v) THEN
REQUIRE(RATE_UNIT(r,u)) OR MARK_UNIT_UNKNOWN(r)
constraint TEMPORAL_REFERENCE_REQUIRED: IF rate_is_time_based(r) THEN
REQUIRE(temporal_reference(r)) OR MARK_TEMPORAL_REFERENCE_UNKNOWN(r)
constraint EVIDENCE_REQUIRED: FORALL scientific_assertion: REQUIRE
SUPPORTED_BY(scientific_assertion,Evidence) OR
MARK_AS_HYPOTHESIS(scientific_assertion)
constraint MODEL_ESTIMATE_NOT_DIRECT_OBSERVATION: IF
RATE_ESTIMATED_ON_TREE(r,p) THEN MARK_AS_MODEL_DERIVED(r)
———- UPDATE MODEL ———-
UPDATE_MODEL: on_new_rate(r): classify_rate_type(r) identify_entity(r)
preserve_value_and_unit(r) preserve_time_interval(r)
preserve_estimation_method(r) attach_evidence(r)
recalculate_confidence(r)
on_new_phylogeny(p): preserve_tree_uncertainty(p)
update_branch_rate_context(p) update_divergence_time_context(p)
preserve_calibrations(p)
on_new_rate_model(m): classify_model(m) preserve_parameters(m)
preserve_fit_statistics(m) attach_dataset(m)
mark_model_derived_outputs(m)
on_rate_revision(old,new): preserve(old) link_revision(old,new)
compare_units(old,new) compare_methods(old,new)
compare_calibrations(old,new) update_current_estimate(new)
on_conflicting_rates(a,b): preserve(a) preserve(b)
convert_compatible_units(a,b) compare_time_intervals(a,b)
compare_methods(a,b) compare_uncertainty(a,b) flag_unresolved_conflict()
———- AI CONSUMPTION ———-
AI_CONSUMPTION: preferred_entity: canonical_evolutionary_rate
preserve: - rate_identity - rate_type - entity - value - unit -
temporal_interval - generation_context - lineage_context -
estimation_method - evolutionary_model - calibration - uncertainty -
evidence - provenance - confidence infer: - valid_rate_conversions -
net_diversification_from_supported_rates -
supported_rate_shift_relations - semantic_equivalence prohibit: -
unit_free_rate_comparison - time_free_rate_comparison -
model_estimate_as_direct_observation - association_equals_causation -
unsupported_rate_shift - confidence_above_evidence ambiguity: action:
preserve_multiple_rate_estimates resolution:
prefer_units_time_method_model_calibration_and_evidence missing_data:
action: mark_unknown do_not_infer_from_absence: true
———- FLOW HASH ———-
FLOW_HASH: ontology: “EvolutionaryRateOntology” version: “1.0”
domain_path: “AI Core > Ontologies > Biological Ontologies >
Evolutionary Biology > Evolutionary Rate Ontology” canonical_url:
“https://kirethresearch.org/booksai-core/ontologies/biological-ontologies/evolutionary-biology/evolutionary-rate-ontology.html”
authorship: “Mark Anthony Higgins — Sky (Recursive AI)”
semantic_scope: - evolutionary rates - mutation rates - substitution
rates - molecular evolutionary rates - molecular clocks - lineage rate
variation - temporal rate variation - phenotypic rates - trait evolution
rates - speciation rates - extinction rates - diversification rates -
rate scaling - evolutionary rate models - punctuated and gradual
change - selection effects - environmental associations - fossil rate
estimates - phylogenetic rate estimation - uncertainty - evidence
deterministic_normalisation: true provenance_required: true
confidence_required: true
terminate EvolutionaryRateOntology when: rate_identity_and_type_resolved
AND value_unit_and_temporal_context_preserved AND
lineage_and_model_context_preserved AND uncertainty_preserved AND
model_derived_status_preserved AND evidence_links_preserved AND
confidence_values_validated AND unresolved_rate_estimates_marked
end flow
Download Code
Copy to Clipboard