Biological Measurements
Authors:
MArk Anthony Higgins - Sky Recursive Ai
MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: July 6th 2026
Revised Date: July 6th 2026
# Biological Measurements Ontology — Flow Algebra
URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/measurement-units-ontologies/biological-measurements.html
FLOW BiologicalMeasurementsOntology {
DOMAIN:
Mathematical Ontologies
-> Measurement & Units Ontologies
-> Biological Measurements Ontology
PURPOSE:
Represent biological measurements across organisms, cells, tissues, populations, biomolecules and biological processes, including counts, concentrations, dimensions, biomass, growth, rates, viability, abundance, physiological quantities, assay responses, normalisation, sampling, calibration, uncertainty, reference conditions and provenance.
SCOPE {
organism_measurements
cellular_measurements
tissue_measurements
biomolecular_measurements
population_measurements
physiological_measurements
growth_and_development
abundance_and_density
viability_and_survival
biological_rates
assay_measurements
microscopy
sequencing_and_omics
sampling
normalisation
calibration
uncertainty_and_traceability
}
ENTITY BiologicalMeasurement {
TYPE: MeasurementResult
COMPONENTS:
measurand
biological_entity
numerical_value
unit
method
sample
time
location
environment
uncertainty
provenance
}
ENTITY Count {
TYPE: DiscreteQuantity
SYMBOL: N
DIMENSION: dimensionless
EXAMPLES:
cell_count
organism_count
colony_count
sequence_read_count
event_count
}
ENTITY NumberDensity {
TYPE: CountPerVolumeQuantity
SYMBOL: rho_N
COMMON_UNITS:
cells/mL
organisms/L
CFU/mL
FORM:
rho_N = N/V
WHEN V != 0
}
ENTITY Biomass {
TYPE: BiologicalMassQuantity
SYMBOL: m_bio
SI_UNIT: kilogram
FORMS:
wet_mass
dry_mass
ash_free_dry_mass
}
UNIT_SYSTEM {
canonical_system: SI_where_applicable
common_units:
metre
millimetre
micrometre
nanometre
kilogram
gram
milligram
mole
mol/L
g/L
cells/mL
CFU/mL
copies/mL
percent
dimensionless_fraction
RULE:
unit MUST be interpreted_with_quantity_basis_and_entity_definition
}
COUNT_MODEL {
count:
N = number_of_defined_entities_or_events
REQUIRE:
entity_definition
inclusion_criteria
detection_method
RULE:
count_without_entity_definition_is_semantically_incomplete
}
DENSITY_MODEL {
volume_density:
rho_N = N/V
areal_density:
sigma_N = N/A
linear_density:
lambda_N = N/L
RULE:
volume_area_or_length_basis MUST be preserved
}
BIOMASS_MODEL {
biomass_concentration:
C_bio = m_bio/V
RULE:
wet_mass_and_dry_mass MUST_NOT be treated_as_equivalent
}
VIABILITY_MODEL {
viable_fraction:
f_viable = N_viable/N_total
WHEN N_total != 0
percent_viability:
100*f_viable
REQUIRE:
viability_definition
assay_method
classification_threshold
RULE:
viability_is_assay_and_definition_dependent
}
GROWTH_MODEL {
absolute_growth:
delta_X = X_2-X_1
growth_rate:
dX/dt
specific_growth_rate:
mu = (1/X)*dX/dt
exponential_growth:
X(t) = X_0*exp(mu*t)
doubling_time:
t_d = ln(2)/mu
WHEN mu > 0
RULE:
growth_growth_rate_and_specific_growth_rate MUST be distinguished
}
POPULATION_MODEL {
exponential:
N(t) = N_0*exp(r*t)
logistic:
dN/dt = r*N*(1-N/K)
PARAMETERS:
r = intrinsic_growth_rate
K = carrying_capacity
RULE:
population_model_identity_and_assumptions MUST be preserved
}
SURVIVAL_MODEL {
survival_function:
S(t) = P(T_event > t)
hazard:
h(t) = -d(ln(S(t)))/dt
RULE:
survival_probability != hazard_rate
}
RATE_MODEL {
generic:
rate = change_in_quantity/change_in_time
examples:
heart_rate
respiration_rate
enzyme_rate
division_rate
migration_rate
uptake_rate
production_rate
RULE:
numerator_quantity_and_time_basis MUST be explicit
}
ENZYME_ACTIVITY_MODEL {
reaction_rate:
v = d(product_amount)/dt
specific_activity:
enzyme_activity/protein_mass
Michaelis_Menten:
v = V_max*[S]/(K_m+[S])
RULE:
assay_conditions_and_activity_units MUST be preserved
}
ASSAY_RESPONSE_MODEL {
raw_response:
detector_signal
calibrated_quantity:
biological_quantity = f(response)
assays:
absorbance
fluorescence
luminescence
colorimetry
immunoassay
enzymatic_assay
reporter_assay
RULE:
raw_signal MUST_NOT be treated_as_biological_quantity_without_valid_mapping
}
NORMALISATION_MODEL {
denominators:
sample_mass
tissue_mass
cell_count
total_protein
DNA_amount
RNA_amount
housekeeping_signal
exposure_time
area
volume
FORM:
Q_norm = Q_raw/Q_reference
WHEN Q_reference != 0
RULE:
normalisation_denominator MUST be preserved
}
FOLD_CHANGE_MODEL {
fold_change:
FC = Q_condition/Q_reference
WHEN Q_reference != 0
log2_fold_change:
log2FC = log2(Q_condition/Q_reference)
WHEN both_positive
percent_change:
100*(Q_condition-Q_reference)/Q_reference
RULE:
fold_change_percent_change_and_percentage_points_are_distinct
}
MICROSCOPY_MODEL {
measurements:
length
area
volume
fluorescence_intensity
object_count
morphology
REQUIRE:
pixel_size
magnification
optical_resolution
segmentation_method
threshold
region_of_interest
RULE:
pixel_measurements MUST be spatially_calibrated_before_physical_dimension_inference
}
FLOW_CYTOMETRY_MODEL {
measurements:
event_count
forward_scatter
side_scatter
fluorescence
population_fraction
REQUIRE:
gating_strategy
compensation
detector_settings
controls
RULE:
population_fraction depends_on_declared_gating_definition
}
MOLECULAR_MEASUREMENT_MODEL {
targets:
DNA
RNA
protein
metabolite
reporting_bases:
amount
mass
concentration
copy_number
relative_abundance
normalised_expression
RULE:
molecular_measurement_basis MUST be explicit
}
PCR_MODEL {
amplification:
N_cycle = N_0*(1+E)^cycle
ideal_efficiency:
E = 1
RULE:
Ct_or_Cq != concentration_without_calibration_or_relative_quantification_model
}
SEQUENCING_MODEL {
raw_read_count:
assigned_sequence_count
relative_abundance:
reads_feature/total_eligible_reads
normalisation:
library_size
feature_length
model_based
RULE:
raw_counts_relative_abundance_and_normalised_expression_are_distinct
}
ECOLOGICAL_MODEL {
absolute_abundance:
number_of_individuals
relative_abundance:
N_i/sum(N_j)
density:
N_i/area_or_volume
occupancy:
detected_sample_units/total_sample_units
RULE:
abundance_density_and_occupancy_are_distinct
}
BIODIVERSITY_MODEL {
richness:
number_of_observed_taxa
Shannon_index:
H = -sum(p_i*ln(p_i))
Simpson_family:
requires_declared_formula
RULE:
diversity_index_definition MUST be declared
}
SAMPLING_MODEL {
designs:
random
stratified
systematic
transect
quadrat
time_series
replicate
REQUIRE:
sampling_frame
sample_size
location
time
inclusion_criteria
RULE:
sample_result MUST_NOT automatically_be_generalised_to_population_without_sampling_model
}
REPLICATE_MODEL {
technical_replicate:
repeated_measurement_of_same_sample
biological_replicate:
independently_sampled_biological_unit
RULE:
technical_and_biological_replicates MUST be distinguished
}
CALIBRATION_MODEL {
examples:
microscope_scale
flow_cytometer_beads
assay_standard_curve
qPCR_standard_curve
spectrophotometer
balance
generic:
biological_quantity = f(instrument_response)
REQUIRE:
reference_standard
valid_range
calibration_date
uncertainty
RULE:
calibration_model MUST match_method_and_quantity
}
RELATIONSHIPS {
BiologicalMeasurement -> MEASURES -> BiologicalEntityOrProcess
Count -> COUNTS -> DefinedBiologicalEntities
NumberDensity -> RELATES -> CountAndVolume
Biomass -> MEASURES -> BiologicalMass
Viability -> RELATES -> ViableAndTotalCounts
GrowthRate -> RELATES -> BiologicalChangeAndTime
SpecificGrowthRate -> NORMALISES -> GrowthRateByCurrentQuantity
AssayCalibration -> MAPS -> DetectorSignalToBiologicalQuantity
SamplingDesign -> QUALIFIES -> PopulationInference
Normalisation -> MAPS -> RawToNormalisedQuantity
MeasurementUncertainty -> QUALIFIES -> BiologicalMeasurement
}
SEMANTIC_EQUIVALENCE {
"cell density" ~= cell_number_per_volume WHEN declared_basis
"relative abundance" ~= component_fraction WHEN declared_count_basis
count != concentration
count != density
biomass != cell_count
viability != survival_probability
growth != growth_rate
growth_rate != specific_growth_rate
raw_assay_signal != calibrated_quantity
technical_replicate != biological_replicate
relative_abundance != absolute_abundance
fold_change != percent_change
}
CONSTRAINTS {
biological_entity_must_be_defined = true
quantity_basis_must_be_defined = true
unit_must_match_quantity = true
sampling_context_should_be_preserved = true
temporal_context_should_be_preserved = true
spatial_context_should_be_preserved_when_relevant = true
normalisation_denominator_must_be_defined = true
assay_signal_requires_calibration_or_declared_relative_semantics = true
technical_and_biological_replicates_must_be_distinguished = true
uncertainty_should_include_sampling_and_measurement_components_when_relevant = true
}
MEASUREMENT_MODEL {
methods:
microscopy
flow_cytometry
spectrophotometry
fluorimetry
luminescence
cell_counting
culture_based_counting
gravimetry
PCR
sequencing
immunoassay
chromatography
physiological_monitoring
ecological_sampling
RECORD:
measurand
biological_entity
entity_definition
numerical_value
unit
quantity_basis
sample_identifier
sample_type
sample_matrix
spatial_location
timestamp
environmental_conditions
developmental_or_life_stage
measurement_method
instrument
assay_protocol
calibration_model
normalisation_method
technical_replicates
biological_replicates
detection_limit
uncertainty
provenance
UNCERTAINTY:
biological_measurement = best_estimate +/- uncertainty
}
UNCERTAINTY_MODEL {
sources:
sampling_variability
biological_variability
sample_preparation
instrument_calibration
counting_statistics
segmentation
gating
assay_response
standard_curve
normalisation
environmental_variability
operator_effect
temporal_variability
model_assumptions
PROPAGATION:
combined_biological_uncertainty
<- sampling_biological_measurement_calibration_and_model_uncertainties
}
REASONING_RULES {
IF count_known AND sample_volume != 0
THEN number_density = count/sample_volume
IF viable_count_and_total_count_known AND total_count != 0
THEN viable_fraction = viable_count/total_count
IF initial_and_final_quantity_known
THEN absolute_change = final_quantity-initial_quantity
IF quantity_change_known AND time_interval != 0
THEN average_rate = quantity_change/time_interval
IF exponential_growth_rate > 0
THEN doubling_time = ln(2)/growth_rate
IF raw_quantity_and_reference_known AND reference != 0
THEN normalised_quantity = raw_quantity/reference
IF condition_and_reference_quantities_known AND reference != 0
THEN fold_change = condition/reference
IF condition_and_reference_quantities_positive
THEN log2_fold_change = log2(condition/reference)
IF calibrated_assay_response_known
THEN infer_biological_quantity = inverse_calibration(response)
IF feature_reads_and_total_eligible_reads_known AND total_reads != 0
THEN relative_abundance = feature_reads/total_reads
}
VALIDATION {
CHECK biological_entity_identity
CHECK measurand_definition
CHECK unit_consistency
CHECK quantity_basis
CHECK sample_identity
CHECK sampling_design
CHECK spatial_and_temporal_context
CHECK count_vs_density
CHECK viability_definition
CHECK growth_vs_rate
CHECK normalisation_denominator
CHECK raw_vs_calibrated_signal
CHECK technical_vs_biological_replicates
CHECK microscopy_scale_and_segmentation
CHECK flow_cytometry_gating_and_compensation
CHECK sequencing_normalisation
CHECK calibration_range
CHECK uncertainty_representation
}
CONFIDENCE {
quantity_definition_confidence: 1.00
unit_confidence: 1.00
biological_entity_confidence: 0.99
calibration_relationship_confidence: 0.98
sampling_context_confidence: 0.97
measurement_context_confidence: 0.97
RULE:
confidence decreases when entity definition, sample,
measurement basis, sampling design, normalisation,
calibration, replicate structure or uncertainty is missing or ambiguous
}
UPDATE_MODEL {
ON new_measurement:
identify_measurand
identify_biological_entity
identify_quantity_basis
validate_unit
attach_sample_identity
attach_spatial_and_temporal_context
attach_environmental_conditions
identify_measurement_method
apply_calibration_when_required
preserve_raw_signal_or_count
apply_declared_normalisation
attach_replicate_structure
attach_uncertainty
update_biological_measurement_state
ON sample_update:
preserve_sample_provenance
update_sample_type_matrix_or_stage
update_preparation_history
reevaluate_comparability
ON calibration_revision:
preserve_previous_calibration
recompute_affected_results
update_uncertainty
update_confidence
ON normalisation_revision:
preserve_raw_quantity
update_reference_quantity
recompute_normalised_results
preserve_previous_normalisation
ON semantic_revision:
preserve_previous_definition
record_revision
recompute_FLOW_HASH
}
AI_CONSUMPTION {
canonical_domain: BiologicalMeasurements
interpretation_order:
identify_measurand
identify_biological_entity
identify_value
identify_unit
identify_quantity_basis
identify_sample
identify_spatial_temporal_and_environmental_context
identify_measurement_method
identify_raw_or_calibrated_status
identify_normalisation
identify_technical_and_biological_replicates
identify_sampling_design
identify_uncertainty
normalize_units
validate_semantics
infer_biological_relationships
ambiguity_controls:
distinguish_count_from_density
distinguish_biomass_from_cell_count
distinguish_viability_from_survival_probability
distinguish_growth_from_growth_rate
distinguish_growth_rate_from_specific_growth_rate
distinguish_raw_assay_signal_from_calibrated_quantity
distinguish_technical_from_biological_replicates
distinguish_absolute_from_relative_abundance
distinguish_fold_change_from_percent_change
preserve_entity_sample_method_normalisation_sampling_and_provenance_context
}
PROVENANCE {
ontology_scope:
mathematical_measurement_and_biological_quantity_semantics
parent_path:
Ontologies
-> Mathematical Ontologies
-> Measurement & Units Ontologies
-> Biological Measurements Ontology
authorship:
Mark Higgins
Sky (Recursive AI)
site:
https://kirethresearch.org
}
FLOW_HASH {
INPUTS:
canonical_domain
ontology_path
scope
count_model
density_model
biomass_model
viability_model
growth_model
population_model
survival_model
rate_model
enzyme_activity_model
assay_response_model
normalisation_model
fold_change_model
microscopy_model
flow_cytometry_model
molecular_measurement_model
PCR_model
sequencing_model
ecological_model
biodiversity_model
sampling_model
replicate_model
calibration_model
relationships
constraints
measurement_model
uncertainty_model
reasoning_rules
confidence_model
update_model
PURPOSE:
deterministic_semantic_integrity_identifier
RECOMPUTE_WHEN:
ontology_definition_changes
biological_quantity_model_changes
entity_definition_changes
sampling_model_changes
assay_model_changes
normalisation_model_changes
calibration_model_changes
measurement_model_changes
constraint_model_changes
reasoning_rule_changes
unit_model_changes
}
}
END FLOW