diff --git a/src/data/examples/EMDataset-001.yaml b/src/data/examples/EMDataset-001.yaml index 9896d42..3cdd300 100644 --- a/src/data/examples/EMDataset-001.yaml +++ b/src/data/examples/EMDataset-001.yaml @@ -1,21 +1,21 @@ # Example data object --- -Instrument: - Microscope: Titan - Illumination: FloodBeam - Imaging: Brightfield - Electron_source: FEG - Acceleration_Voltage: 300 - C2_Aperture: 70 - CS: 2.7 -Acquisition: - Holder: testitest - Detector: Falcon 4i - Detector_mode: counting - Dose_per_movie: 0.5 - Datetime: "2024-01-01" - Binning_camera: 2 - Pixel_size: 1.2 +instrument: + microscope: Titan + illumination: FloodBeam + imaging: Brightfield + electron_source: FEG + acceleration_voltage: 300 + c2_Aperture: 70 + cs: 2.7 +acquisition: + holder: testitest + detector: Falcon 4i + detector_mode: counting + dose_per_movie: 0.5 + datetime: "2024-01-01" + binning_camera: 2 + pixel_size: 1.2 grant: - grant_id: SNF321 funding_agency: SNF @@ -58,8 +58,7 @@ sample: gene_name: Rib ligands: - present: false - smile: C1CCCCC1 - specimen: + specimen: concentration: 0.3 ph: 7 vitrification: false diff --git a/src/oscem_schemas/schema/acquisition.yaml b/src/oscem_schemas/schema/acquisition.yaml index 7541b3d..abff4d4 100644 --- a/src/oscem_schemas/schema/acquisition.yaml +++ b/src/oscem_schemas/schema/acquisition.yaml @@ -15,247 +15,247 @@ imports: - ./tomography classes: - base: + Base: slots: - - Acquisition - acquisition: + - acquisition + Acquisition: slots: - - Nominal_defocus - - Calibrated_defocus - - Nominal_magnification - - Calibrated_magnification - - Holder - - Holder_cryogen - - Temperature - - Microscope_software - - Detector - - Detector_mode - - Dose_per_movie - - Energy_filter - - Image_size - - Datetime - - Exposure_time - - Cryogen - - Frames_per_movie - - Grids_imaged - - Images_generated - - Binning_camera - - Pixel_size - - Specialist_Optics - - Beamshift - - Beamtilt - - Imageshift - - Beamtiltgroups - - GainRef_FlipRotate + - nominal_defocus + - calibrated_defocus + - nominal_magnification + - calibrated_magnification + - holder + - holder_cryogen + - temperature + - microscope_software + - detector + - detector_mode + - dose_per_movie + - energy_filter + - image_size + - datetime + - exposure_time + - cryogen + - frames_per_movie + - grids_imaged + - images_generated + - binning_camera + - pixel_size + - specialist_optics + - beamshift + - beamtilt + - imageshift + - beamtiltgroups + - gainref_flip_rotate slot_usage: - Detector: + detector: required: true - Dose_per_movie: + dose_per_movie: required: true - Datetime: + datetime: required: true - Binning_camera: + binning_camera: required: true - Pixel_size: + pixel_size: required: true - nominal_defocus: + NominalDefocus: slots: - - Minimal - - Maximal - calibrated_defocus: + - minimal + - maximal + CalibratedDefocus: slots: - - Minimal - - Maximal - temperature_range: + - minimal + - maximal + TemperatureRange: slots: - - Minimal - - Maximal - energy_filter: + - minimal + - maximal + EnergyFilter: slots: - - Used - - Model - - Width + - used + - model + - width slot_usage: - Used: + used: required: true - Width: + width: required: true - image_size: + ImageSize: slots: - - Height - - Width - specialist_optics: + - height + - width + SpecialistOptics: slots: - - Phaseplate - - Spherical_Aberration_Corrector - - Chromatic_Aberration_Corrector - phaseplate: + - phaseplate + - spherical_aberration_corrector + - chromatic_aberration_corrector + Phaseplate: slots: - - Used - - Type + - used + - type slot_usage: - Used: + used: required: true - Type: + type: required: true - spherical_Aberration_Corrector: + SphericalAberrationCorrector: slots: - - Used - - Type + - used + - type slot_usage: - Used: + used: required: true - Type: + type: required: true - chromatic_Aberration_Corrector: + ChromaticAberrationCorrector: slots: - - Used - - Type + - used + - type slot_usage: - Used: + used: required: true - Type: + type: required: true - beamshift: + Beamshift: slots: - - X_min - - X_max - - Y_min - - Y_max - beamtilt: + - x_min + - x_max + - y_min + - y_max + Beamtilt: slots: - - X_min - - X_max - - Y_min - - Y_max - imagehift: + - x_min + - x_max + - y_min + - y_max + Imageshift: slots: - - X_min - - X_max - - Y_min - - Y_max + - x_min + - x_max + - y_min + - y_max slots: - Acquisition: - range: acquisition - Nominal_defocus: - range: nominal_defocus + acquisition: + range: Acquisition + nominal_defocus: + range: NominalDefocus description: Target defocus set, min and max values in µm. - Minimal: + minimal: description: Minimal value of a given dataset property range: float - Maximal: + maximal: description: Maximal value of a given dataset property range: float - Calibrated_defocus: - range: calibrated_defocus + calibrated_defocus: + range: CalibratedDefocus description: Machine estimated defocus, min and max values in µm. Has a tendency to be off. - Nominal_magnification: + nominal_magnification: description: Magnification level as indicated by the instrument, no unit range: integer - Calibrated_magnification: + calibrated_magnification: description: Calculated magnification, no unit range: integer - Holder: + holder: description: Speciman holder model range: string - Holder_cryogen: + holder_cryogen: description: Type of cryogen used in the holder - if the holder is cooled seperately range: string - Temperature: - range: temperature_range + temperature: + range: TemperatureRange description: Temperature during data collection, in K with min and max values. - Microscope_software: + microscope_software: description: Software used for instrument control, range: string - Detector: + detector: description: Make and model of the detector used range: string - Detector_mode: + detector_mode: description: Operating mode of the detector range: string - Dose_per_movie: + dose_per_movie: description: Average dose per image/movie/tilt - given in electrons per square Angstrom range: float - Energy_filter: - range: energy_filter + energy_filter: + range: EnergyFilter description: Wether an energy filter was used and its specifics. - Used: + used: description: whether a specific instrument was used during data acquisition range: boolean - Model: + model: description: Make and model of a specilized device range: string - Width: + width: description: The width of a given item - unit depends on item range: integer - Height: + height: description: The height of a given item - unit depends on item range: integer - Image_size: - range: image_size + image_size: + range: ImageSize description: The size of the image in pixels, height and width given. - Datetime: + datetime: description: Time and date of the data acquisition range: datetime - Exposure_time: + exposure_time: description: Time of data acquisition per movie/tilt - in s range: float - Cryogen: + cryogen: description: Cryogen used in cooling the instrument and sample, usually nitrogen range: string - Frames_per_movie: + frames_per_movie: description: Number of frames that on average constitute a full movie, can be a bit hard to define for some detectors range: integer - Grids_imaged: + grids_imaged: description: Number of grids imaged for this project - here with qualifier during this data acquisition range: integer - Images_generated: + images_generated: description: Number of images generated total for this data collection - might need a qualifier for tilt series to determine whether full series or individual tilts are counted range: integer - Binning_camera: + binning_camera: description: Level of binning on the images applied during data collection range: float - Pixel_size: + pixel_size: description: Pixel size, in Angstrom range: float - Specialist_Optics: + specialist_optics: description: Any type of special optics, such as a phaseplate - range: specialist_optics - Phaseplate: + range: SpecialistOptics + phaseplate: description: Phaseplate is a special optics device that can be used to enhance contrast - range: phaseplate - Type: + range: Phaseplate + type: description: Details of a given specialist instrument range: string - Spherical_Aberration_Corrector: - range: spherical_Aberration_Corrector + spherical_aberration_corrector: + range: SphericalAberrationCorrector description: Specialist device to correct for spherical aberration of the microscope lenses - Chromatic_Aberration_Corrector: - range: chromatic_Aberration_Corrector + chromatic_aberration_corrector: + range: ChromaticAberrationCorrector description: Specialist device to correct for chromatic aberration of the microscope lenses - Beamshift: - range: beamshift + beamshift: + range: Beamshift description: Movement of the beam above the sample for data collection purposes that does not require movement of the stage. Given in mrad. - X_min: + x_min: range: float - X_max: + x_max: range: float - Y_min: + y_min: range: float - Y_max: + y_max: range: float - Beamtilt: - range: beamtilt + beamtilt: + range: Beamtilt description: Another way to move the beam above the sample for data collection purposes that does not require movement of the stage. Given in mrad. - Imageshift: - range: float + imageshift: + range: Imageshift description: Movement of the Beam below the image in order to shift the image on the detector. Given in µm. - Beamtiltgroups: + beamtiltgroups: range: integer description: Number of Beamtilt groups present in this dataset - for optimized processing split dataset into groups of same tilt angle. Despite its name Beamshift is often used to achive this result. - GainRef_FlipRotate: + gainref_flip_rotate: range: string description: Whether and how you have to flip or rotate the gainref in order to align with your acquired images diff --git a/src/oscem_schemas/schema/instrument.yaml b/src/oscem_schemas/schema/instrument.yaml index 782839e..7edbcec 100644 --- a/src/oscem_schemas/schema/instrument.yaml +++ b/src/oscem_schemas/schema/instrument.yaml @@ -13,57 +13,57 @@ imports: - linkml:types classes: - testschema: + TestSchema: slots: - - Instrument - instrument: + - instrument + Instrument: description: Instrument values, mostly constant across a data collection. slots: - - Microscope - - Illumination - - Imaging - - Electron_source - - Acceleration_Voltage - - C2_Aperture - - CS + - microscope + - illumination + - imaging + - electron_source + - acceleration_voltage + - c2_aperture + - cs slot_usage: - Microscope: + microscope: required: true - Illumination: + illumination: required: true - Imaging: + imaging: required: true - Electron_source: + electron_source: required: true - Acceleration_Voltage: + acceleration_voltage: required: true - CS: + cs: required: true slots: - Instrument: - range: instrument - Microscope: + instrument: + range: Instrument + microscope: description: Name/Type of the Microscope range: string - Illumination: + illumination: description: Mode of illumination used during data collection range: string - Imaging: + imaging: description: Mode of imaging used during data collection range: string - Electron_source: + electron_source: description: Type of electron source used in the microscope, such as FEG range: string - Acceleration_Voltage: + acceleration_voltage: description: Voltage used for the electron acceleration, in kV range: integer - C2_Aperture: + c2_aperture: description: C2 aperture size used in data acquisition, in µm range: integer - CS: + cs: description: Spherical aberration of the instrument, in mm range: float diff --git a/src/oscem_schemas/schema/oscem_schemas.yaml b/src/oscem_schemas/schema/oscem_schemas.yaml index 547b585..a57ef4e 100644 --- a/src/oscem_schemas/schema/oscem_schemas.yaml +++ b/src/oscem_schemas/schema/oscem_schemas.yaml @@ -27,15 +27,15 @@ classes: description: |- OSC-EM Metadata for a dataset slots: - - Acquisition - - Instrument + - acquisition + - instrument - sample - grants - authors slot_usage: - Acquisition: + acquisition: required: true - Instrument: + instrument: required: true sample: required: true diff --git a/src/oscem_schemas/schema/oscem_schemas_cellular_tomo.yaml b/src/oscem_schemas/schema/oscem_schemas_cellular_tomo.yaml new file mode 100644 index 0000000..4973723 --- /dev/null +++ b/src/oscem_schemas/schema/oscem_schemas_cellular_tomo.yaml @@ -0,0 +1,60 @@ +--- +id: https://w3id.org/osc-em/oscem-schemas +name: oscem-schemas +title: oscem-schemas +description: |- + Schema for the Open Standards Community for Electron Microscopy (OSC-EM) +license: CC-BY +see_also: + - https://osc-em.github.io/oscem-schemas + +prefixes: + oscem_schemas: https://w3id.org/osc-em/oscem-schemas/ + linkml: https://w3id.org/linkml/ +default_prefix: oscem_schemas +default_range: string + +imports: + - linkml:types + - ./acquisition + - ./instrument + - ./sample_cellular_tomo_lab + - ./tomography + - ./organizational + +classes: + EMDataset: + tree_root: true + description: |- + OSC-EM Metadata for a dataset + slots: + - acquisition + - instrument + - sample + - grants + - authors + slot_usage: + acquisition: + required: true + instrument: + required: true + sample: + required: true + grants: + required: true + authors: + required: true + AcquisitionTomo: + is_a: Acquisition + slots: + - tilt_axis_angle + - tilt_angle + slot_usage: + tilt_axis_angle: + required: true + tilt_angle: + required: true + +slots: + acquisition: + range: AcquisitionTomo diff --git a/src/oscem_schemas/schema/oscem_schemas_tomo.yaml b/src/oscem_schemas/schema/oscem_schemas_tomo.yaml index 58e896f..df7a5b0 100644 --- a/src/oscem_schemas/schema/oscem_schemas_tomo.yaml +++ b/src/oscem_schemas/schema/oscem_schemas_tomo.yaml @@ -28,15 +28,15 @@ classes: description: |- OSC-EM Metadata for a dataset slots: - - Acquisition - - Instrument + - acquisition + - instrument - sample - grants - authors slot_usage: - Acquisition: + acquisition: required: true - Instrument: + instrument: required: true sample: required: true @@ -44,13 +44,17 @@ classes: required: true authors: required: true - Acquisition: - is_a: acquisition + AcquisitionTomo: + is_a: Acquisition slots: - - TiltAxisAngle - - Tilt_angle + - tilt_axis_angle + - tilt_angle slot_usage: - TiltAxisAngle: + tilt_axis_angle: required: true - Tilt_angle: - required: true \ No newline at end of file + tilt_angle: + required: true + +slots: + acquisition: + range: AcquisitionTomo diff --git a/src/oscem_schemas/schema/oscem_schemas_wild_tomo.yaml b/src/oscem_schemas/schema/oscem_schemas_wild_tomo.yaml new file mode 100644 index 0000000..74e4326 --- /dev/null +++ b/src/oscem_schemas/schema/oscem_schemas_wild_tomo.yaml @@ -0,0 +1,60 @@ +--- +id: https://w3id.org/osc-em/oscem-schemas +name: oscem-schemas +title: oscem-schemas +description: |- + Schema for the Open Standards Community for Electron Microscopy (OSC-EM) +license: CC-BY +see_also: + - https://osc-em.github.io/oscem-schemas + +prefixes: + oscem_schemas: https://w3id.org/osc-em/oscem-schemas/ + linkml: https://w3id.org/linkml/ +default_prefix: oscem_schemas +default_range: string + +imports: + - linkml:types + - ./acquisition + - ./instrument + - ./sample_wild + - ./tomography + - ./organizational + +classes: + EMDataset: + tree_root: true + description: |- + OSC-EM Metadata for a dataset + slots: + - acquisition + - instrument + - sample + - grants + - authors + slot_usage: + acquisition: + required: true + instrument: + required: true + sample: + required: true + grants: + required: true + authors: + required: true + AcquisitionTomo: + is_a: Acquisition + slots: + - tilt_axis_angle + - tilt_angle + slot_usage: + tilt_axis_angle: + required: true + tilt_angle: + required: true + +slots: + acquisition: + range: AcquisitionTomo diff --git a/src/oscem_schemas/schema/sample_cellular_tomo_lab.yaml b/src/oscem_schemas/schema/sample_cellular_tomo_lab.yaml index 34e4154..80e51c4 100644 --- a/src/oscem_schemas/schema/sample_cellular_tomo_lab.yaml +++ b/src/oscem_schemas/schema/sample_cellular_tomo_lab.yaml @@ -13,149 +13,160 @@ imports: - linkml:types enums: - freezingmethodenum: + FreezingMethodEnum: permissible_values: - Plunge_freezing: + plunge_freezing: description: Typically used for smaller and thinner samples in both SPA and tomography. - High_pressure_freezing: + high_pressure_freezing: description: Usually used for larger organic complexes, such as organoids or even tissue samples. classes: - sample: + Sample: + slots: + - specimen + - growth_condition + - freezing + - thinning + - tomogram_features + + + Specimen: description: base information on the acquisition and treatment of the sample itself. slots: - - Organism - - Strain - - Tissue - - Source - - Handling + - organism + - strain + - tissue + - source + - handling - growth_condition: + GrowthCondition: description: how the cells were grown slots: - - Media - - Growth_location - - Cell_cycle - - Treatment - - Atmosphere - - Temperature + - media + - growth_location + - cell_cycle + - treatment + - atmosphere + - temperature - freezing: + Freezing: description: how the sample was frozen. slots: - - Cryogen - - Method - - Blotting - - Humidity - - Temperature - - Atmosphere - - Details + - cryogen + - method + - blotting + - humidity + - temperature + - atmosphere + - details - thinning: + Thinning: description: how the frozen sample was thinned by i.e. FiB-milling slots: - - Method_thin - - Instrument_thin - - Ion_source - - Target_thickness - - Lift_out + - method_thin + - instrument_thin + - ion_source + - target_thickness + - lift_out - tomogram_features: + TomogramFeatures: description: what was the target of the tomograms, and what area of a cell do they cover. slots: - - Cellular_features - - Organelles - - Main_target - - details + - cellular_features + - organelles + - main_target + - details_tomo slots: - Organism: + organism: description: the organism(s) present in your sample, if not perfectly defined try to asses as close as possible. range: string multivalued: true - Tissue: + tissue: description: if the sample is a tissue sample please indicate what type of tissue. range: string - Source: + source: description: where is this sample from? i.e. Hospital range: string - Strain: + strain: description: The strain of the organism you are working with range: string - Handling: + handling: description: What was done to the sample, please give an overview of relevant treatments. range: string - Sample: - range: sample - Cryogen: + sample: + range: Sample + cryogen: description: the cryogen used to freeze the sample, i.e. ethane range: string - Method: + method: description: freezing method - such as plunge freezing, high pressure freezing etc. - range: freezingmethodenum - Blotting: + range: FreezingMethodEnum + blotting: description: whether blotting was performed. range: boolean - Humidity: + humidity: description: humidity of the atmosphere right before/ during freezing; in %. range: float - Temperature: + temperature: description: temperature of the sample; in K. range: float - Atmosphere: + atmosphere: description: What was the atmosphere the sample was in, elaborate on any special gases present etc. range: string - Details: + details: description: Any further comments on the freezing process go here. range: string - Freezing: - range: freezing - Thinning: - range: thinning - Method_thin: + freezing: + range: Freezing + thinning: + range: Thinning + method_thin: description: The thinning method used, such as FIB milling. range: string - Instrument_thin: + instrument_thin: description: Instrument used for thinning the sample range: string - Ion_source: + ion_source: description: what ion source was used? range: string - Target_thickness: + target_thickness: description: What was the target thickness of the lamella; in nm. range: float - Lift_out: + lift_out: description: whether a lift out was performed range: boolean - Tomogram_features: - range: tomogram_features - Cellular_features: + tomogram_features: + range: TomogramFeatures + cellular_features: description: What type of cellular features are present in your tomograms? range: string - Organelles: + organelles: description: What organelles; if any; are present? range: string multivalued: true - Main_target: + main_target: description: What was the main biological target of your research for this tomogram? range: string - details: + details_tomo: description: If you have any further comments on your tomograms please leave them here range: string - Growth_condition: - range: growth_condition - Media: + growth_condition: + range: GrowthCondition + media: description: What growth media was used range: string - Growth_location: + growth_location: description: In/on what kind of surface/container the cells were grown; i.e. directly on a grid range: string - Cell_cycle: + cell_cycle: description: What was the targeted cell cycle state, if any range: string - Treatment: + treatment: description: were there any special treatment conditions; such as addition of certain chemicals etc range: string + specimen: + range: Specimen diff --git a/src/oscem_schemas/schema/sample_wild.yaml b/src/oscem_schemas/schema/sample_wild.yaml index 55e7a5e..8d8a3dc 100644 --- a/src/oscem_schemas/schema/sample_wild.yaml +++ b/src/oscem_schemas/schema/sample_wild.yaml @@ -13,129 +13,138 @@ imports: - linkml:types enums: - freezingmethodenum: + FreezingMethodEnum: permissible_values: - Plunge_freezing: + plunge_freezing: description: Typically used for smaller and thinner samples in both SPA and tomography. - High_pressure_freezing: + high_pressure_freezing: description: Usually used for larger organic complexes, such as organoids or even tissue samples. classes: - sample: + Sample: + slots: + - specimen + - freezing + - thinning + - tomogram_features + + Specimen: description: base information on the acquisition and treatment of the sample itself. slots: - - Organism - - Tissue - - Source - - Location - - Collection_date - - Handling + - organism + - tissue + - source + - location + - collection_date + - handling - freezing: + Freezing: description: how the sample was frozen. slots: - - Cryogen - - Method - - Blotting - - Humidity - - Temperature - - Atmosphere - - Details + - cryogen + - method + - blotting + - humidity + - temperature + - atmosphere + - details - thinning: + Thinning: description: how the frozen sample was thinned by i.e. FiB-milling slots: - - Method_thin - - Instrument_thin - - Ion_source - - Target_thickness - - Lift_out + - method_thin + - instrument_thin + - ion_source + - target_thickness + - lift_out - tomogram_features: + TomogramFeatures: description: what was the target of the tomograms, and what area of a cell do they cover. slots: - - Cellular_features - - Organelles - - Main_target - - details + - cellular_features + - organelles + - main_target + - details_tomo slots: - Organism: + organism: description: the organism(s) present in your sample, if not perfectly defined try to asses as close as possible. range: string multivalued: true - Tissue: + tissue: description: if the sample is a tissue sample please indicate what type of tissue. range: string - Source: + source: description: where is this sample from? i.e. Hospital range: string - Location: + location: description: the geographical location of your source, optimally in a geographic coordinate system. range: string - Collection_date: + collection_date: description: When the sample was collected range: date - Handling: + handling: description: What was done to the sample, please give an overview of relevant treatments. range: string - Sample: - range: sample - Cryogen: + sample: + range: Sample + cryogen: description: the cryogen used to freeze the sample, i.e. ethane range: string - Method: + method: description: freezing method - such as plunge freezing, high pressure freezing etc. - range: freezingmethodenum - Blotting: + range: FreezingMethodEnum + blotting: description: whether blotting was performed. range: boolean - Humidity: + humidity: description: humidity of the atmosphere right before/ during freezing; in %. range: float - Temperature: + temperature: description: temperature of the sample right before freezing; in K. range: float - Atmosphere: + atmosphere: description: What was the atmosphere the sample was in right before freezing, elaborate on any special gases present etc. range: string - Details: + details: description: Any further comments on the freezing process go here. range: string - Freezing: - range: freezing - Thinning: - range: thinning - Method_thin: + freezing: + range: Freezing + thinning: + range: Thinning + method_thin: description: The thinning method used, such as FIB milling. range: string - Instrument_thin: + instrument_thin: description: Instrument used for thinning the sample range: string - Ion_source: + ion_source: description: what ion source was used? range: string - Target_thickness: + target_thickness: description: What was the target thickness of the lamella; in nm. range: float - Lift_out: + lift_out: description: whether a lift out was performed range: boolean - Tomogram_features: - range: tomogram_features - Cellular_features: + tomogram_features: + range: TomogramFeatures + cellular_features: description: What type of cellular features are present in your tomograms? range: string - Organelles: + organelles: description: What organelles; if any; are present? range: string multivalued: true - Main_target: + main_target: description: What was the main biological target of your research for this tomogram? range: string - details: + details_tomo: description: If you have any further comments on your tomograms please leave them here range: string + specimen: + range: Specimen diff --git a/src/oscem_schemas/schema/tomography.yaml b/src/oscem_schemas/schema/tomography.yaml index cabe96b..7db6383 100644 --- a/src/oscem_schemas/schema/tomography.yaml +++ b/src/oscem_schemas/schema/tomography.yaml @@ -5,25 +5,25 @@ description: Mixin for additional fields for tomography datasets default_prefix: ex classes: - tilt_angle: + TiltAngle: description: The min, max and increment of the tilt angle in a tomography session. Unit is degree. slots: - - Minimal - - Maximal - - Increment + - minimal + - maximal + - increment slots: - TiltAxisAngle: + tilt_axis_angle: range: float description: The tilt axis angle of a tomography series - Tilt_angle: - range: tilt_angle + tilt_angle: + range: TiltAngle description: The min, max and increment of the tilt angle in a tomography session. Unit is degree. - Minimal: + minimal: description: Minimal value of a given dataset property range: float - Maximal: + maximal: description: Maximal value of a given dataset property range: float - Increment: + increment: range: float