Skip to main content

Biological Concentration Ontology

Biological Measurements
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 16 September 2026
Audio Overview
# Biological Concentration Ontology — Flow Algebra

URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/measurement-units-ontologies/biological-measurements/biological-concentration-ontology.html

FLOW BiologicalConcentrationOntology {

  DOMAIN:
    Mathematical Ontologies
    -> Measurement & Units Ontologies
    -> Biological Measurements
    -> Biological Concentration Ontology

  PURPOSE:
    Represent biological concentration as a family of measurements describing the amount, mass, number, activity or assay-defined quantity of a specified biological entity or substance relative to a defined volume, mass, area or other reference quantity, including molecular concentrations, cell concentrations, biomass concentrations, copy-number concentrations, activity concentrations, specimen and matrix context, dilution, normalisation, calibration, uncertainty, provenance, and strict distinction between concentration, fraction, count, density, activity and raw assay response.

  ENTITY BiologicalConcentration {
    TYPE: BiologicalCompositionOrDensityQuantity

    DEFINITION:
      biological_concentration :=
        defined_biological_quantity /
        defined_reference_quantity

    PROPERTIES:
      has_numerator_quantity
      has_denominator_quantity
      has_biological_entity
      has_sample_or_specimen
      may_have_unit
      may_depend_on_temperature
      may_depend_on_matrix
      may_require_calibration
      may_have_uncertainty
  }

  ENTITY AmountConcentration {
    TYPE: BiologicalChemicalConcentrationQuantity
    SYMBOL: c
    SI_UNIT: mole_per_cubic_metre
    SI_SYMBOL: mol/m^3

    FORM:
      c = n/V
      WHEN V != 0
  }

  ENTITY MassConcentration {
    TYPE: BiologicalMassPerVolumeQuantity
    SYMBOL: rho_component
    SI_UNIT: kilogram_per_cubic_metre
    SI_SYMBOL: kg/m^3

    FORM:
      rho_component = m_component/V
      WHEN V != 0
  }

  ENTITY NumberConcentration {
    TYPE: BiologicalCountPerVolumeQuantity
    SYMBOL: C_N

    COMMON_UNITS:
      cells/mL
      organisms/L
      particles/mL
      copies/mL

    FORM:
      C_N = N/V
      WHEN V != 0
  }

  ENTITY BiomassConcentration {
    TYPE: BiologicalMassPerVolumeQuantity
    SYMBOL: X

    COMMON_UNITS:
      g/L
      mg/mL
      dry_mass_per_volume
      wet_mass_per_volume
  }

  ENTITY ActivityConcentration {
    TYPE: BiologicalActivityPerVolumeQuantity

    FORM:
      activity_concentration =
        measured_activity/volume

    RULE:
      activity_definition_and_assay_conditions MUST be preserved
  }

  UNIT_SYSTEM {
    amount_concentration:
      mol/m^3
      mol/L
      mmol/L
      micromol/L

    mass_concentration:
      kg/m^3
      g/L
      mg/L
      microgram/mL
      ng/mL

    number_concentration:
      cells/mL
      copies/mL
      organisms/L
      particles/mL

    biomass_concentration:
      g/L
      mg/mL

    activity_concentration:
      assay_defined_activity_unit_per_volume

    RULE:
      unit MUST preserve_numerator_quantity_and_denominator_basis
  }

  TERMINOLOGY_MODEL {
    phrase:
      "biological concentration"

    possible_meanings:
      amount_concentration
      mass_concentration
      number_concentration
      cell_concentration
      biomass_concentration
      copy_number_concentration
      activity_concentration
      assay_calibrated_concentration

    RULE:
      concentration_basis MUST be resolved_before_quantitative_reasoning
  }

  ENTITY_IDENTITY_MODEL {
    possible_entities:
      cell_type
      microorganism
      virus_particle
      DNA_sequence
      RNA_transcript
      protein
      peptide
      metabolite
      hormone
      antibody
      enzyme
      biomarker

    RULE:
      biological_concentration_without_entity_identity
      is_semantically_incomplete
  }

  REFERENCE_BASIS_MODEL {
    possible_denominators:
      solution_volume
      specimen_volume
      tissue_mass
      sample_mass
      surface_area
      total_cell_count
      total_protein
      other_declared_reference_quantity

    RULE:
      denominator_basis MUST be explicit
  }

  AMOUNT_CONCENTRATION_MODEL {
    c_i = n_i/V

    amount:
      n_i = c_i*V

    REQUIRE:
      V != 0
      molecular_or_chemical_entity_identity

    RULE:
      amount_concentration_requires_amount_of_substance_basis
  }

  MASS_CONCENTRATION_MODEL {
    rho_i = m_i/V

    mass:
      m_i = rho_i*V

    REQUIRE:
      V != 0

    RULE:
      mass_concentration != mass_fraction
  }

  NUMBER_CONCENTRATION_MODEL {
    C_N = N/V

    total_count:
      N = C_N*V

    REQUIRE:
      count_definition
      V != 0

    RULE:
      count_and_number_concentration MUST be distinguished
  }

  CELL_CONCENTRATION_MODEL {
    C_cells =
      N_cells/V_sample

    common_unit:
      cells/mL

    possible_methods:
      haemocytometer
      automated_cell_counter
      flow_cytometry
      microscopy
      impedance_counter

    RULE:
      cell_identity_and_counting_method MUST be preserved
  }

  COPY_NUMBER_MODEL {
    copy_concentration:
      C_copy =
        N_copies/V

    possible_entities:
      DNA_copies
      RNA_copies
      viral_genome_copies

    RULE:
      copy_number != viable_organism_or_infectious_particle_count
  }

  BIOMASS_CONCENTRATION_MODEL {
    X =
      biomass_mass/V

    possible_mass_basis:
      wet_mass
      dry_mass
      ash_free_dry_mass

    RULE:
      biomass_mass_basis MUST be preserved
  }

  PROTEIN_CONCENTRATION_MODEL {
    possible_basis:
      mass_per_volume
      amount_per_volume

    common_methods:
      absorbance
      Bradford_assay
      BCA_assay
      Lowry_assay
      amino_acid_analysis

    RULE:
      assay_specific_response_and_protein_standard MUST be preserved
  }

  NUCLEIC_ACID_CONCENTRATION_MODEL {
    possible_entities:
      DNA
      RNA
      oligonucleotide

    possible_units:
      ng/microlitre
      microgram/mL
      mol/L

    measurement_methods:
      UV_absorbance
      fluorescence
      qPCR_or_dPCR_inference

    RULE:
      mass_concentration_and_molar_concentration_require_molecular_length_or_molar_mass_for_conversion
  }

  ACTIVITY_CONCENTRATION_MODEL {
    examples:
      enzyme_activity_per_volume
      biological_activity_per_volume

    REQUIRE:
      activity_definition
      substrate_or_assay
      temperature
      pH
      reaction_time_when_relevant

    RULE:
      activity_concentration != amount_or_mass_concentration
  }

  SPECIMEN_MODEL {
    possible_specimens:
      blood
      plasma
      serum
      urine
      saliva
      cerebrospinal_fluid
      tissue_extract
      cell_culture_medium
      microbial_culture
      environmental_biological_sample

    attributes:
      collection_time
      processing
      storage
      anticoagulant
      preservation
      freeze_thaw_history

    RULE:
      specimen_type_and_preanalytical_history MAY affect_measured_concentration
  }

  DILUTION_MODEL {
    conserved_analyte:
      C_1*V_1 =
        C_2*V_2
      under_compatible_volume_concentration_basis

    dilution_factor:
      DF =
        V_final/V_aliquot
      under_declared_definition

    original_concentration:
      C_original =
        C_measured*DF

    RULE:
      dilution_factor_direction_and_concentration_basis MUST be preserved
  }

  SERIAL_DILUTION_MODEL {
    total_factor:
      DF_total =
        product(DF_i)

    final:
      C_final =
        C_initial/DF_total

    original:
      C_initial =
        C_final*DF_total

    RULE:
      each_stage_definition_and_volume SHOULD be preserved
  }

  NORMALISATION_MODEL {
    concentration_like_normalisation:
      Q_norm =
        Q/reference_quantity

    possible_reference:
      tissue_mass
      total_protein
      cell_count
      DNA_amount
      sample_area

    RULE:
      normalised_biological_quantity MUST_NOT automatically_be_labelled_concentration_without_defined_denominator_semantics
  }

  FRACTION_DISTINCTION_MODEL {
    fraction:
      Q_component/Q_total

    concentration:
      Q_component/reference_volume_or_other_basis

    RULE:
      fraction_and_concentration_are_not_semantically_equivalent
  }

  DENSITY_DISTINCTION_MODEL {
    mass_density:
      total_mass/volume

    biological_component_concentration:
      component_quantity/volume

    RULE:
      solution_or_sample_density != component_concentration
  }

  ASSAY_CALIBRATION_MODEL {
    raw_response:
      y

    calibration:
      y = f(C)

    linear:
      y = a+b*C

    inverse:
      C = (y-a)/b
      WHEN b != 0

    REQUIRE:
      standards
      matrix
      valid_range
      blank
      calibration_model
      uncertainty

    RULE:
      raw_assay_response != concentration
  }

  STANDARD_CURVE_MODEL {
    possible_methods:
      immunoassay
      fluorescence_assay
      colorimetric_assay
      qPCR
      chromatography
      mass_spectrometry

    possible_models:
      linear
      polynomial
      logistic
      four_parameter_logistic
      five_parameter_logistic

    RULE:
      inverse_prediction MUST use_valid_curve_model_and_range
  }

  PCR_CONCENTRATION_MODEL {
    qPCR:
      threshold_cycle_or_Cq -> concentration_or_copy_number
      through_standard_curve_or_relative_model

    digital_PCR:
      partition_positive_fraction -> target_concentration
      through_partition_and_Poisson_model

    RULE:
      Cq_value != concentration_without_quantification_model
  }

  FLOW_CYTOMETRY_CONCENTRATION_MODEL {
    volumetric:
      cell_concentration =
        counted_cells/acquired_volume

    bead_based:
      concentration inferred_from
        cell_events
        bead_events
        known_bead_concentration

    RULE:
      flow_event_count != cell_concentration_without_volume_or_reference_basis
  }

  DETECTION_LIMIT_MODEL {
    quantities:
      limit_of_blank
      limit_of_detection
      limit_of_quantification

    RULE:
      concentration_below_LOQ MAY be_detected_but_not_quantified_with_declared_precision
  }

  TEMPERATURE_MODEL {
    volume_based_concentration:
      may_change_with_temperature_due_to_volume_change

    RULE:
      precision_volume_based_concentration SHOULD preserve_reference_temperature
  }

  RELATIONSHIPS {
    BiologicalConcentration -> RELATES -> BiologicalQuantityAndReferenceBasis
    AmountConcentration -> RELATES -> AmountAndVolume
    MassConcentration -> RELATES -> MassAndVolume
    NumberConcentration -> RELATES -> CountAndVolume
    CellConcentration -> RELATES -> CellCountAndSampleVolume
    BiomassConcentration -> RELATES -> BiomassAndVolume
    CopyNumberConcentration -> RELATES -> CopyCountAndVolume
    ActivityConcentration -> RELATES -> BiologicalActivityAndVolume
    Dilution -> CHANGES -> Concentration
    CalibrationModel -> MAPS -> AssayResponseToConcentration
    SpecimenContext -> QUALIFIES -> BiologicalConcentration
    MeasurementUncertainty -> QUALIFIES -> ConcentrationResult
  }

  SEMANTIC_EQUIVALENCE {
    "cell concentration" ~= cell_number_per_volume
    "biomass concentration" ~= biomass_mass_per_volume WHEN mass_basis_declared
    "copy concentration" ~= copy_number_per_volume

    biological_concentration != biological_count
    concentration != fraction
    concentration != total_amount
    mass_concentration != mass_fraction
    number_concentration != raw_event_count
    activity_concentration != mass_concentration
    raw_assay_response != concentration
    sample_density != component_concentration
  }

  CONSTRAINTS {
    biological_entity_must_be_defined = true
    concentration_basis_must_be_defined = true
    denominator_must_be_nonzero = true
    unit_must_match_numerator_and_denominator = true
    specimen_context_should_be_preserved = true
    count_and_number_concentration_are_not_semantically_equivalent = true
    concentration_and_fraction_are_not_semantically_equivalent = true
    raw_assay_signal_requires_calibration_for_absolute_concentration = true
    dilution_factor_definition_must_be_preserved = true
    uncertainty_should_include_sampling_preparation_and_calibration_when_relevant = true
  }

  MEASUREMENT_MODEL {
    OBSERVABLE_OR_INFERRED:
      BiologicalConcentration

    COMMON_METHODS:
      gravimetric_preparation
      volumetric_preparation
      cell_counting
      flow_cytometry
      microscopy
      spectrophotometry
      fluorimetry
      immunoassay
      chromatography
      mass_spectrometry
      qPCR
      digital_PCR
      enzymatic_assay

    RECORD:
      biological_entity
      analyte_or_cell_type
      numerical_value
      unit
      concentration_basis
      numerator_quantity
      denominator_quantity
      sample_or_specimen
      sample_volume_or_mass
      collection_time
      preparation_history
      dilution_factor
      temperature
      measurement_method
      instrument
      raw_response
      calibration_model
      calibration_range
      normalisation_when_used
      detection_limit
      quantification_limit
      uncertainty
      provenance

    UNCERTAINTY:
      biological_concentration_measurement =
        best_estimate +/- uncertainty
  }

  UNCERTAINTY_MODEL {
    sources:
      sampling
      sample_heterogeneity
      numerator_measurement
      volume_or_mass_denominator
      pipetting
      dilution
      recovery
      preanalytical_handling
      calibration
      blank
      matrix_effect
      counting_statistics
      assay_repeatability
      instrument_drift
      temperature
      model_assumptions

    PROPAGATION:
      derived_biological_concentration_uncertainty
      <- sampling_preparation_denominator_calibration_and_measurement_uncertainties
  }

  REASONING_RULES {
    IF biological_amount_known AND sample_volume != 0
      THEN amount_concentration =
        biological_amount/sample_volume

    IF component_mass_known AND sample_volume != 0
      THEN mass_concentration =
        component_mass/sample_volume

    IF biological_count_known AND sample_volume != 0
      THEN number_concentration =
        biological_count/sample_volume

    IF biomass_mass_known AND culture_volume != 0
      THEN biomass_concentration =
        biomass_mass/culture_volume

    IF concentration_known AND compatible_volume_known
      THEN total_quantity =
        concentration*volume

    IF measured_concentration_and_dilution_factor_known
      THEN original_concentration =
        measured_concentration*dilution_factor

    IF serial_dilution_factors_known
      THEN total_dilution_factor =
        product(stage_factors)

    IF raw_assay_response_and_valid_calibration_known
      THEN concentration =
        inverse_calibration(raw_assay_response)

    IF cell_events_and_acquired_volume_known
      AND acquired_volume != 0
      THEN cell_concentration =
        cell_events/acquired_volume
      UNDER valid_cell_event_definition

    IF copy_count_and_sample_volume_known
      AND sample_volume != 0
      THEN copy_number_concentration =
        copy_count/sample_volume
  }

  VALIDATION {
    CHECK biological_entity_identity
    CHECK concentration_basis
    CHECK numerator_quantity
    CHECK denominator_quantity
    CHECK denominator_nonzero
    CHECK unit_consistency
    CHECK sample_or_specimen
    CHECK count_vs_concentration
    CHECK concentration_vs_fraction
    CHECK mass_concentration_vs_mass_fraction
    CHECK activity_concentration_basis
    CHECK biomass_wet_vs_dry_mass_basis
    CHECK dilution_factor
    CHECK raw_vs_calibrated_assay_response
    CHECK calibration_range
    CHECK temperature_when_volume_sensitive
    CHECK detection_and_quantification_limits
    CHECK uncertainty_representation
  }

  CONFIDENCE {
    definition_confidence: 1.00
    concentration_basis_confidence: 1.00
    unit_confidence: 1.00
    dilution_relationship_confidence: 1.00
    calibration_relationship_confidence: 0.98
    specimen_context_confidence: 0.98
    measurement_context_confidence: 0.97

    RULE:
      confidence decreases when entity identity, concentration basis,
      denominator, specimen, dilution, calibration,
      temperature or uncertainty is missing or ambiguous
  }

  UPDATE_MODEL {
    ON new_measurement:
      identify_biological_entity
      identify_concentration_basis
      validate_unit
      identify_numerator_and_denominator
      attach_sample_or_specimen
      attach_collection_and_preparation_context
      attach_dilution
      attach_temperature
      identify_measurement_method
      preserve_raw_response_or_count
      apply_valid_calibration
      normalize_to_canonical_unit_when_requested
      preserve_original_value_unit_and_basis
      attach_uncertainty
      update_biological_concentration_state

    ON dilution_change:
      preserve_pre_dilution_state
      update_dilution_factor
      recompute_original_or_final_concentration
      preserve_analyte_quantity_when_valid

    ON denominator_change:
      preserve_numerator_quantity
      update_volume_mass_area_or_reference_quantity
      recompute_concentration_or_normalised_quantity
      preserve_previous_basis

    ON calibration_revision:
      preserve_raw_response
      preserve_previous_calibration
      recompute_affected_concentrations
      update_uncertainty
      update_confidence

    ON specimen_or_preparation_change:
      preserve_previous_sample_state
      update_matrix_and_preanalytical_context
      reevaluate_comparability

    ON semantic_revision:
      preserve_previous_definition
      record_revision
      recompute_FLOW_HASH
  }

  AI_CONSUMPTION {
    canonical_domain: BiologicalConcentration

    interpretation_order:
      identify_biological_entity
      resolve_concentration_basis
      identify_value
      identify_unit
      identify_numerator_quantity
      identify_denominator_quantity
      identify_sample_or_specimen
      identify_sample_volume_mass_or_other_basis
      identify_dilution_and_preparation
      identify_temperature
      identify_measurement_method
      identify_raw_or_calibrated_status
      identify_calibration_and_normalisation
      identify_detection_and_quantification_limits
      identify_uncertainty
      normalize_units
      validate_basis
      infer_concentration_relationships

    ambiguity_controls:
      distinguish_biological_concentration_from_count
      distinguish_concentration_from_fraction
      distinguish_mass_concentration_from_mass_fraction
      distinguish_number_concentration_from_raw_event_count
      distinguish_activity_concentration_from_mass_or_amount_concentration
      distinguish_biomass_wet_from_dry_mass_basis
      distinguish_raw_assay_response_from_calibrated_concentration
      distinguish_sample_density_from_component_concentration
      preserve_entity_specimen_basis_dilution_calibration_and_preparation_context
  }

  PROVENANCE {
    ontology_scope:
      mathematical_measurement_and_biological_concentration_semantics

    parent_path:
      Ontologies
      -> Mathematical Ontologies
      -> Measurement & Units Ontologies
      -> Biological Measurements
      -> Biological Concentration Ontology

    authorship:
      Mark Higgins
      Sky (Recursive AI)

    site:
      https://kirethresearch.org
  }

  FLOW_HASH {
    INPUTS:
      canonical_domain
      ontology_path
      terminology_model
      entity_identity_model
      reference_basis_model
      amount_concentration_model
      mass_concentration_model
      number_concentration_model
      cell_concentration_model
      copy_number_model
      biomass_concentration_model
      protein_concentration_model
      nucleic_acid_concentration_model
      activity_concentration_model
      specimen_model
      dilution_model
      serial_dilution_model
      normalisation_model
      fraction_distinction_model
      density_distinction_model
      assay_calibration_model
      standard_curve_model
      PCR_concentration_model
      flow_cytometry_concentration_model
      detection_limit_model
      temperature_model
      relationships
      constraints
      measurement_model
      uncertainty_model
      reasoning_rules
      confidence_model
      update_model

    PURPOSE:
      deterministic_semantic_integrity_identifier

    RECOMPUTE_WHEN:
      ontology_definition_changes
      biological_entity_definition_changes
      concentration_basis_model_changes
      denominator_model_changes
      dilution_or_normalisation_model_changes
      specimen_or_preanalytical_model_changes
      assay_or_calibration_model_changes
      measurement_model_changes
      constraint_model_changes
      reasoning_rule_changes
      unit_model_changes
  }

}

END FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ