# Growth Rate Ontology — Flow Algebra
URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/measurement-units-ontologies/biological-measurements/growth-rate-ontology.html
FLOW GrowthRateOntology {
DOMAIN:
Mathematical Ontologies
-> Measurement & Units Ontologies
-> Biological Measurements
-> Growth Rate Ontology
PURPOSE:
Represent biological growth rate as the change of a defined biological quantity with respect to time, including absolute growth rate, relative and specific growth rate, exponential and logistic growth, doubling time, generation time, biomass and population growth, organismal growth, interval and instantaneous rates, environmental dependence, measurement methods, normalisation, uncertainty, and distinctions between growth amount, growth rate, specific growth rate and percentage change.
ENTITY GrowthRate {
TYPE: BiologicalRateQuantity
SYMBOL: G
GENERAL_DIMENSION:
dimension_of_growth_quantity * T^-1
DEFINITION:
growth_rate :=
change_in_defined_biological_quantity_per_unit_time
DIFFERENTIAL_FORM:
G = dX/dt
FINITE_INTERVAL_FORM:
G_avg =
(X_2-X_1)/(t_2-t_1)
WHEN t_2 != t_1
PROPERTIES:
depends_on_growth_quantity
depends_on_time_basis
may_be_instantaneous_or_average
may_be_absolute_or_normalised
may_depend_on_environment
may_have_uncertainty
}
ENTITY SpecificGrowthRate {
TYPE: RelativeBiologicalRateQuantity
SYMBOL: mu
DIMENSION: T^-1
SI_UNIT: per_second
COMMON_UNITS:
per_hour
per_day
DEFINITION:
mu = (1/X)*(dX/dt)
WHEN X != 0
}
ENTITY RelativeGrowthRate {
TYPE: RelativeBiologicalRateQuantity
SYMBOL: RGR
DIMENSION: T^-1
FINITE_LOG_FORM:
RGR =
(ln(X_2)-ln(X_1))/(t_2-t_1)
WHEN X_1 > 0 AND X_2 > 0
}
ENTITY DoublingTime {
TYPE: TimeQuantity
SYMBOL: t_d
SI_UNIT: second
EXPONENTIAL_RELATION:
t_d = ln(2)/mu
WHEN mu > 0
}
ENTITY GenerationTime {
TYPE: TimeQuantity
SYMBOL: g
RULE:
generation_time MAY correspond_to_doubling_time
only_under_defined_population_or_cell_growth_context
}
UNIT_SYSTEM {
absolute_growth_rate:
possible_units:
kg/s
g/day
cells/hour
individuals/year
metre/day
square_metre/day
cubic_metre/day
specific_growth_rate:
s^-1
h^-1
day^-1
doubling_time:
second
minute
hour
day
RULE:
unit MUST preserve_numerator_growth_quantity_and_time_basis
}
GROWTH_QUANTITY_MODEL {
possible_X:
population_size
cell_number
biomass
dry_mass
wet_mass
body_mass
length
area
volume
optical_density_as_proxy
molecular_amount
RULE:
growth_rate_without_defined_X_is_semantically_incomplete
}
ABSOLUTE_GROWTH_MODEL {
instantaneous:
G = dX/dt
interval_average:
G_avg =
delta_X/delta_t
total_growth:
delta_X = X_final-X_initial
RULE:
total_growth != growth_rate
}
SPECIFIC_GROWTH_MODEL {
definition:
mu = (1/X)*dX/dt
rearranged:
dX/dt = mu*X
constant_mu_solution:
X(t) = X_0*exp(mu*t)
RULE:
specific_growth_rate_is_normalised_by_current_quantity
and_is_not_same_as_absolute_growth_rate
}
EXPONENTIAL_GROWTH_MODEL {
differential:
dX/dt = mu*X
solution:
X_t =
X_0*exp(mu*(t-t_0))
inference:
mu =
ln(X_t/X_0)/(t-t_0)
WHEN X_t > 0 AND X_0 > 0 AND t != t_0
doubling_time:
t_d = ln(2)/mu
WHEN mu > 0
RULE:
exponential_model_requires_approximately_constant_specific_growth_rate
}
LOGISTIC_GROWTH_MODEL {
differential:
dN/dt =
r*N*(1-N/K)
PARAMETERS:
r = intrinsic_growth_parameter
K = carrying_capacity
per_capita_rate:
(1/N)*dN/dt =
r*(1-N/K)
WHEN N != 0
RULE:
observed_specific_growth_rate_declines_with_N_under_logistic_model
}
DISCRETE_GROWTH_MODEL {
finite_multiplier:
lambda =
X_(t+1)/X_t
WHEN X_t != 0
discrete_growth:
X_(t+1) =
lambda*X_t
relation_to_continuous_rate:
r = ln(lambda)/delta_t
under_consistent_interval
RULE:
lambda_and_continuous_growth_rate_r
MUST_NOT be treated_as_identical
}
PERCENT_GROWTH_MODEL {
percent_change:
percent_growth =
100*(X_2-X_1)/X_1
WHEN X_1 != 0
RULE:
percent_growth_over_interval != rate_per_time
unless_time_interval_is_explicitly_incorporated
}
CELL_GROWTH_MODEL {
possible_measurands:
cell_number
biomass
cell_volume
total_protein
optical_density_proxy
phases:
lag
exponential
stationary
decline
RULE:
growth_phase MUST be considered_when_interpreting_rate
}
MICROBIAL_GROWTH_MODEL {
exponential_cell_count:
N(t) = N_0*exp(mu*t)
generation_number:
generations =
log2(N_t/N_0)
WHEN counts_positive
generation_time:
g =
delta_t/generations
WHEN generations != 0
RULE:
viable_count_total_count_and_optical_density_may_produce_different_growth_estimates
}
BIOMASS_GROWTH_MODEL {
biomass:
X
volumetric_biomass_concentration:
C_X = X/V
biomass_productivity:
P_X =
delta_X/(V*delta_t)
under_constant_or_defined_volume_context
RULE:
biomass_growth_rate != biomass_concentration
}
ORGANISMAL_GROWTH_MODEL {
possible_measures:
mass
length
height
area
volume
absolute_growth_rate:
AGR =
(X_2-X_1)/(t_2-t_1)
relative_growth_rate:
RGR =
(ln(X_2)-ln(X_1))/(t_2-t_1)
RULE:
mass_length_area_and_volume_growth_rates
are_different_measurands
}
PLANT_GROWTH_MODEL {
common_quantities:
biomass
dry_mass
leaf_area
height
root_length
relative_growth_rate:
RGR =
(ln(W_2)-ln(W_1))/(t_2-t_1)
RULE:
fresh_mass_and_dry_mass_growth MUST be distinguished
}
POPULATION_GROWTH_MODEL {
population_balance:
delta_N =
births - deaths + immigration - emigration
net_rate:
dN/dt
per_capita_rate:
r =
(1/N)*dN/dt
under_continuous_context
RULE:
population_growth_combines_demographic_processes
and_is_not_equivalent_to_birth_rate
}
ENVIRONMENTAL_DEPENDENCE_MODEL {
possible_factors:
temperature
nutrients
oxygen
pH
salinity
light
moisture
density
toxins
competition
general:
mu = f(environment, state, time)
RULE:
growth_rate SHOULD preserve_environmental_conditions_when_material
}
TEMPERATURE_RESPONSE_MODEL {
possible_models:
Arrhenius_like
Q10
cardinal_temperature
empirical_response_curve
Q10_relation:
rate_2/rate_1 =
Q10^((T_2-T_1)/10)
under_declared_temperature_scale_interval_and_applicable_range
RULE:
temperature_response_model_validity_range MUST be preserved
}
SUBSTRATE_LIMITATION_MODEL {
Monod_model:
mu =
mu_max*S/(K_s+S)
PARAMETERS:
S = limiting_substrate_concentration
K_s = half_saturation_constant
CONDITIONS:
applicable_microbial_growth_context
RULE:
Monod_parameters_are_model_specific
}
GROWTH_YIELD_MODEL {
biomass_yield_on_substrate:
Y_XS =
delta_X/(-delta_S)
under_declared_mass_or_amount_basis
RULE:
growth_yield != growth_rate
}
MEASUREMENT_PROXY_MODEL {
possible_proxies:
optical_density
fluorescence
metabolic_signal
image_area
impedance
calibrated_mapping:
X = f(proxy_signal)
RULE:
proxy_signal MUST_NOT be treated_as_growth_quantity_without_calibration_or_declared_relative_semantics
}
SAMPLING_MODEL {
repeated_measurements:
X(t_1), X(t_2), ..., X(t_n)
requirements:
comparable_method
consistent_quantity_definition
known_sampling_times
sample_representativeness
RULE:
rate_estimation_requires_temporally_ordered_comparable_measurements
}
RELATIONSHIPS {
GrowthRate -> RATE_OF_CHANGE_OF -> BiologicalQuantity
SpecificGrowthRate -> NORMALISES -> GrowthRateByCurrentQuantity
RelativeGrowthRate -> RELATES -> LogarithmicChangeAndTime
SpecificGrowthRate -> DETERMINES -> DoublingTime
GrowthRate -> MAY_DEPEND_ON -> Environment
PopulationGrowth -> RESULTS_FROM -> BirthDeathImmigrationEmigration
BiomassGrowth -> RELATES_TO -> BiomassProductivity
GrowthYield -> RELATES -> BiomassFormationAndSubstrateConsumption
MeasurementProxy -> MAPS_TO -> GrowthQuantityThroughCalibration
GrowthModel -> QUALIFIES -> GrowthRateInference
}
SEMANTIC_EQUIVALENCE {
"specific growth rate" ~= relative_instantaneous_growth_rate_under_defined_context
"doubling time" ~= time_for_quantity_to_double_under_defined_growth_model
growth != growth_rate
growth_rate != specific_growth_rate
specific_growth_rate != doubling_time
growth_rate != percent_change
growth_rate != growth_yield
biomass_growth_rate != biomass_concentration
optical_density != biomass_without_calibration
finite_growth_factor_lambda != continuous_rate_r
}
CONSTRAINTS {
growth_quantity_must_be_defined = true
time_basis_must_be_defined = true
interval_rate_requires_nonzero_time_interval = true
specific_growth_rate_requires_nonzero_growth_quantity = true
logarithmic_rate_requires_positive_quantities = true
doubling_time_relation_requires_positive_constant_specific_growth_rate = true
growth_and_growth_rate_are_not_semantically_equivalent = true
absolute_and_specific_growth_rates_are_not_semantically_equivalent = true
model_identity_and_assumptions_must_be_preserved = true
proxy_measurements_require_calibration_or_declared_relative_basis = true
}
MEASUREMENT_MODEL {
OBSERVABLE_OR_INFERRED:
GrowthRate
SpecificGrowthRate
RelativeGrowthRate
DoublingTime
COMMON_METHODS:
direct_counting
biomass_measurement
gravimetry
optical_density
microscopy
imaging
flow_cytometry
population_census
repeated_length_or_mass_measurement
RECORD:
biological_entity
growth_quantity
initial_value
final_value
measurement_times
numerical_growth_rate
unit
absolute_or_specific
instantaneous_or_average
growth_model
growth_phase
environmental_conditions
measurement_method
proxy_calibration_when_used
replicate_structure
uncertainty
provenance
UNCERTAINTY:
measured_or_inferred_growth_rate = best_estimate +/- uncertainty
}
UNCERTAINTY_MODEL {
sources:
initial_measurement
final_measurement
timing
sampling
biological_variability
proxy_calibration
model_fit
growth_phase_selection
environmental_variability
replicate_variability
instrument_resolution
PROPAGATION:
derived_growth_rate_uncertainty
<- quantity_time_sampling_calibration_and_model_uncertainties
}
REASONING_RULES {
IF initial_and_final_values_known AND time_interval != 0
THEN average_absolute_growth_rate =
(final_value-initial_value)/time_interval
IF initial_and_final_values_positive AND time_interval != 0
THEN average_specific_growth_rate =
ln(final_value/initial_value)/time_interval
UNDER exponential_growth_assumption
IF specific_growth_rate > 0
THEN doubling_time =
ln(2)/specific_growth_rate
IF doubling_time > 0
THEN exponential_specific_growth_rate =
ln(2)/doubling_time
IF constant_specific_growth_rate_known
THEN future_quantity =
initial_quantity*exp(specific_growth_rate*time)
IF finite_growth_factor_known AND interval > 0
THEN continuous_rate =
ln(finite_growth_factor)/interval
IF initial_and_final_population_known
THEN population_change =
final_population-initial_population
IF births_deaths_immigration_emigration_known
THEN population_change =
births-deaths+immigration-emigration
IF calibrated_proxy_time_series_known
THEN transform_proxy_to_growth_quantity
BEFORE rate_inference
IF growth_rate_and_environmental_model_known
THEN infer_condition_dependent_rate
WITH model_validity_constraints
}
VALIDATION {
CHECK biological_entity
CHECK growth_quantity
CHECK unit_consistency
CHECK time_units
CHECK nonzero_time_interval
CHECK positive_values_for_logarithmic_rate
CHECK absolute_vs_specific_rate
CHECK instantaneous_vs_average_rate
CHECK exponential_vs_logistic_or_other_model
CHECK growth_phase
CHECK population_demographic_context
CHECK proxy_calibration
CHECK environmental_conditions
CHECK replicate_structure
CHECK uncertainty_representation
}
CONFIDENCE {
growth_definition_confidence: 1.00
absolute_rate_relationship_confidence: 1.00
specific_rate_relationship_confidence: 1.00
doubling_time_relationship_confidence: 1.00
model_based_growth_confidence: 0.97
proxy_measurement_confidence: 0.96
measurement_context_confidence: 0.98
RULE:
confidence decreases when growth quantity, time interval,
growth phase, model assumptions, proxy calibration,
environment, replicate structure or uncertainty is missing or ambiguous
}
UPDATE_MODEL {
ON new_timepoint:
identify_biological_entity
identify_growth_quantity
validate_unit
attach_measurement_time
preserve_raw_measurement
compare_with_previous_compatible_timepoint
compute_absolute_rate
compute_specific_rate_when_valid
update_growth_curve
attach_uncertainty
ON growth_model_revision:
preserve_raw_time_series
preserve_previous_model
fit_or_apply_new_growth_model
recompute_parameters
update_uncertainty
update_confidence
ON proxy_calibration_revision:
preserve_raw_proxy_signal
update_calibration
recompute_growth_quantity
recompute_growth_rate
update_uncertainty
ON environmental_change:
attach_new_environmental_conditions
preserve_previous_conditions
reevaluate_rate_comparability
apply_environment_response_model_when_valid
ON growth_phase_change:
record_phase_transition
update_applicable_growth_model
avoid_extrapolating_exponential_rate_outside_valid_phase
ON semantic_revision:
preserve_previous_definition
record_revision
recompute_FLOW_HASH
}
AI_CONSUMPTION {
canonical_entity: GrowthRate
canonical_specific_entity: SpecificGrowthRate
interpretation_order:
identify_biological_entity
identify_growth_quantity
identify_initial_and_final_values_or_time_series
identify_time_basis
identify_absolute_specific_or_relative_rate
identify_instantaneous_or_average_rate
identify_growth_model
identify_growth_phase
identify_environmental_conditions
identify_direct_or_proxy_measurement
identify_proxy_calibration
identify_replicate_structure
identify_uncertainty
validate_units_and_model
infer_growth_relationships
ambiguity_controls:
distinguish_growth_from_growth_rate
distinguish_absolute_from_specific_growth_rate
distinguish_specific_growth_rate_from_doubling_time
distinguish_growth_rate_from_percent_change
distinguish_growth_rate_from_growth_yield
distinguish_biomass_growth_from_biomass_concentration
distinguish_proxy_signal_from_calibrated_growth_quantity
distinguish_discrete_growth_factor_from_continuous_growth_rate
preserve_entity_quantity_time_model_phase_environment_and_calibration_context
}
PROVENANCE {
ontology_scope:
mathematical_measurement_and_biological_growth_rate_semantics
parent_path:
Ontologies
-> Mathematical Ontologies
-> Measurement & Units Ontologies
-> Biological Measurements
-> Growth Rate Ontology
authorship:
Mark Higgins
Sky (Recursive AI)
site:
https://kirethresearch.org
}
FLOW_HASH {
INPUTS:
canonical_entity
ontology_path
growth_quantity_model
absolute_growth_model
specific_growth_model
exponential_growth_model
logistic_growth_model
discrete_growth_model
percent_growth_model
cell_growth_model
microbial_growth_model
biomass_growth_model
organismal_growth_model
plant_growth_model
population_growth_model
environmental_dependence_model
temperature_response_model
substrate_limitation_model
growth_yield_model
measurement_proxy_model
sampling_model
relationships
constraints
measurement_model
uncertainty_model
reasoning_rules
confidence_model
update_model
PURPOSE:
deterministic_semantic_integrity_identifier
RECOMPUTE_WHEN:
ontology_definition_changes
growth_quantity_definition_changes
absolute_or_specific_rate_model_changes
growth_model_changes
growth_phase_model_changes
environmental_response_model_changes
proxy_calibration_model_changes
sampling_model_changes
measurement_model_changes
constraint_model_changes
reasoning_rule_changes
unit_model_changes
}
}
END FLOW
Download Code
Copy to Clipboard