Skip to content

Class: WorkflowExecution

Represents an instance of an execution of a particular workflow

Note

This is an abstract class and should not be instantiated directly.

URI: nmdc:WorkflowExecution

Note

Mermaid class diagram too large to render.

Inheritance

Slots

Name Cardinality and Range Description Inheritance
ended_at_time 0..1
String
direct
execution_resource 1
ExecutionResourceEnum
The computing resource or facility where the workflow was executed direct
git_url 1
String
The url that points to the exact github location of a workflow direct
started_at_time 1
String
direct
version 0..1
String
direct
was_informed_by 1
DataGeneration
direct
has_input 1..*
NamedThing
An input to a process PlannedProcess
has_output *
NamedThing
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
FunctionalAnnotationAggMember metagenome_annotation_id range WorkflowExecution
Database workflow_execution_set range WorkflowExecution
FunctionalAnnotation was_generated_by any_of[range] WorkflowExecution
DataObject was_generated_by range WorkflowExecution
DataObject was_generated_by any_of[range] WorkflowExecution

Aliases

  • analysis

Comments

  • Each instance of this (and all other) subclasses of WorkflowExecution is a distinct run with start and stop times, potentially with different inputs and outputs

Identifier and Mapping Information

Schema Source

Mappings

Mapping Type Mapped Value
self nmdc:WorkflowExecution
native nmdc:WorkflowExecution

LinkML Source

Direct

name: WorkflowExecution
description: Represents an instance of an execution of a particular workflow
alt_descriptions:
  embl.ena:
    source: embl.ena
    description: An analysis contains secondary analysis results derived from sequence
      reads (e.g. a genome assembly)
comments:
- Each instance of this (and all other) subclasses of WorkflowExecution is a distinct
  run with start and stop times, potentially with different inputs and outputs
in_subset:
- workflow subset
from_schema: https://w3id.org/nmdc/nmdc
aliases:
- analysis
is_a: PlannedProcess
abstract: true
slots:
- ended_at_time
- execution_resource
- git_url
- started_at_time
- version
- was_informed_by
slot_usage:
  started_at_time:
    name: started_at_time
    required: true
  git_url:
    name: git_url
    required: true
  has_input:
    name: has_input
    required: true
    structured_pattern:
      syntax: '{id_nmdc_prefix}:(dobj)-{id_shoulder}-{id_blade}$'
      interpolated: true
  has_output:
    name: has_output
    structured_pattern:
      syntax: '{id_nmdc_prefix}:(dobj)-{id_shoulder}-{id_blade}$'
      interpolated: true
  execution_resource:
    name: execution_resource
    required: true
  was_informed_by:
    name: was_informed_by
    required: true
class_uri: nmdc:WorkflowExecution
rules:
- preconditions:
    slot_conditions:
      qc_status:
        name: qc_status
        equals_string: pass
  postconditions:
    slot_conditions:
      has_output:
        name: has_output
        required: true
  description: If qc_status has a value of pass, then the has_output slot is required.
  title: qc_status_pass_has_output_required
- preconditions:
    slot_conditions:
      qc_status:
        name: qc_status
        value_presence: ABSENT
  postconditions:
    slot_conditions:
      has_output:
        name: has_output
        required: true
  description: If qc_status is not specified, then the has_output slot is required.
  title: qc_status_pass_null_has_output_required

Induced

name: WorkflowExecution
description: Represents an instance of an execution of a particular workflow
alt_descriptions:
  embl.ena:
    source: embl.ena
    description: An analysis contains secondary analysis results derived from sequence
      reads (e.g. a genome assembly)
comments:
- Each instance of this (and all other) subclasses of WorkflowExecution is a distinct
  run with start and stop times, potentially with different inputs and outputs
in_subset:
- workflow subset
from_schema: https://w3id.org/nmdc/nmdc
aliases:
- analysis
is_a: PlannedProcess
abstract: true
slot_usage:
  started_at_time:
    name: started_at_time
    required: true
  git_url:
    name: git_url
    required: true
  has_input:
    name: has_input
    required: true
    structured_pattern:
      syntax: '{id_nmdc_prefix}:(dobj)-{id_shoulder}-{id_blade}$'
      interpolated: true
  has_output:
    name: has_output
    structured_pattern:
      syntax: '{id_nmdc_prefix}:(dobj)-{id_shoulder}-{id_blade}$'
      interpolated: true
  execution_resource:
    name: execution_resource
    required: true
  was_informed_by:
    name: was_informed_by
    required: true
attributes:
  ended_at_time:
    name: ended_at_time
    notes:
    - 'The regex for ISO-8601 format was taken from here: https://www.myintervals.com/blog/2009/05/20/iso-8601-date-validation-that-doesnt-suck/
      It may not be complete, but it is good enough for now.'
    from_schema: https://w3id.org/nmdc/nmdc
    mappings:
    - prov:endedAtTime
    rank: 1000
    alias: ended_at_time
    owner: WorkflowExecution
    domain_of:
    - WorkflowExecution
    range: string
    pattern: ^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24\:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$
  execution_resource:
    name: execution_resource
    description: The computing resource or facility where the workflow was executed.
    examples:
    - value: NERSC-Cori
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    alias: execution_resource
    owner: WorkflowExecution
    domain_of:
    - WorkflowExecution
    range: ExecutionResourceEnum
    required: true
  git_url:
    name: git_url
    description: The url that points to the exact github location of a workflow.
    examples:
    - value: https://github.com/microbiomedata/mg_annotation/releases/tag/0.1
    - value: https://github.com/microbiomedata/metaMS/blob/master/metaMS/gcmsWorkflow.py
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    alias: git_url
    owner: WorkflowExecution
    domain_of:
    - WorkflowExecution
    range: string
    required: true
  started_at_time:
    name: started_at_time
    notes:
    - 'The regex for ISO-8601 format was taken from here: https://www.myintervals.com/blog/2009/05/20/iso-8601-date-validation-that-doesnt-suck/
      It may not be complete, but it is good enough for now.'
    from_schema: https://w3id.org/nmdc/nmdc
    mappings:
    - prov:startedAtTime
    rank: 1000
    alias: started_at_time
    owner: WorkflowExecution
    domain_of:
    - WorkflowExecution
    range: string
    required: true
    pattern: ^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24\:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$
  version:
    name: version
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    alias: version
    owner: WorkflowExecution
    domain_of:
    - WorkflowExecution
    range: string
  was_informed_by:
    name: was_informed_by
    from_schema: https://w3id.org/nmdc/nmdc
    mappings:
    - prov:wasInformedBy
    rank: 1000
    alias: was_informed_by
    owner: WorkflowExecution
    domain_of:
    - WorkflowExecution
    range: DataGeneration
    required: 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: WorkflowExecution
    domain_of:
    - PlannedProcess
    range: NamedThing
    required: true
    multivalued: true
    structured_pattern:
      syntax: '{id_nmdc_prefix}:(dobj)-{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: WorkflowExecution
    domain_of:
    - PlannedProcess
    range: NamedThing
    multivalued: true
    structured_pattern:
      syntax: '{id_nmdc_prefix}:(dobj)-{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: WorkflowExecution
    domain_of:
    - PlannedProcess
    range: ProcessingInstitutionEnum
  protocol_link:
    name: protocol_link
    from_schema: https://w3id.org/nmdc/nmdc
    rank: 1000
    alias: protocol_link
    owner: WorkflowExecution
    domain_of:
    - 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: WorkflowExecution
    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: WorkflowExecution
    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: WorkflowExecution
    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: WorkflowExecution
    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: WorkflowExecution
    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
    rank: 1000
    identifier: true
    alias: id
    owner: WorkflowExecution
    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: WorkflowExecution
    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: WorkflowExecution
    domain_of:
    - ImageValue
    - NamedThing
    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: WorkflowExecution
    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:
    - replaces legacy nmdc:type slot
    - 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
    rank: 1000
    slot_uri: rdf:type
    designates_type: true
    alias: type
    owner: WorkflowExecution
    domain_of:
    - EukEval
    - FunctionalAnnotationAggMember
    - MobilePhaseSegment
    - PortionOfSubstance
    - MagBin
    - MetaboliteIdentification
    - PeptideQuantification
    - ProteinQuantification
    - GenomeFeature
    - FunctionalAnnotation
    - AttributeValue
    - NamedThing
    - FailureCategorization
    - Protocol
    - CreditAssociation
    - Doi
    range: uriorcurie
    required: true
class_uri: nmdc:WorkflowExecution
rules:
- preconditions:
    slot_conditions:
      qc_status:
        name: qc_status
        equals_string: pass
  postconditions:
    slot_conditions:
      has_output:
        name: has_output
        required: true
  description: If qc_status has a value of pass, then the has_output slot is required.
  title: qc_status_pass_has_output_required
- preconditions:
    slot_conditions:
      qc_status:
        name: qc_status
        value_presence: ABSENT
  postconditions:
    slot_conditions:
      has_output:
        name: has_output
        required: true
  description: If qc_status is not specified, then the has_output slot is required.
  title: qc_status_pass_null_has_output_required