Class: LibraryPreparation
classDiagram
  class LibraryPreparation
  click LibraryPreparation href "../LibraryPreparation"
    MaterialProcessing <|-- LibraryPreparation
      click MaterialProcessing href "../MaterialProcessing"
  LibraryPreparation : alternative_identifiers
  LibraryPreparation : description
  LibraryPreparation : end_date
  LibraryPreparation : has_failure_categorization
      LibraryPreparation --> "*" FailureCategorization : has_failure_categorization
    click FailureCategorization href "../FailureCategorization"
  LibraryPreparation : has_input
      LibraryPreparation --> "1..*" Sample : has_input
    click Sample href "../Sample"
  LibraryPreparation : has_output
      LibraryPreparation --> "1..*" ProcessedSample : has_output
    click ProcessedSample href "../ProcessedSample"
  LibraryPreparation : id
  LibraryPreparation : instrument_used
      LibraryPreparation --> "*" Instrument : instrument_used
    click Instrument href "../Instrument"
  LibraryPreparation : is_stranded
  LibraryPreparation : library_preparation_kit
  LibraryPreparation : library_type
      LibraryPreparation --> "0..1" LibraryTypeEnum : library_type
    click LibraryTypeEnum href "../LibraryTypeEnum"
  LibraryPreparation : name
  LibraryPreparation : nucl_acid_amp
      LibraryPreparation --> "0..1" TextValue : nucl_acid_amp
    click TextValue href "../TextValue"
  LibraryPreparation : pcr_cond
      LibraryPreparation --> "0..1" TextValue : pcr_cond
    click TextValue href "../TextValue"
  LibraryPreparation : pcr_cycles
  LibraryPreparation : pcr_primers
      LibraryPreparation --> "0..1" TextValue : pcr_primers
    click TextValue href "../TextValue"
  LibraryPreparation : processing_institution
      LibraryPreparation --> "0..1" ProcessingInstitutionEnum : processing_institution
    click ProcessingInstitutionEnum href "../ProcessingInstitutionEnum"
  LibraryPreparation : protocol_link
      LibraryPreparation --> "0..1" Protocol : protocol_link
    click Protocol href "../Protocol"
  LibraryPreparation : qc_comment
  LibraryPreparation : qc_status
      LibraryPreparation --> "0..1" StatusEnum : qc_status
    click StatusEnum href "../StatusEnum"
  LibraryPreparation : start_date
  LibraryPreparation : stranded_orientation
      LibraryPreparation --> "0..1" StrandedOrientationEnum : stranded_orientation
    click StrandedOrientationEnum href "../StrandedOrientationEnum"
  LibraryPreparation : target_gene
      LibraryPreparation --> "0..1" TargetGeneEnum : target_gene
    click TargetGeneEnum href "../TargetGeneEnum"
  LibraryPreparation : target_subfragment
      LibraryPreparation --> "0..1" TextValue : target_subfragment
    click TextValue href "../TextValue"
  LibraryPreparation : type
Inheritance
- NamedThing- PlannedProcess- MaterialProcessing- LibraryPreparation
 
 
- MaterialProcessing
 
- PlannedProcess
Slots
| Name | Cardinality and Range | Description | Inheritance | 
|---|---|---|---|
| is_stranded | 0..1 Boolean | Is the (RNA) library stranded or non-stranded (unstranded) | direct | 
| library_preparation_kit | 0..1 String | direct | |
| library_type | 0..1 LibraryTypeEnum | direct | |
| nucl_acid_amp | 0..1 TextValue | A link to a literature reference, electronic resource or a standard operating... | direct | 
| pcr_cond | 0..1 TextValue | Description of reaction conditions and components of polymerase chain reactio... | direct | 
| pcr_cycles | 0..1 Integer | direct | |
| pcr_primers | 0..1 TextValue | PCR primers that were used to amplify the sequence of the targeted gene, locu... | direct | 
| stranded_orientation | 0..1 StrandedOrientationEnum | Lists the strand orientiation for a stranded RNA library preparation | direct | 
| target_gene | 0..1 TargetGeneEnum | Targeted gene or locus name for marker gene studies | direct | 
| target_subfragment | 0..1 TextValue | Name of subfragment of a gene or locus | direct | 
| instrument_used | * Instrument | What instrument was used during DataGeneration or MaterialProcessing | MaterialProcessing | 
| has_input | 1..* Sample | An input to a process | PlannedProcess | 
| has_output | 1..* 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 | 
Aliases
- LibraryConstruction
Comments
- OBI:0000711 specifies a DNA input (but not ONLY a DNA input)
Identifier and Mapping Information
Schema Source
- from schema: https://w3id.org/nmdc/nmdc
Mappings
| Mapping Type | Mapped Value | 
|---|---|
| close | OBI:0000711 | 
LinkML Source
Direct
name: LibraryPreparation
comments:
- OBI:0000711 specifies a DNA input (but not ONLY a DNA input)
from_schema: https://w3id.org/nmdc/nmdc
aliases:
- LibraryConstruction
close_mappings:
- OBI:0000711
is_a: MaterialProcessing
slots:
- is_stranded
- library_preparation_kit
- library_type
- nucl_acid_amp
- pcr_cond
- pcr_cycles
- pcr_primers
- stranded_orientation
- target_gene
- target_subfragment
slot_usage:
  has_input:
    name: has_input
    required: true
    structured_pattern:
      syntax: '{id_nmdc_prefix}:(bsm|procsm)-{id_shoulder}-{id_blade}$'
      interpolated: true
  has_output:
    name: has_output
    required: true
    structured_pattern:
      syntax: '{id_nmdc_prefix}:(procsm)-{id_shoulder}-{id_blade}$'
      interpolated: true
  id:
    name: id
    required: true
    structured_pattern:
      syntax: '{id_nmdc_prefix}:libprp-{id_shoulder}-{id_blade}$'
      interpolated: true
  pcr_cond:
    name: pcr_cond
    description: Description of reaction conditions and components of polymerase chain
      reaction performed during library preparation
class_uri: nmdc:LibraryPreparation
Induced
name: LibraryPreparation
comments:
- OBI:0000711 specifies a DNA input (but not ONLY a DNA input)
from_schema: https://w3id.org/nmdc/nmdc
aliases:
- LibraryConstruction
close_mappings:
- OBI:0000711
is_a: MaterialProcessing
slot_usage:
  has_input:
    name: has_input
    required: true
    structured_pattern:
      syntax: '{id_nmdc_prefix}:(bsm|procsm)-{id_shoulder}-{id_blade}$'
      interpolated: true
  has_output:
    name: has_output
    required: true
    structured_pattern:
      syntax: '{id_nmdc_prefix}:(procsm)-{id_shoulder}-{id_blade}$'
      interpolated: true
  id:
    name: id
    required: true
    structured_pattern:
      syntax: '{id_nmdc_prefix}:libprp-{id_shoulder}-{id_blade}$'
      interpolated: true
  pcr_cond:
    name: pcr_cond
    description: Description of reaction conditions and components of polymerase chain
      reaction performed during library preparation
attributes:
  is_stranded:
    name: is_stranded
    description: Is the (RNA) library stranded or non-stranded (unstranded).
    comments:
    - A value of true means the library is stranded, flase means non-stranded.
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    alias: is_stranded
    owner: LibraryPreparation
    domain_of:
    - LibraryPreparation
    range: boolean
  library_preparation_kit:
    name: library_preparation_kit
    from_schema: https://w3id.org/nmdc/nmdc
    exact_mappings:
    - GENEPIO:0001450
    rank: 1000
    alias: library_preparation_kit
    owner: LibraryPreparation
    domain_of:
    - LibraryPreparation
    range: string
  library_type:
    name: library_type
    title: library type
    examples:
    - value: DNA
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    alias: library_type
    owner: LibraryPreparation
    domain_of:
    - LibraryPreparation
    range: LibraryTypeEnum
  nucl_acid_amp:
    name: nucl_acid_amp
    annotations:
      expected_value:
        tag: expected_value
        value: PMID, DOI or URL
    description: A link to a literature reference, electronic resource or a standard
      operating procedure (SOP), that describes the enzymatic amplification (PCR,
      TMA, NASBA) of specific nucleic acids
    title: nucleic acid amplification
    examples:
    - value: https://phylogenomics.me/protocols/16s-pcr-protocol/
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    is_a: sequencing field
    string_serialization: '{PMID}|{DOI}|{URL}'
    slot_uri: MIXS:0000038
    alias: nucl_acid_amp
    owner: LibraryPreparation
    domain_of:
    - LibraryPreparation
    range: TextValue
    multivalued: false
  pcr_cond:
    name: pcr_cond
    annotations:
      expected_value:
        tag: expected_value
        value: initial denaturation:degrees_minutes;annealing:degrees_minutes;elongation:degrees_minutes;final
          elongation:degrees_minutes;total cycles
    description: Description of reaction conditions and components of polymerase chain
      reaction performed during library preparation
    title: pcr conditions
    examples:
    - value: initial denaturation:94_3;annealing:50_1;elongation:72_1.5;final elongation:72_10;35
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    is_a: sequencing field
    string_serialization: initial denaturation:degrees_minutes;annealing:degrees_minutes;elongation:degrees_minutes;final
      elongation:degrees_minutes;total cycles
    slot_uri: MIXS:0000049
    alias: pcr_cond
    owner: LibraryPreparation
    domain_of:
    - LibraryPreparation
    range: TextValue
    multivalued: false
  pcr_cycles:
    name: pcr_cycles
    from_schema: https://w3id.org/nmdc/nmdc
    exact_mappings:
    - OBI:0002475
    rank: 1000
    alias: pcr_cycles
    owner: LibraryPreparation
    domain_of:
    - LibraryPreparation
    range: integer
  pcr_primers:
    name: pcr_primers
    annotations:
      expected_value:
        tag: expected_value
        value: 'FWD: forward primer sequence;REV:reverse primer sequence'
    description: PCR primers that were used to amplify the sequence of the targeted
      gene, locus or subfragment. This field should contain all the primers used for
      a single PCR reaction if multiple forward or reverse primers are present in
      a single PCR reaction. The primer sequence should be reported in uppercase letters
    title: pcr primers
    examples:
    - value: FWD:GTGCCAGCMGCCGCGGTAA;REV:GGACTACHVGGGTWTCTAAT
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    is_a: sequencing field
    string_serialization: FWD:{dna};REV:{dna}
    slot_uri: MIXS:0000046
    alias: pcr_primers
    owner: LibraryPreparation
    domain_of:
    - LibraryPreparation
    range: TextValue
    multivalued: false
  stranded_orientation:
    name: stranded_orientation
    description: Lists the strand orientiation for a stranded RNA library preparation.
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    alias: stranded_orientation
    owner: LibraryPreparation
    domain_of:
    - LibraryPreparation
    range: StrandedOrientationEnum
  target_gene:
    name: target_gene
    annotations:
      expected_value:
        tag: expected_value
        value: gene name
    description: Targeted gene or locus name for marker gene studies
    title: target gene
    examples:
    - value: 16S rRNA, 18S rRNA, nif, amoA, rpo
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    is_a: sequencing field
    string_serialization: '{text}'
    slot_uri: MIXS:0000044
    alias: target_gene
    owner: LibraryPreparation
    domain_of:
    - LibraryPreparation
    range: TargetGeneEnum
    multivalued: false
  target_subfragment:
    name: target_subfragment
    annotations:
      expected_value:
        tag: expected_value
        value: gene fragment name
    description: Name of subfragment of a gene or locus. Important to e.g. identify
      special regions on marker genes like V6 on 16S rRNA
    title: target subfragment
    examples:
    - value: V6, V9, ITS
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    is_a: sequencing field
    string_serialization: '{text}'
    slot_uri: MIXS:0000045
    alias: target_subfragment
    owner: LibraryPreparation
    domain_of:
    - LibraryPreparation
    range: TextValue
    multivalued: false
  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: LibraryPreparation
    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: LibraryPreparation
    domain_of:
    - PlannedProcess
    range: Sample
    required: true
    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: LibraryPreparation
    domain_of:
    - PlannedProcess
    range: ProcessedSample
    required: true
    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: LibraryPreparation
    domain_of:
    - PlannedProcess
    range: ProcessingInstitutionEnum
  protocol_link:
    name: protocol_link
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    alias: protocol_link
    owner: LibraryPreparation
    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: LibraryPreparation
    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: LibraryPreparation
    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: LibraryPreparation
    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: LibraryPreparation
    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: LibraryPreparation
    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: LibraryPreparation
    domain_of:
    - NamedThing
    range: uriorcurie
    required: true
    pattern: ^[a-zA-Z0-9][a-zA-Z0-9_\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\-\/\.,]*$
    structured_pattern:
      syntax: '{id_nmdc_prefix}:libprp-{id_shoulder}-{id_blade}$'
      interpolated: true
  name:
    name: name
    description: A human readable label for an entity
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    alias: name
    owner: LibraryPreparation
    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: LibraryPreparation
    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: LibraryPreparation
    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: LibraryPreparation
    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:LibraryPreparation