Skip to content

Class: InstrumentData

An abstract parent class for raw data files generated by different kinds of instruments. All subclasses must have a slot pointing upstream that specifies the analysisActivity subclass which created them.

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

URI: basalt_schema:InstrumentData

 classDiagram
    class InstrumentData
    click InstrumentData href "../InstrumentData/"
      DataProduct <|-- InstrumentData
        click DataProduct href "../DataProduct/"


      InstrumentData <|-- MassSpectrometryInstrumentData
        click MassSpectrometryInstrumentData href "../MassSpectrometryInstrumentData/"
      InstrumentData <|-- NucleotideSequencingInstrumentData
        click NucleotideSequencingInstrumentData href "../NucleotideSequencingInstrumentData/"


      InstrumentData : alternative_identifiers

      InstrumentData : compression_type

      InstrumentData : core_section





        InstrumentData --> "0..1" CoreSectionEnum : core_section
        click CoreSectionEnum href "../CoreSectionEnum/"



      InstrumentData : description

      InstrumentData : file_curie

      InstrumentData : file_type





        InstrumentData --> "0..1" FileTypeEnum : file_type
        click FileTypeEnum href "../FileTypeEnum/"



      InstrumentData : filesize

      InstrumentData : id

      InstrumentData : md5checksum

      InstrumentData : name

      InstrumentData : project

      InstrumentData : s3_base_url

      InstrumentData : s3_bucket

      InstrumentData : s3_key

      InstrumentData : sample_name

      InstrumentData : sampling_set

      InstrumentData : software_version

Inheritance

Slots

Name Cardinality and Range Description Inheritance
file_curie 0..1
String
an identifier for a file that resolves to the file's accessible location direct
alternative_identifiers 0..1
String
direct
compression_type 0..1
String
direct
file_type 0..1
FileTypeEnum
direct
software_version 0..1
String
direct
name 1
String
Human-readable name for the entity or activity DataProduct
description 1
String
Human-readable description for the entity or activity DataProduct
project 0..1
Integer
Identifier for the user project associated with the entity or activity DataProduct
sampling_set 0..1
Integer
Sampling set number for grouping related samples collected together DataProduct
core_section 0..1
CoreSectionEnum
The section of the core DataProduct
sample_name 0..1
String
The name or label that is present on the shipped sample DataProduct
s3_base_url 0..1
String
DataProduct
s3_bucket 0..1
String
DataProduct
s3_key 1
String
MinIO/S3 object key; required for all data products DataProduct
filesize 0..1
Integer
Size of the file in bytes DataProduct
md5checksum 0..1
String
DataProduct
id 1
Uuid
DataProduct

TODOs

  • all subclasses need a more specific upstream slot to replace was_generated_by
  • add subclasses for non-mass spec data
  • revisit alternative identifiers range - array?
  • revisit filetype enum - restrict on subclasses

Identifier and Mapping Information

Schema Source

Mappings

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

LinkML Source

Direct

name: InstrumentData
description: An abstract parent class for raw data files generated by different kinds  of
  instruments. All subclasses must have a slot pointing upstream that  specifies the
  analysisActivity subclass which created them.
todos:
- all subclasses need a more specific upstream slot to replace was_generated_by
- add subclasses for non-mass spec data
- revisit alternative identifiers range - array?
- revisit filetype enum - restrict on subclasses
from_schema: https://EMSL-Computing.github.io/BASALT-Schema
is_a: DataProduct
abstract: true
slots:
- file_curie
slot_usage:
  description:
    name: description
    required: true
attributes:
  alternative_identifiers:
    name: alternative_identifiers
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    rank: 1000
    domain_of:
    - InstrumentData
    - OntologyClass
    range: string
  compression_type:
    name: compression_type
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    rank: 1000
    domain_of:
    - InstrumentData
    range: string
  file_type:
    name: file_type
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    rank: 1000
    domain_of:
    - InstrumentData
    range: FileTypeEnum
  software_version:
    name: software_version
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    rank: 1000
    domain_of:
    - InstrumentData
    - DataProcessingActivity
    range: string

Induced

name: InstrumentData
description: An abstract parent class for raw data files generated by different kinds  of
  instruments. All subclasses must have a slot pointing upstream that  specifies the
  analysisActivity subclass which created them.
todos:
- all subclasses need a more specific upstream slot to replace was_generated_by
- add subclasses for non-mass spec data
- revisit alternative identifiers range - array?
- revisit filetype enum - restrict on subclasses
from_schema: https://EMSL-Computing.github.io/BASALT-Schema
is_a: DataProduct
abstract: true
slot_usage:
  description:
    name: description
    required: true
attributes:
  alternative_identifiers:
    name: alternative_identifiers
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    rank: 1000
    alias: alternative_identifiers
    owner: InstrumentData
    domain_of:
    - InstrumentData
    - OntologyClass
    range: string
  compression_type:
    name: compression_type
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    rank: 1000
    alias: compression_type
    owner: InstrumentData
    domain_of:
    - InstrumentData
    range: string
  file_type:
    name: file_type
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    rank: 1000
    alias: file_type
    owner: InstrumentData
    domain_of:
    - InstrumentData
    range: FileTypeEnum
  software_version:
    name: software_version
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    rank: 1000
    alias: software_version
    owner: InstrumentData
    domain_of:
    - InstrumentData
    - DataProcessingActivity
    range: string
  file_curie:
    name: file_curie
    description: an identifier for a file that resolves to the file's accessible location
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    rank: 1000
    alias: file_curie
    owner: InstrumentData
    domain_of:
    - InstrumentData
    range: string
  name:
    name: name
    description: Human-readable name for the entity or activity.
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    rank: 1000
    alias: name
    owner: InstrumentData
    domain_of:
    - Activity
    - Entity
    - DataProduct
    - DataGenerationActivity
    - Instrument
    - OntologyClass
    - ContainerAxis
    - Configuration
    - MobilePhaseSegment
    - MassSpectrometryStandardRun
    - PurchasedMaterial
    - LabProcessingActivity
    - organism
    - Site
    - Sample
    - SamplingActivity
    - SoilSamplingActivity
    - Study
    - SoftwareControlledTermValue
    range: string
    required: true
  description:
    name: description
    description: Human-readable description for the entity or activity
    title: description
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    rank: 1000
    alias: description
    owner: InstrumentData
    domain_of:
    - Activity
    - Entity
    - DataProduct
    - DataGenerationActivity
    - DataProcessingActivity
    - OntologyClass
    - ContainerType
    - LabDevice
    - Configuration
    - MassSpectrometryStandardRun
    - PurchasedMaterial
    - LabProcessingActivity
    - organism
    - Site
    - Sample
    - SamplingActivity
    - SoilSamplingActivity
    - Study
    - TimestampValue
    - TextValue
    - SoftwareControlledTermValue
    - ControlledTermValue
    - QuantityValue
    range: string
    required: true
  project:
    name: project
    description: 'Identifier for the user project associated with the entity or activity. '
    title: Project
    todos:
    - should this be an ID? CURIE can use the one NMDC has https://bioregistry.io/reference/emsl.project:60141
      where emsl.project is the CURIE prefix
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    aliases:
    - study
    - study_id
    - project_id
    - proposal
    - proposal_id
    rank: 1000
    alias: project
    owner: InstrumentData
    domain_of:
    - DataProduct
    - AerosolArmSample
    - AerosolSample
    - CommerciallyPurchasedSample
    - CultureEnvironmentalSample
    - FieldDeployedTerraformSample
    - MixedCultureSample
    - MonetSoilSample
    - OtherUndescribedSample
    - PlantSample
    - PureCultureSample
    - SedimentSample
    - SoilSample
    - SynthesizedMaterialSample
    - TerraformSample
    - WaterSample
    - SamplingActivity
    range: integer
  sampling_set:
    name: sampling_set
    description: 'Sampling set number for grouping related samples collected together.

      This is a user-defined sequential integer that can be used to link samples collected

      in the same sampling event or campaign.'
    title: sampling set
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    rank: 1000
    alias: sampling_set
    owner: InstrumentData
    domain_of:
    - DataProduct
    - MonetSoilSample
    range: integer
  core_section:
    name: core_section
    description: The section of the core.
    title: core section
    examples:
    - value: TOP
    - value: MID
    - value: BTM
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    rank: 1000
    alias: core_section
    owner: InstrumentData
    domain_of:
    - DataProduct
    - CoreSection
    range: CoreSectionEnum
  sample_name:
    name: sample_name
    description: 'The name or label that is present on the shipped sample. This should

      be a human readable name.'
    title: sample name
    notes:
    - This is typically an alias for the inherited 'name' slot on Sample classes.
      Defined separately for compatibility with source data files using 'sample_name'
      column headers.
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    aliases:
    - samp_name
    rank: 1000
    alias: sample_name
    owner: InstrumentData
    domain_of:
    - DataProduct
    - AerosolArmSample
    - AerosolSample
    - CommerciallyPurchasedSample
    - CultureEnvironmentalSample
    - FieldDeployedTerraformSample
    - MixedCultureSample
    - MonetSoilSample
    - OtherUndescribedSample
    - PlantSample
    - PureCultureSample
    - SedimentSample
    - SoilSample
    - SynthesizedMaterialSample
    - TerraformSample
    - WaterSample
    range: string
  s3_base_url:
    name: s3_base_url
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    rank: 1000
    alias: s3_base_url
    owner: InstrumentData
    domain_of:
    - DataProduct
    range: string
  s3_bucket:
    name: s3_bucket
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    rank: 1000
    alias: s3_bucket
    owner: InstrumentData
    domain_of:
    - DataProduct
    range: string
  s3_key:
    name: s3_key
    description: MinIO/S3 object key; required for all data products
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    rank: 1000
    alias: s3_key
    owner: InstrumentData
    domain_of:
    - DataProduct
    range: string
    required: true
  filesize:
    name: filesize
    description: Size of the file in bytes
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    rank: 1000
    alias: filesize
    owner: InstrumentData
    domain_of:
    - DataProduct
    range: integer
  md5checksum:
    name: md5checksum
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    rank: 1000
    alias: md5checksum
    owner: InstrumentData
    domain_of:
    - DataProduct
    range: string
  id:
    name: id
    from_schema: https://EMSL-Computing.github.io/BASALT-Schema
    identifier: true
    alias: id
    owner: InstrumentData
    domain_of:
    - Activity
    - Entity
    - DataProduct
    - DataGenerationActivity
    - DataProcessingActivity
    - AlternativeIdentifier
    - FunctionalAnnotationIdentifier
    - Instrument
    - OntologyClass
    - ContainerType
    - Custodian
    - InstrumentAlternativeIdentifier
    - LabDevice
    - SampleProcessing
    - ProcessingSampleLink
    - Configuration
    - MobilePhaseSegment
    - MassSpectrometryStandardRun
    - PurchasedMaterial
    - LabProcessingActivity
    - organism
    - MAOMProduct
    - WEOMProduct
    - Site
    - Sample
    - AerosolArmSample
    - AerosolSample
    - AMP2UserSample
    - CommerciallyPurchasedSample
    - CultureEnvironmentalSample
    - EngineeredStrainSample
    - FieldDeployedTerraformSample
    - MixedCultureSample
    - MonetSoilSample
    - OtherUndescribedSample
    - PlantSample
    - PureCultureSample
    - SedimentSample
    - SoilSample
    - SynthesizedMaterialSample
    - TerraformSample
    - WaterSample
    - ProcessedSample
    - CoreSection
    - SamplingActivity
    - AerosolArmSamplingActivity
    - AerosolSamplingActivity
    - CommerciallyPurchasedSamplingActivity
    - CultureEnvironmentalSamplingActivity
    - EngineeredStrainSamplingActivity
    - FieldDeployedTerraformSamplingActivity
    - MixedCultureSamplingActivity
    - MonetSoilSamplingActivity
    - OtherUndescribedSamplingActivity
    - PlantSamplingActivity
    - PureCultureSamplingActivity
    - SedimentSamplingActivity
    - SoilSamplingActivity
    - SynthesizedMaterialSamplingActivity
    - TerraformSamplingActivity
    - WaterSamplingActivity
    - Study
    - ProjectParticipant
    - TimestampValue
    - TextValue
    - SoftwareControlledTermValue
    - ControlledTermValue
    - PersonValue
    - QuantityValue
    - ConditioningValue
    - zipDownload
    range: uuid
    required: true