Examples
This page provides comprehensive examples of using the SOMA.
All examples use the Container class as the root element and demonstrate real-world
use cases for environmental health research data.
Quick Start
The simplest way to get started is to pick an example that matches your assay type and adapt it to your data. Each example shows:
- Required fields for the assay type
- Named measurement slots inside
has_specified_output(e.g.,beat_frequency_hz, not genericobservation_type) - Study subject with
cell_typeon the subject (not the assay) and appropriate detail level - Protocols via
follows_protocolswithprotocol_typedesignator (ImagingProtocol, MolecularAssayProtocol, etc.) - Exposure conditions via
has_exposure_condition(agent, concentration, duration, timing)
Download Example Data Files
All example data files are available for download. These are the same files used for schema validation testing:
| Assay Type | Download |
|---|---|
| Ciliary Function | Container-ciliary_function.yaml |
| Airway Surface Liquid | Container-asl.yaml |
| Mucociliary Clearance | Container-mcc.yaml |
| Oxidative Stress | Container-oxidative_stress.yaml |
| CFTR Function | Container-cftr.yaml |
| EGFR Signaling | Container-egfr.yaml |
| Goblet Cell / Mucin | Container-goblet_cell_mucin.yaml |
| FoxJ Expression | Container-foxj.yaml |
| Gene Expression | Container-gene_expression.yaml |
| Lung Function | Container-lung_function.yaml |
| BALF / Sputum | Container-balf_sputum.yaml |
| Protocol (base) | Container-protocol.yaml |
| Comprehensive AOP | Container-comprehensive_aop_lung.yaml |
In Vitro Assays
These examples demonstrate assays performed on cell culture systems. The study_subject
slot captures the biological model (including cell_type), and follows_protocols captures domain-specific protocol details.
Ciliary Function Assay
Measuring ciliary beat frequency (CBF) in primary human bronchial epithelial cells.
This assay supports both in vitro and in vivo contexts (supported_contexts: in_vitro_or_in_vivo).
ciliary_function_assays:
# Example 1: In vitro context using ALI culture
- id: "CILIARY:001"
name: "CBF measurement after ozone exposure (in vitro)"
has_specified_output:
id: "CILIARY:001-output"
name: "CILIARY:001 measurement results"
beat_frequency_hz:
value: "8.5"
unit:
id: "UO:0000106"
name: "hertz"
active_area_percentage:
value: "72"
unit:
id: "UO:0000187"
name: "percent"
percentage_ciliated_cells:
value: "65"
unit:
id: "UO:0000187"
name: "percent"
cilia_length:
value: "7.2"
unit:
id: "UO:0000017"
name: "micrometer"
cilia_per_cell:
value: "150"
unit:
id: "UO:0000189"
name: "count"
ciliary_motion_patterns: coordinated
ciliary_beat_amplitude:
value: "4.5"
unit:
id: "UO:0000017"
name: "micrometer"
assay_date: "2024-01-15"
informs_on_key_event:
id: "KE:ke3-impaired-ciliary"
name: "Decreased ciliary function"
biological_action: decreased
level_of_biological_organization: cellular
has_exposure_condition:
- id: "EXPOSURE:ozone-200ppb-4h"
name: "Ozone 200 ppb for 4 hours"
exposure_agent:
id: "CHEBI:25812"
name: "ozone"
exposure_concentration:
value: "200"
unit:
id: "UO:0000169"
name: "parts per billion"
exposure_duration:
value: "4"
unit:
id: "UO:0000032"
name: "hour"
timing_post_exposure:
value: "2"
unit:
id: "UO:0000032"
name: "hour"
study_subject:
subject_type: CellularSystem
id: "soma:culture-001"
name: "Primary HBE ALI culture"
cell_type:
id: "CL:0002328"
name: "bronchial epithelial cell"
model_species:
id: "NCBITaxon:9606"
name: "Homo sapiens"
primary_cell:
id: "CL:0002328"
name: "bronchial epithelial cell"
anatomical_origin:
id: "UBERON:0002031"
name: "bronchus"
cell_culture_growth_mode: air_liquid_interface
days_at_differentiation: 21
donor_info: "Healthy non-smoker, male, age 35, no respiratory disease"
replicates_per_donor: 3
substrate_type: transwell_insert
passage_number: 2
seeding_density:
value: "200000"
unit:
id: "UO:0000210"
name: "cells per square centimeter"
culture_conditions:
id: "soma:conditions-001"
name: "Standard ALI culture conditions"
days_at_air_liquid_interface: 21
substrate_type: transwell_insert
cell_culture_growth_mode: air_liquid_interface
replicates_per_donor: 3
culture_media:
id: "soma:media-001"
name: "PneumaCult-ALI medium"
base_medium: "PneumaCult-ALI"
manufacturer: "STEMCELL Technologies"
supplements:
- id: "soma:supp-001"
name: "Hydrocortisone"
supplement_type: hormone
concentration:
value: "0.48"
unit:
id: "UO:0000064"
name: "micrograms per milliliter"
- id: "soma:supp-002"
name: "Heparin"
supplement_type: growth_factor
concentration:
value: "4"
unit:
id: "UO:0000064"
name: "micrograms per milliliter"
follows_protocols:
- protocol_type: ImagingProtocol
id: "PROTOCOL:cbf-001"
name: "High-speed video microscopy for CBF"
imaging_frame_rate:
value: "200"
unit:
id: "UO:0000105"
name: "hertz"
imaging_duration:
value: "5"
unit:
id: "UO:0000010"
name: "second"
temperature_control:
value: "37"
unit:
id: "UO:0000027"
name: "degree Celsius"
# Example 2: In vivo context using OCT-based measurement
- id: "CILIARY:002"
name: "In vivo OCT-based ciliary function assessment"
has_specified_output:
id: "CILIARY:002-output"
name: "CILIARY:002 measurement results"
beat_frequency_hz:
value: "11.2"
unit:
id: "UO:0000106"
name: "hertz"
active_area_percentage:
value: "85"
unit:
id: "UO:0000187"
name: "percent"
assay_date: "2024-03-10"
informs_on_key_event:
id: "KE:ke3-impaired-ciliary"
name: "Decreased ciliary function"
biological_action: decreased
level_of_biological_organization: cellular
study_subject:
subject_type: InVivoSubject
id: "SUBJECT:003"
name: "Subject C"
model_species:
id: "NCBITaxon:9606"
name: "Homo sapiens"
age:
value: "38"
unit:
id: "UO:0000036"
name: "year"
sex: "female"
subject_characteristics: "Non-smoker, no respiratory disease, healthy volunteer"
sample_collection_method: "In vivo OCT imaging of nasal epithelium"
clinical_context: "Baseline assessment, no active respiratory symptoms"
follows_protocols:
- protocol_type: ImagingProtocol
id: "PROTOCOL:oct-001"
name: "In vivo OCT for ciliary function"
imaging_frame_rate:
value: "100"
unit:
id: "UO:0000105"
name: "hertz"
imaging_duration:
value: "10"
unit:
id: "UO:0000010"
name: "second"
temperature_control:
value: "37"
unit:
id: "UO:0000027"
name: "degree Celsius"
Key points:
- Named measurement slots inside
has_specified_output:beat_frequency_hz,active_area_percentage,percentage_ciliated_cells,cilia_length,cilia_per_cell,ciliary_motion_patterns,ciliary_beat_amplitude cell_typeis on thestudy_subject, NOT on the assay — this is where cell identity belongsinforms_on_key_eventlinks the assay to AOP Key Event: "Decreased ciliary function"has_exposure_conditioncaptures the exposure agent, concentration, duration, and timing post-exposurestudy_subjectcaptures the full biological model including:cell_type,primary_cellandanatomical_originfor cell provenance- Culture details:
cell_culture_growth_mode,days_at_differentiation,passage_number,seeding_density donor_infofor subject demographics and health statusculture_conditionswith ALI-specific parametersculture_mediawith base medium, manufacturer, and detailedsupplements(type, concentration)follows_protocolsreferences protocols withprotocol_type: ImagingProtocolfor polymorphic dispatch- Example 2 shows the same assay in an in vivo context with
InVivoSubject
See Container-ciliary_function.yaml for the full data file.
Airway Surface Liquid (ASL) Assay
Measuring ASL height using confocal microscopy:
asl_assays:
- id: "ASL:001"
name: "Airway surface liquid height"
has_specified_output:
id: "ASL:001-output"
name: "ASL:001 measurement results"
asl_height_um:
value: "7.2"
unit:
id: "UO:0000017"
name: "micrometer"
periciliary_layer_depth:
value: "5.1"
unit:
id: "UO:0000017"
name: "micrometer"
mucus_layer_thickness:
value: "35"
unit:
id: "UO:0000017"
name: "micrometer"
ion_composition: "Cl- 125 mM, Na+ 140 mM, K+ 15 mM"
asl_ph:
value: "7.1"
unit:
id: "UO:0000196"
name: "pH"
assay_date: "2024-02-10"
informs_on_key_event:
id: "KE:ke-decreased-asl"
name: "Decreased ASL height"
biological_action: decreased
level_of_biological_organization: cellular
study_subject:
subject_type: CellularSystem
id: "soma:culture-002"
name: "Primary HBE ALI culture"
cell_type:
id: "CL:0002328"
name: "bronchial epithelial cell"
model_species:
id: "NCBITaxon:9606"
name: "Homo sapiens"
follows_protocols:
- protocol_type: ImagingProtocol
id: "PROTOCOL:asl-001"
name: "Confocal microscopy for ASL height"
spatial_resolution:
value: "1.5"
unit:
id: "UO:0000017"
name: "micrometer"
fluorescent_labeling: "Texas Red-dextran"
temperature_control:
value: "37"
unit:
id: "UO:0000027"
name: "degree Celsius"
See Container-asl.yaml for the full data file.
Mucociliary Clearance (MCC) Assay
Tracking fluorescent microsphere transport rate:
mcc_assays:
- id: "MCC:001"
name: "Mucociliary transport rate"
has_specified_output:
id: "MCC:001-output"
name: "MCC:001 measurement results"
transport_rate:
value: "45.3"
unit:
id: "UO:0000103"
name: "micrometer per second"
transport_directionality: normal
mucus_layer_thickness:
value: "28"
unit:
id: "UO:0000017"
name: "micrometer"
percentage_active_transport:
value: "82"
unit:
id: "UO:0000187"
name: "percent"
particle_clearance_time:
value: "120"
unit:
id: "UO:0000010"
name: "second"
assay_date: "2024-03-05"
informs_on_key_event:
id: "KE:ke3-impaired-mcc"
name: "Impaired mucociliary clearance"
biological_action: impaired
level_of_biological_organization: tissue
study_subject:
subject_type: CellularSystem
id: "soma:culture-007"
name: "Primary HBE ALI culture"
cell_type:
id: "CL:0002328"
name: "bronchial epithelial cell"
model_species:
id: "NCBITaxon:9606"
name: "Homo sapiens"
follows_protocols:
- protocol_type: ImagingProtocol
id: "PROTOCOL:mcc-001"
name: "Fluorescent microsphere tracking for MCC"
fluorescent_tracer: "1-um fluorescent microspheres"
particle_tracking_method: "automated particle tracking"
particle_size:
value: "1"
unit:
id: "UO:0000017"
name: "micrometer"
imaging_frame_rate:
value: "30"
unit:
id: "UO:0000105"
name: "hertz"
See Container-mcc.yaml for the full data file.
Oxidative Stress Assay
Measuring reactive oxygen species (ROS) after PM2.5 exposure:
oxidative_stress_assays:
- id: "OX:001"
name: "ROS level after PM2.5 exposure"
has_specified_output:
id: "OX:001-output"
name: "OX:001 measurement results"
reactive_oxygen_species:
value: "2.5"
unit:
id: "UO:0000193"
name: "fold change"
lipid_peroxidation:
value: "1.8"
unit:
id: "UO:0000193"
name: "fold change"
malondialdehyde_level:
value: "3.2"
unit:
id: "UO:0000063"
name: "nanomole per milligram protein"
protein_carbonyl_content:
value: "2.1"
unit:
id: "UO:0000063"
name: "nanomole per milligram protein"
glutathione_ratio:
value: "0.65"
unit:
id: "UO:0000190"
name: "ratio"
eight_ohdg_level:
value: "12.5"
unit:
id: "UO:0000275"
name: "nanogram per milligram creatinine"
superoxide_dismutase_activity:
value: "0.75"
unit:
id: "UO:0000193"
name: "fold change"
catalase_activity:
value: "0.82"
unit:
id: "UO:0000193"
name: "fold change"
nrf2_activation:
value: "2.8"
unit:
id: "UO:0000193"
name: "fold change"
protein_oxidation_markers:
- "carbonyl"
- "nitrotyrosine"
antioxidant_enzyme_activities: "SOD, catalase, GPx measured"
ros_probe_type: "DCFDA"
assay_date: "2024-01-20"
informs_on_key_event:
id: "KE:mie-oxidative-stress"
name: "Increased oxidative stress"
biological_action: increased
level_of_biological_organization: molecular
has_exposure_condition:
- id: "EXPOSURE:pm25-24h"
name: "PM2.5 10 ug/cm2 for 24 hours"
exposure_agent:
id: "CHEBI:74481"
name: "PM2.5"
exposure_concentration:
value: "10"
unit:
id: "UO:0000274"
name: "microgram per square centimeter"
exposure_duration:
value: "24"
unit:
id: "UO:0000032"
name: "hour"
timing_post_exposure:
value: "0"
unit:
id: "UO:0000032"
name: "hour"
study_subject:
subject_type: CellularSystem
id: "soma:culture-003"
name: "Primary HBE ALI culture"
cell_type:
id: "CL:0002328"
name: "bronchial epithelial cell"
model_species:
id: "NCBITaxon:9606"
name: "Homo sapiens"
follows_protocols:
- protocol_type: MolecularAssayProtocol
id: "PROTOCOL:ros-001"
name: "DCFDA ROS detection in ALI cultures"
detection_method: "fluorescence plate reader"
normalization_method: "cell count normalization"
Key points:
- Rich set of oxidative stress markers:
reactive_oxygen_species,lipid_peroxidation,malondialdehyde_level,glutathione_ratio,nrf2_activation, and more has_exposure_conditioncaptures PM2.5 exposure details includingtiming_post_exposurecell_typeis on thestudy_subject, not the assay
See Container-oxidative_stress.yaml for the full data file.
CFTR Function Assay
Measuring CFTR-mediated chloride secretion using Ussing chambers:
cftr_assays:
- id: "CFTR:001"
name: "CFTR chloride secretion"
has_specified_output:
id: "CFTR:001-output"
name: "CFTR:001 measurement results"
cftr_chloride_secretion:
value: "15.2"
unit:
id: "UO:0000274"
name: "microampere per square centimeter"
cftr_forskolin_response:
value: "12.8"
unit:
id: "UO:0000274"
name: "microampere per square centimeter"
inhibitor_sensitive_current:
value: "14.5"
unit:
id: "UO:0000274"
name: "microampere per square centimeter"
cftr_specific_current:
value: "13.9"
unit:
id: "UO:0000274"
name: "microampere per square centimeter"
sweat_chloride_concentration:
value: "25"
unit:
id: "UO:0000308"
name: "milliequivalent per liter"
nasal_potential_difference:
value: "-18.5"
unit:
id: "UO:0000247"
name: "millivolt"
stimulation_agent: "forskolin 10 uM"
inhibitor_used: "CFTRinh-172"
assay_date: "2024-04-12"
informs_on_key_event:
id: "KE:ke-decreased-cftr"
name: "Decreased CFTR function"
biological_action: decreased
level_of_biological_organization: molecular
study_subject:
subject_type: CellularSystem
id: "soma:culture-006"
name: "Primary HBE ALI culture"
cell_type:
id: "CL:0002328"
name: "bronchial epithelial cell"
model_species:
id: "NCBITaxon:9606"
name: "Homo sapiens"
follows_protocols:
- id: "PROTOCOL:cftr-001"
name: "Ussing chamber short-circuit current protocol"
- id: "PROTOCOL:cftr-prep-001"
name: "Tissue mounting and equilibration protocol"
description: "Pre-assay protocol for mounting tissue in Ussing chamber and equilibrating"
Key points:
follows_protocolsis multivalued — an assay can reference multiple protocols (e.g., the main assay protocol plus a preparation protocol)- Rich CFTR measurement outputs:
cftr_chloride_secretion,cftr_forskolin_response,inhibitor_sensitive_current,sweat_chloride_concentration,nasal_potential_difference
See Container-cftr.yaml for the full data file.
EGFR Signaling Assay
Measuring EGFR phosphorylation after smoke exposure:
egfr_signaling_assays:
- id: "EGFR:001"
name: "EGFR phosphorylation after smoke exposure"
has_specified_output:
id: "EGFR:001-output"
name: "EGFR:001 measurement results"
egfr_phosphorylation_y1068:
value: "3.2"
unit:
id: "UO:0000193"
name: "fold change"
total_egfr_protein:
value: "1.0"
unit:
id: "UO:0000193"
name: "fold change"
egfr_phosphorylation_y1173:
value: "2.1"
unit:
id: "UO:0000193"
name: "fold change"
downstream_kinase_activation: "ERK1/2 and AKT activated"
erk_phosphorylation:
value: "2.8"
unit:
id: "UO:0000193"
name: "fold change"
akt_phosphorylation:
value: "1.5"
unit:
id: "UO:0000193"
name: "fold change"
egfr_ligand_expression:
value: "1.9"
unit:
id: "UO:0000193"
name: "fold change"
egfr_membrane_localization:
value: "78"
unit:
id: "UO:0000187"
name: "percent"
normalization_reference: "beta-actin"
assay_date: "2024-05-08"
informs_on_key_event:
id: "KE:ke1-egfr-activation"
name: "EGFR activation"
biological_action: activated
level_of_biological_organization: molecular
has_exposure_condition:
- id: "EXPOSURE:cse-4h"
name: "Cigarette smoke extract 5% for 4 hours"
exposure_agent:
id: "CHEBI:39188"
name: "cigarette smoke extract"
exposure_concentration:
value: "5"
unit:
id: "UO:0000187"
name: "percent"
exposure_duration:
value: "4"
unit:
id: "UO:0000032"
name: "hour"
study_subject:
subject_type: CellularSystem
id: "soma:culture-005"
name: "Primary HBE ALI culture"
cell_type:
id: "CL:0002328"
name: "bronchial epithelial cell"
model_species:
id: "NCBITaxon:9606"
name: "Homo sapiens"
follows_protocols:
- protocol_type: MolecularAssayProtocol
id: "PROTOCOL:wb-001"
name: "Western blot for phospho-EGFR"
detection_method: "chemiluminescence"
antibodies_used:
- "anti-pEGFR Y1068 (Cell Signaling #3777)"
- "anti-total EGFR (Cell Signaling #4267)"
normalization_method: "total protein normalization"
See Container-egfr.yaml for the full data file.
Goblet Cell Assay
Measuring MUC5AC expression and goblet cell quantification:
goblet_cell_assays:
- id: "GCM:001"
name: "MUC5AC expression and goblet cell quantification"
has_specified_output:
id: "GCM:001-output"
name: "GCM:001 measurement results"
muc5ac_mrna_expression:
value: "4.8"
unit:
id: "UO:0000193"
name: "fold change"
goblet_cell_percentage:
value: "28"
unit:
id: "UO:0000187"
name: "percent"
goblet_cell_count:
value: "85"
unit:
id: "UO:0000189"
name: "count"
muc5ac_protein_expression:
value: "3.2"
unit:
id: "UO:0000193"
name: "fold change"
muc5b_mrna_expression:
value: "1.8"
unit:
id: "UO:0000193"
name: "fold change"
muc5b_protein_expression:
value: "1.5"
unit:
id: "UO:0000193"
name: "fold change"
muc5ac_muc5b_ratio:
value: "2.7"
unit:
id: "UO:0000190"
name: "ratio"
mucin_secretion_rate:
value: "12.5"
unit:
id: "UO:0000298"
name: "microgram per hour"
percent_solids:
value: "4.2"
unit:
id: "UO:0000187"
name: "percent"
goblet_to_ciliated_ratio:
value: "0.45"
unit:
id: "UO:0000190"
name: "ratio"
assay_date: "2024-06-15"
informs_on_key_event:
id: "KE:ke2-goblet-hyperplasia"
name: "Goblet cell hyperplasia"
biological_action: increased
level_of_biological_organization: cellular
study_subject:
subject_type: CellularSystem
id: "soma:culture-004"
name: "Primary HBE ALI culture"
cell_type:
id: "CL:0002328"
name: "bronchial epithelial cell"
model_species:
id: "NCBITaxon:9606"
name: "Homo sapiens"
follows_protocols:
- protocol_type: StainingProtocol
id: "PROTOCOL:stain-001"
name: "AB-PAS staining for goblet cells"
staining_type: "AB-PAS"
fixation_method: "4% paraformaldehyde"
counterstain: "hematoxylin"
See Container-goblet_cell_mucin.yaml for the full data file.
FoxJ Expression Assay
Measuring FoxJ1 transcription factor expression (master regulator of ciliogenesis).
This assay is in vitro only (supported_contexts: in_vitro_only).
foxj_assays:
- id: "FOXJ:001"
name: "FoxJ1 mRNA expression"
has_specified_output:
id: "FOXJ:001-output"
name: "FOXJ:001 measurement results"
foxj1_mrna_expression:
value: "0.65"
unit:
id: "UO:0000193"
name: "fold change"
foxj1_positive_cell_percentage:
value: "42"
unit:
id: "UO:0000187"
name: "percent"
foxj1_protein_expression:
value: "0.58"
unit:
id: "UO:0000193"
name: "fold change"
foxj1_nuclear_localization:
value: "35"
unit:
id: "UO:0000187"
name: "percent"
assay_date: "2024-09-05"
informs_on_key_event:
id: "KE:ke-altered-ciliogenesis"
name: "Altered ciliogenesis"
biological_action: altered
level_of_biological_organization: cellular
study_subject:
subject_type: CellularSystem
id: "soma:culture-008"
name: "Primary HBE ALI culture"
cell_type:
id: "CL:0002328"
name: "bronchial epithelial cell"
model_species:
id: "NCBITaxon:9606"
name: "Homo sapiens"
primary_cell:
id: "CL:0002328"
name: "bronchial epithelial cell"
anatomical_origin:
id: "UBERON:0002031"
name: "bronchus"
cell_culture_growth_mode: air_liquid_interface
days_at_differentiation: 14
donor_info: "Healthy donor, non-smoker"
replicates_per_donor: 3
substrate_type: transwell_insert
passage_number: 2
follows_protocols:
- protocol_type: MolecularAssayProtocol
id: "PROTOCOL:qpcr-001"
name: "qRT-PCR for FoxJ1"
detection_method: "SYBR Green qPCR"
reference_gene: "GAPDH"
primer_sequences:
- "FOXJ1-F: 5'-CAGGCCCAGAACTTTCTCC-3'"
- "FOXJ1-R: 5'-GGCCTTTGGTACTGTCTCAC-3'"
See Container-foxj.yaml for the full data file.
Gene Expression Assay
Measuring target gene mRNA expression.
This assay is in vitro only (supported_contexts: in_vitro_only).
gene_expression_assays:
- id: "GE:001"
name: "IL-8 gene expression after exposure"
target_gene: "PR:000006689"
has_specified_output:
id: "GE:001-output"
name: "GE:001 measurement results"
mrna_level:
value: "3.5"
unit:
id: "UO:0000193"
name: "fold change"
protein_level:
value: "2.1"
unit:
id: "UO:0000193"
name: "fold change"
percentage_positive_cells:
value: "45"
unit:
id: "UO:0000187"
name: "percent"
gene_expression_method: "qRT-PCR"
normalization_reference: "GAPDH"
assay_date: "2024-10-01"
has_exposure_condition:
- id: "EXPOSURE:lps-100ng-6h"
name: "LPS 100 ng/mL for 6 hours"
exposure_agent:
id: "CHEBI:16412"
name: "lipopolysaccharide"
exposure_concentration:
value: "100"
unit:
id: "UO:0000275"
name: "nanogram per milliliter"
exposure_duration:
value: "6"
unit:
id: "UO:0000032"
name: "hour"
study_subject:
subject_type: CellularSystem
id: "soma:culture-009"
name: "Primary HBE ALI culture"
cell_type:
id: "CL:0002328"
name: "bronchial epithelial cell"
model_species:
id: "NCBITaxon:9606"
name: "Homo sapiens"
primary_cell:
id: "CL:0002328"
name: "bronchial epithelial cell"
anatomical_origin:
id: "UBERON:0002031"
name: "bronchus"
cell_culture_growth_mode: air_liquid_interface
days_at_differentiation: 21
donor_info: "Healthy donor, non-smoker, age 40"
replicates_per_donor: 3
substrate_type: transwell_insert
passage_number: 2
follows_protocols:
- protocol_type: MolecularAssayProtocol
id: "PROTOCOL:qpcr-002"
name: "qRT-PCR for cytokine expression"
detection_method: "TaqMan qPCR"
reference_gene: "GAPDH"
platform: "QuantStudio 6"
Key points:
target_geneis an assay-level slot (not insidehas_specified_output)- Output includes
mrna_level,protein_level, andpercentage_positive_cells has_exposure_conditioncaptures LPS exposure details
See Container-gene_expression.yaml for the full data file.
In Vivo Assays
These examples demonstrate assays from human or animal subjects. The study_subject
slot uses InVivoSubject-level properties including age, sex, sample_type,
collection_site, and subject_characteristics.
Lung Function Assay
Spirometry measurement from a human subject.
This assay is in vivo only (supported_contexts: in_vivo_only).
lung_function_assays:
- id: "LF:001"
name: "FEV1 measurement"
has_specified_output:
id: "LF:001-output"
name: "LF:001 measurement results"
fev1:
value: "82.5"
unit:
id: "UO:0000187"
name: "percent predicted"
fvc:
value: "95.0"
unit:
id: "UO:0000187"
name: "percent predicted"
fev1_fvc_ratio:
value: "86.8"
unit:
id: "UO:0000187"
name: "percent"
feno:
value: "22"
unit:
id: "UO:0000170"
name: "parts per billion"
bronchodilator_response:
value: "8.5"
unit:
id: "UO:0000187"
name: "percent"
dlco:
value: "88"
unit:
id: "UO:0000187"
name: "percent predicted"
peak_expiratory_flow:
value: "92"
unit:
id: "UO:0000187"
name: "percent predicted"
reference_dataset: "GLI-2012"
assay_date: "2024-08-10"
informs_on_key_event:
id: "KE:ao-decreased-lung-function"
name: "Decreased lung function"
biological_action: decreased
level_of_biological_organization: organ
study_subject:
subject_type: InVivoSubject
id: "SUBJECT:002"
name: "Subject B"
model_species:
id: "NCBITaxon:9606"
name: "Homo sapiens"
age:
value: "52"
unit:
id: "UO:0000036"
name: "year"
sex: "male"
subject_characteristics: "Non-smoker, no respiratory disease"
clinical_context: "Baseline spirometry, pre-bronchodilator"
follows_protocols:
- protocol_type: SpirometryProtocol
id: "PROTOCOL:spiro-001"
name: "Pre- and post-bronchodilator spirometry"
spirometry_standard: "ATS/ERS 2019"
bronchodilator_agent: "albuterol"
bronchodilator_dose:
value: "400"
unit:
id: "UO:0000022"
name: "microgram"
Key points:
informs_on_key_eventlinks to AOP Adverse Outcome: "Decreased lung function"study_subjectincludes InVivoSubject slots:age,sex,subject_characteristics,clinical_context- Rich lung function outputs:
fev1,fvc,fev1_fvc_ratio,feno,bronchodilator_response,dlco,peak_expiratory_flow follows_protocolsreferences a SpirometryProtocol withprotocol_typedesignator for polymorphic dispatch
See Container-lung_function.yaml for the full data file.
BALF/Sputum Assay
Inflammatory cell differential from induced sputum.
This assay is in vivo only (supported_contexts: in_vivo_only).
balf_sputum_assays:
- id: "BALF:001"
name: "Neutrophil percentage in induced sputum"
has_specified_output:
id: "BALF:001-output"
name: "BALF:001 measurement results"
neutrophil_percentage:
value: "45.0"
unit:
id: "UO:0000187"
name: "percent"
il8_concentration:
value: "250"
unit:
id: "UO:0000175"
name: "picogram per milliliter"
eosinophil_percentage:
value: "3.5"
unit:
id: "UO:0000187"
name: "percent"
macrophage_percentage:
value: "38.0"
unit:
id: "UO:0000187"
name: "percent"
lymphocyte_percentage:
value: "12.5"
unit:
id: "UO:0000187"
name: "percent"
total_cell_count:
value: "2500000"
unit:
id: "UO:0000209"
name: "cells per milliliter"
il6_concentration:
value: "85"
unit:
id: "UO:0000175"
name: "picogram per milliliter"
tnf_alpha_concentration:
value: "120"
unit:
id: "UO:0000175"
name: "picogram per milliliter"
total_protein_concentration:
value: "1.2"
unit:
id: "UO:0000176"
name: "milligram per milliliter"
assay_date: "2024-07-22"
informs_on_key_event:
id: "KE:ke-airway-inflammation"
name: "Airway inflammation"
biological_action: increased
level_of_biological_organization: tissue
target_cell_type:
id: "CL:0000775"
name: "neutrophil"
study_subject:
subject_type: InVivoSubject
id: "SUBJECT:001"
name: "Subject A"
model_species:
id: "NCBITaxon:9606"
name: "Homo sapiens"
age:
value: "45"
unit:
id: "UO:0000036"
name: "year"
sex: "female"
sample_type: sputum
collection_site: "pulmonary clinic"
subject_characteristics: "Non-smoker, mild asthma"
sample_collection_method: "Induced sputum with hypertonic saline nebulization"
clinical_context: "Routine monitoring, stable asthma"
follows_protocols:
- protocol_type: MolecularAssayProtocol
id: "PROTOCOL:balf-001"
name: "Sputum cell differential protocol"
detection_method: "cytospin and Diff-Quik staining"
Key points:
- Uses
target_cell_type(notcell_type) to indicate the cell population being analyzed (neutrophils) - Rich inflammatory panel:
neutrophil_percentage,eosinophil_percentage,macrophage_percentage,lymphocyte_percentage,total_cell_count - Cytokine measurements:
il8_concentration,il6_concentration,tnf_alpha_concentration - InVivoSubject with
sample_type,collection_site,sample_collection_method,clinical_context
See Container-balf_sputum.yaml for the full data file.
Protocols
The schema supports detailed documentation of experimental procedures through typed Protocols (specific procedures).
Key protocol features:
protocol_type(on Protocol): designates which concrete Protocol subclass is instantiated (e.g.,ImagingProtocol,StainingProtocol,SpirometryProtocol,MolecularAssayProtocol). This enables polymorphic dispatch — when protocols are referenced viafollows_protocolsorsub_protocols, theprotocol_typefield tells the system which subclass to use for validation and deserialization.follows_protocols(on Assay): multivalued — an assay can reference multiple protocolssub_protocols(on Protocol): protocols can compose other protocols to represent composite workflows (e.g., sample prep, wash steps, post-processing)equipment_required(on Protocol): list of equipment needed for the protocol- Any Protocol subclass (ImagingProtocol, MolecularAssayProtocol, StainingProtocol, SpirometryProtocol) is valid wherever Protocol is expected
Protocol Definition (Base) with Sub-Protocols
A protocol using base Protocol slots, including sub_protocols to compose
reusable workflow steps:
protocols:
- id: "PROTOCOL:001"
name: "High-speed video microscopy for CBF"
description: "Protocol for measuring ciliary beat frequency using high-speed video microscopy"
protocol_version: "2.1"
quality_control_criteria: "Minimum 5 fields per insert, discard if >50% debris"
replicate_requirements: 3
sub_protocols:
- id: "PROTOCOL:001a"
name: "Sample preparation for CBF imaging"
description: "Pre-imaging wash and equilibration steps"
protocol_version: "1.0"
- id: "PROTOCOL:001b"
name: "Post-imaging data export"
description: "Steps for exporting and archiving video files after acquisition"
protocol_version: "1.0"
Key points:
sub_protocolsallows a protocol to reference other protocols as part of its workflow- Sub-protocols can be any Protocol subclass (e.g., an ImagingProtocol can include a StainingProtocol as a preparation step)
- This enables reuse of common steps (wash protocols, fixation, equilibration) across multiple parent protocols
See Container-protocol.yaml for the full data file.
Protocols on Assays via follows_protocols
Assays reference protocols via the follows_protocols slot, which is multivalued.
The protocol_type field designates which concrete Protocol subclass is being used,
enabling polymorphic dispatch:
# ImagingProtocol on a CiliaryFunctionAssay
ciliary_function_assays:
- id: "CILIARY:001"
name: "CBF measurement"
has_specified_output:
id: "CILIARY:001-output"
name: "CILIARY:001 measurement results"
beat_frequency_hz:
value: "12.5"
unit:
id: "UO:0000106"
name: "hertz"
assay_date: "2024-01-15"
study_subject:
subject_type: CellularSystem
id: "soma:culture-001"
name: "Primary HBE ALI culture"
cell_type:
id: "CL:0002328"
name: "bronchial epithelial cell"
model_species:
id: "NCBITaxon:9606"
name: "Homo sapiens"
follows_protocols:
- protocol_type: ImagingProtocol
id: "PROTOCOL:cbf-001"
name: "CBF measurement by high-speed microscopy"
imaging_frame_rate:
value: "200"
unit:
id: "UO:0000105"
name: "hertz"
temperature_control:
value: "37"
unit:
id: "UO:0000027"
name: "degree Celsius"
Comprehensive AOP Example: PM2.5 Exposure -> Impaired Lung Function
This comprehensive example demonstrates an Adverse Outcome Pathway (AOP) for particulate matter (PM2.5) exposure leading to impaired lung function. The pathway includes:
- MIE (Molecular Initiating Event): Oxidative stress
- KE1 (Key Event 1): EGFR activation/phosphorylation
- KE2 (Key Event 2): Goblet cell hyperplasia and mucin hypersecretion
- KE3 (Key Event 3): Impaired mucociliary clearance
- AO (Adverse Outcome): Reduced lung function
Study Design:
- In vitro: Primary human bronchial epithelial (HBE) cells at ALI
- In vivo: Clinical cohort with spirometry
- Exposure: PM2.5 (10 ug/cm2) vs. clean air control
- Timepoints: 4h (early), 24h (intermediate), 7d (late)
See Container-comprehensive_aop_lung.yaml for the full data file.
Key features demonstrated in the comprehensive example:
- AOP linkage: Each assay uses
informs_on_key_eventto connect to the biological pathway - Output classes: Measurements wrapped in
has_specified_outputusing domain-specific output classes (e.g.,OxidativeStressOutput,CiliaryFunctionOutput,LungFunctionOutput) - Named measurement slots:
reactive_oxygen_species,egfr_phosphorylation_y1068,beat_frequency_hz,fev1inside their output classes - Protocols via
follows_protocolswithprotocol_typedesignator: ImagingProtocol, MolecularAssayProtocol, StainingProtocol, SpirometryProtocol - In vitro study subjects:
cell_typeon the StudySubject (CellularSystem) for cell culture assays - In vivo study subjects: InVivoSubject with
age,sex,subject_characteristicsfor clinical assays - Exposure conditions:
has_exposure_conditionwith agent, concentration, duration, andtiming_post_exposure - Co-exposures: Multivalued
has_exposure_conditionfor PM2.5 + ozone co-exposure - Time-course data: Multiple timepoints per assay type showing dose-response
Next Steps
- Browse the complete Schema Documentation for all available classes and slots
- Read About to learn more about the project goals
- Visit the GitHub Repository to contribute