Skip to content

Class: PlateProduct

Abstract base for plate measurement data products.

Common summary slots shared across AMP2 and Ecoplate products.

__

v1 origin: plate-general.yaml PlateProduct

v2 change: follows existing satellite-table pattern (id: range: processedData)

_ instead of v1's is_a: dataProduct._

  • NOTE: this is an abstract class and should not be instantiated directly

URI: basalt_schema:PlateProduct

 classDiagram
    class PlateProduct
    click PlateProduct href "../PlateProduct/"
      PlateProduct <|-- AMP2ODProduct
        click AMP2ODProduct href "../AMP2ODProduct/"
      PlateProduct <|-- EcoplateAbsorbanceProduct
        click EcoplateAbsorbanceProduct href "../EcoplateAbsorbanceProduct/"

      PlateProduct : blank_mean

      PlateProduct : cv_percent

      PlateProduct : plate_average

      PlateProduct : timepoint_label

      PlateProduct : wavelength_nm

      PlateProduct : well_readings





        PlateProduct --> "*" WellReading : well_readings
        click WellReading href "../WellReading/"



Inheritance

Slots

Name Cardinality and Range Description Inheritance
wavelength_nm 1
Integer
Measurement wavelength in nanometres (e direct
timepoint_label 1
String
Human-readable timepoint label for repeated-measurement series direct
plate_average 0..1
Float
Mean measurement across all sample wells (excludes blanks) direct
blank_mean 0..1
Float
Mean measurement of uninoculated control wells direct
cv_percent 0..1
Float
Coefficient of variation across technical replicates direct
well_readings *
WellReading
Structured per-well measurement data array direct

TODOs

  • add plate_range (12 well, 96 well, etc.)?

Identifier and Mapping Information

Schema Source

Mappings

Mapping Type Mapped Value
self basalt_schema:PlateProduct
native basalt_schema:PlateProduct

LinkML Source

Direct

name: PlateProduct
description: "Abstract base for plate measurement data products.\nCommon summary slots\
  \ shared across AMP2 and Ecoplate products.\n\nv1 origin: plate-general.yaml PlateProduct\n\
  v2 change: follows existing satellite-table pattern (id: range: processedData)\n\
  \           instead of v1's is_a: dataProduct."
todos:
- add plate_range (12 well, 96 well, etc.)?
from_schema: https://EMSL-Computing.github.io/BASALT-Schema
abstract: true
slots:
- wavelength_nm
- timepoint_label
- plate_average
- blank_mean
- cv_percent
- well_readings

Induced

name: PlateProduct
description: "Abstract base for plate measurement data products.\nCommon summary slots\
  \ shared across AMP2 and Ecoplate products.\n\nv1 origin: plate-general.yaml PlateProduct\n\
  v2 change: follows existing satellite-table pattern (id: range: processedData)\n\
  \           instead of v1's is_a: dataProduct."
todos:
- add plate_range (12 well, 96 well, etc.)?
from_schema: https://EMSL-Computing.github.io/BASALT-Schema
abstract: true
attributes:
  wavelength_nm:
    name: wavelength_nm
    description: Measurement wavelength in nanometres (e.g. 590 Ecoplate, 610 AMP2
      OD)
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    rank: 1000
    alias: wavelength_nm
    owner: PlateProduct
    domain_of:
    - AMP2DataGenerationActivity
    - EcoplateDataGenerationActivity
    - PlateProduct
    range: integer
    required: true
  timepoint_label:
    name: timepoint_label
    description: 'Human-readable timepoint label for repeated-measurement series.

      Examples: "t=0", "t=24h", "t=48h".

      Lives on concrete analysis/product subclasses, NOT on base DataGenerationActivity'
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    rank: 1000
    alias: timepoint_label
    owner: PlateProduct
    domain_of:
    - PlateDataGenerationActivity
    - PlateProduct
    range: string
    required: true
  plate_average:
    name: plate_average
    description: Mean measurement across all sample wells (excludes blanks)
    todos:
    - units
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    rank: 1000
    alias: plate_average
    owner: PlateProduct
    domain_of:
    - PlateProduct
    range: float
  blank_mean:
    name: blank_mean
    description: Mean measurement of uninoculated control wells
    todos:
    - units
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    rank: 1000
    alias: blank_mean
    owner: PlateProduct
    domain_of:
    - PlateProduct
    range: float
  cv_percent:
    name: cv_percent
    description: Coefficient of variation across technical replicates
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    rank: 1000
    alias: cv_percent
    owner: PlateProduct
    domain_of:
    - PlateProduct
    range: float
  well_readings:
    name: well_readings
    description: 'Structured per-well measurement data array.

      Lightweight summary for SQL queries without full file download.

      Raw data still accessible via processedData.s3_key in MinIO.

      typed via LinkML inlined class.'
    todos:
    - decide how to represent in backend (normalized child table with FK to PlateSetupActivity,
      array column, or other)
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    rank: 1000
    alias: well_readings
    owner: PlateProduct
    domain_of:
    - PlateProduct
    range: WellReading
    multivalued: true
    inlined: true
    inlined_as_list: true