Class: MaterialProcessing
A process that takes one or more samples as inputs and generates one or more samples as outputs.
Note
This is an abstract class and should not be instantiated directly.
classDiagram
  class MaterialProcessing
  click MaterialProcessing href "../MaterialProcessing"
    PlannedProcess <|-- MaterialProcessing
      click PlannedProcess href "../PlannedProcess"
    MaterialProcessing <|-- Pooling
      click Pooling href "../Pooling"
    MaterialProcessing <|-- Extraction
      click Extraction href "../Extraction"
    MaterialProcessing <|-- LibraryPreparation
      click LibraryPreparation href "../LibraryPreparation"
    MaterialProcessing <|-- SubSamplingProcess
      click SubSamplingProcess href "../SubSamplingProcess"
    MaterialProcessing <|-- MixingProcess
      click MixingProcess href "../MixingProcess"
    MaterialProcessing <|-- FiltrationProcess
      click FiltrationProcess href "../FiltrationProcess"
    MaterialProcessing <|-- ChromatographicSeparationProcess
      click ChromatographicSeparationProcess href "../ChromatographicSeparationProcess"
    MaterialProcessing <|-- DissolvingProcess
      click DissolvingProcess href "../DissolvingProcess"
    MaterialProcessing <|-- ChemicalConversionProcess
      click ChemicalConversionProcess href "../ChemicalConversionProcess"
  MaterialProcessing : alternative_identifiers
  MaterialProcessing : description
  MaterialProcessing : end_date
  MaterialProcessing : has_failure_categorization
      MaterialProcessing --> "*" FailureCategorization : has_failure_categorization
    click FailureCategorization href "../FailureCategorization"
  MaterialProcessing : has_input
      MaterialProcessing --> "*" Sample : has_input
    click Sample href "../Sample"
  MaterialProcessing : has_output
      MaterialProcessing --> "*" ProcessedSample : has_output
    click ProcessedSample href "../ProcessedSample"
  MaterialProcessing : id
  MaterialProcessing : instrument_used
      MaterialProcessing --> "*" Instrument : instrument_used
    click Instrument href "../Instrument"
  MaterialProcessing : name
  MaterialProcessing : processing_institution
      MaterialProcessing --> "0..1" ProcessingInstitutionEnum : processing_institution
    click ProcessingInstitutionEnum href "../ProcessingInstitutionEnum"
  MaterialProcessing : protocol_link
      MaterialProcessing --> "0..1" Protocol : protocol_link
    click Protocol href "../Protocol"
  MaterialProcessing : qc_comment
  MaterialProcessing : qc_status
      MaterialProcessing --> "0..1" StatusEnum : qc_status
    click StatusEnum href "../StatusEnum"
  MaterialProcessing : start_date
  MaterialProcessing : type
Inheritance
Slots
| Name | Cardinality and Range | Description | Inheritance | 
|---|---|---|---|
| instrument_used | * Instrument | What instrument was used during DataGeneration or MaterialProcessing | direct | 
| has_input | * Sample | An input to a process | PlannedProcess | 
| has_output | * ProcessedSample | An output from a process | PlannedProcess | 
| processing_institution | 0..1 ProcessingInstitutionEnum | The organization that processed the sample | PlannedProcess | 
| protocol_link | 0..1 Protocol | PlannedProcess | |
| start_date | 0..1 String | The date on which any process or activity was started | PlannedProcess | 
| end_date | 0..1 String | The date on which any process or activity was ended | PlannedProcess | 
| qc_status | 0..1 StatusEnum | Stores information about the result of a process (ie the process of sequencin... | PlannedProcess | 
| qc_comment | 0..1 String | Slot to store additional comments about laboratory or workflow output | PlannedProcess | 
| has_failure_categorization | * FailureCategorization | PlannedProcess | |
| id | 1 Uriorcurie | A unique identifier for a thing | NamedThing | 
| name | 0..1 String | A human readable label for an entity | NamedThing | 
| description | 0..1 String | a human-readable description of a thing | NamedThing | 
| alternative_identifiers | * Uriorcurie | A list of alternative identifiers for the entity | NamedThing | 
| type | 1 Uriorcurie | the class_uri of the class that has been instantiated | NamedThing | 
Usages
| used by | used in | type | used | 
|---|---|---|---|
| Database | material_processing_set | range | MaterialProcessing | 
Identifier and Mapping Information
Schema Source
- from schema: https://w3id.org/nmdc/nmdc
Mappings
| Mapping Type | Mapped Value | 
|---|---|
| broad | OBI:0000094 | 
LinkML Source
Direct
name: MaterialProcessing
description: A process that takes one or more samples as inputs and generates one
  or more samples as outputs.
notes:
- This class is a replacement for BiosampleProcessing.
from_schema: https://w3id.org/nmdc/nmdc
broad_mappings:
- OBI:0000094
is_a: PlannedProcess
abstract: true
slots:
- instrument_used
slot_usage:
  has_input:
    name: has_input
    range: Sample
    structured_pattern:
      syntax: '{id_nmdc_prefix}:(bsm|procsm)-{id_shoulder}-{id_blade}$'
      interpolated: true
  has_output:
    name: has_output
    range: ProcessedSample
    structured_pattern:
      syntax: '{id_nmdc_prefix}:(procsm)-{id_shoulder}-{id_blade}$'
      interpolated: true
class_uri: nmdc:MaterialProcessing
Induced
name: MaterialProcessing
description: A process that takes one or more samples as inputs and generates one
  or more samples as outputs.
notes:
- This class is a replacement for BiosampleProcessing.
from_schema: https://w3id.org/nmdc/nmdc
broad_mappings:
- OBI:0000094
is_a: PlannedProcess
abstract: true
slot_usage:
  has_input:
    name: has_input
    range: Sample
    structured_pattern:
      syntax: '{id_nmdc_prefix}:(bsm|procsm)-{id_shoulder}-{id_blade}$'
      interpolated: true
  has_output:
    name: has_output
    range: ProcessedSample
    structured_pattern:
      syntax: '{id_nmdc_prefix}:(procsm)-{id_shoulder}-{id_blade}$'
      interpolated: true
attributes:
  instrument_used:
    name: instrument_used
    description: What instrument was used during DataGeneration or MaterialProcessing.
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    alias: instrument_used
    owner: MaterialProcessing
    domain_of:
    - MaterialProcessing
    - DataGeneration
    range: Instrument
    multivalued: true
    structured_pattern:
      syntax: '{id_nmdc_prefix}:inst-{id_shoulder}-{id_blade}$'
      interpolated: true
  has_input:
    name: has_input
    description: An input to a process.
    from_schema: https://w3id.org/nmdc/nmdc
    aliases:
    - input
    rank: 1000
    alias: has_input
    owner: MaterialProcessing
    domain_of:
    - PlannedProcess
    range: Sample
    multivalued: true
    structured_pattern:
      syntax: '{id_nmdc_prefix}:(bsm|procsm)-{id_shoulder}-{id_blade}$'
      interpolated: true
  has_output:
    name: has_output
    description: An output from a process.
    from_schema: https://w3id.org/nmdc/nmdc
    aliases:
    - output
    rank: 1000
    alias: has_output
    owner: MaterialProcessing
    domain_of:
    - PlannedProcess
    range: ProcessedSample
    multivalued: true
    structured_pattern:
      syntax: '{id_nmdc_prefix}:(procsm)-{id_shoulder}-{id_blade}$'
      interpolated: true
  processing_institution:
    name: processing_institution
    description: The organization that processed the sample.
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    alias: processing_institution
    owner: MaterialProcessing
    domain_of:
    - PlannedProcess
    range: ProcessingInstitutionEnum
  protocol_link:
    name: protocol_link
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    alias: protocol_link
    owner: MaterialProcessing
    domain_of:
    - Configuration
    - PlannedProcess
    - Study
    range: Protocol
  start_date:
    name: start_date
    description: The date on which any process or activity was started
    todos:
    - add date string validation pattern
    comments:
    - We are using string representations of dates until all components of our ecosystem
      can handle ISO 8610 dates
    - The date should be formatted as YYYY-MM-DD
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    alias: start_date
    owner: MaterialProcessing
    domain_of:
    - PlannedProcess
    range: string
  end_date:
    name: end_date
    description: The date on which any process or activity was ended
    todos:
    - add date string validation pattern
    comments:
    - We are using string representations of dates until all components of our ecosystem
      can handle ISO 8610 dates
    - The date should be formatted as YYYY-MM-DD
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    alias: end_date
    owner: MaterialProcessing
    domain_of:
    - PlannedProcess
    range: string
  qc_status:
    name: qc_status
    description: Stores information about the result of a process (ie the process
      of sequencing a library may have for qc_status of 'fail' if not enough data
      was generated)
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    alias: qc_status
    owner: MaterialProcessing
    domain_of:
    - PlannedProcess
    range: StatusEnum
  qc_comment:
    name: qc_comment
    description: Slot to store additional comments about laboratory or workflow output.
      For workflow output it may describe the particular workflow stage that failed.
      (ie Failed at call-stage due to a malformed fastq file).
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    alias: qc_comment
    owner: MaterialProcessing
    domain_of:
    - PlannedProcess
    range: string
  has_failure_categorization:
    name: has_failure_categorization
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    alias: has_failure_categorization
    owner: MaterialProcessing
    domain_of:
    - PlannedProcess
    range: FailureCategorization
    multivalued: true
    inlined: true
    inlined_as_list: true
  id:
    name: id
    description: A unique identifier for a thing. Must be either a CURIE shorthand
      for a URI or a complete URI
    notes:
    - 'abstracted pattern: prefix:typecode-authshoulder-blade(.version)?(_seqsuffix)?'
    - a minimum length of 3 characters is suggested for typecodes, but 1 or 2 characters
      will be accepted
    - typecodes must correspond 1:1 to a class in the NMDC schema. this will be checked
      via per-class id slot usage assertions
    - minting authority shoulders should probably be enumerated and checked in the
      pattern
    examples:
    - value: nmdc:mgmag-00-x012.1_7_c1
      description: https://github.com/microbiomedata/nmdc-schema/pull/499#discussion_r1018499248
    from_schema: https://w3id.org/nmdc/nmdc
    structured_aliases:
      workflow_execution_id:
        literal_form: workflow_execution_id
        predicate: NARROW_SYNONYM
        contexts:
        - https://bitbucket.org/berkeleylab/jgi-jat/macros/nmdc_metadata.yaml
      data_object_id:
        literal_form: data_object_id
        predicate: NARROW_SYNONYM
        contexts:
        - https://bitbucket.org/berkeleylab/jgi-jat/macros/nmdc_metadata.yaml
    rank: 1000
    identifier: true
    alias: id
    owner: MaterialProcessing
    domain_of:
    - NamedThing
    range: uriorcurie
    required: true
    pattern: ^[a-zA-Z0-9][a-zA-Z0-9_\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\-\/\.,]*$
  name:
    name: name
    description: A human readable label for an entity
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    alias: name
    owner: MaterialProcessing
    domain_of:
    - PersonValue
    - NamedThing
    - Protocol
    range: string
  description:
    name: description
    description: a human-readable description of a thing
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    slot_uri: dcterms:description
    alias: description
    owner: MaterialProcessing
    domain_of:
    - ImageValue
    - NamedThing
    - Protocol
    range: string
  alternative_identifiers:
    name: alternative_identifiers
    description: A list of alternative identifiers for the entity.
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    alias: alternative_identifiers
    owner: MaterialProcessing
    domain_of:
    - MetaboliteIdentification
    - NamedThing
    range: uriorcurie
    multivalued: true
    pattern: ^[a-zA-Z0-9][a-zA-Z0-9_\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\-\/\.,\(\)\=\#]*$
  type:
    name: type
    description: the class_uri of the class that has been instantiated
    notes:
    - makes it easier to read example data files
    - required for polymorphic MongoDB collections
    examples:
    - value: nmdc:Biosample
    - value: nmdc:Study
    from_schema: https://w3id.org/nmdc/nmdc
    see_also:
    - https://github.com/microbiomedata/nmdc-schema/issues/1048
    - https://github.com/microbiomedata/nmdc-schema/issues/1233
    - https://github.com/microbiomedata/nmdc-schema/issues/248
    structured_aliases:
      workflow_execution_class:
        literal_form: workflow_execution_class
        predicate: NARROW_SYNONYM
        contexts:
        - https://bitbucket.org/berkeleylab/jgi-jat/macros/nmdc_metadata.yaml
    rank: 1000
    slot_uri: rdf:type
    designates_type: true
    alias: type
    owner: MaterialProcessing
    domain_of:
    - EukEval
    - FunctionalAnnotationAggMember
    - PeptideQuantification
    - ProteinQuantification
    - MobilePhaseSegment
    - PortionOfSubstance
    - MagBin
    - MetaboliteIdentification
    - GenomeFeature
    - FunctionalAnnotation
    - AttributeValue
    - NamedThing
    - OntologyRelation
    - FailureCategorization
    - Protocol
    - CreditAssociation
    - Doi
    range: uriorcurie
    required: true
class_uri: nmdc:MaterialProcessing