Modeling Workflows
In this section
This section will help you:
Understand what Workflows are and when they are used.
Understand design considerations and best practices for modeling Workflows.
Know how to create and edit Workflows, using:
Workflow Details
Protocol Library
Sample Sets
Data Links
Key Terms
Term | Definition |
---|---|
Workflow | Ordered collection of Protocols, representing a discrete unit of operation. |
Protocol Library | List of all Protocols registered in the system. |
Sample Set | Entities processed in a Protocol. |
Data Link | Pull external and upstream data into a Protocol from the same Workflow or an upstream Workflow in the Workflow Chain. |
What are Workflows and when are they used in L7|ESP?
Workflows are an ordered collection of Protocols, and represent the smallest business unit that can be submitted to an Experiment.
How to model Workflows
Workflows are created to process a group of Protocols that are executed as a discrete unit of a business process.
When to create a new Workflow
Discrete units of operation.
Branching in the business process.
Entity hand-offs (intradepartmental).
Provenance should capture who executed the Experiment, and the details of that Experiment.
Experimental stopping points.
Important when tracking operational metrics like turnaround time.
Changes in Experimental throughput.
Pooling Entities from multiple Experiments into a single Worksheet (e.g., Library Prep → Sequencing).
Design considerations:
How will Experiments be named using this Workflow?
What type of Entities can be submitted to this Workflow?
Who should have access to this Workflow?
Should changes to the Workflow (and its Protocols) impact the version used by End Users?
What Entities are being processed in each Protocol?
Are there external data dependencies in any of the Protocols?
How to create a new Workflow
Go to: Builders (L7|Master) → Workflows → + New Workflow
Workflow Details
Use in manufacturing - should be set to “Yes” for Workflows that will be used in MES.
Version - each time a Workflow has any of its details changed and saved, a new version of the Workflow is created.
Pin - locks the Workflow into a previously saved version (including its Protocols).
Note
Pinning allows you to version control your content.
Experiment Name Sequence - custom name that can be assigned to a newly created Experiment for the selected Workflow or Workflow Chain if the Workflow is the starting node.
NONE:
User always specifies the Experiment name.
Sequence selected but not the “only use sequence for new experiment names” checkbox:
User has the option to auto generate or manually specify the Experiment name.
Sequence and the checkbox selected:
L7|ESP auto generates the Experiment name.
Note
Experiment ID Sequences are created in the id_sequences block of the esp Configuration File. Refer to Configuring ID Sequences for more information.
Entity Types - restricts the Entities, by type, that can be submitted to an instance of this Workflow. These are the existing Entities or new Entities that can be added when creating a new Experiment.
Workgroups - restricts who has access to the Workflow in L7|Master and the Projects app when creating a new Experiment.
Custom Icon - assigns the Workflow an icon in the Workflow Chain builder.
Protocol Library
The Protocol Library displays all Protocols registered in the system. Once a Protocol has been added to the Workflow, it will appear grayed out in the Library.
Using the Protocol Library, you can:
Create new Protocols (+ Create New Protocol)
Edit existing Protocols by selecting a Protocol in the Library.
Construct the Workflow by selecting a Protocol from the Library, then drag and drop it into the main viewing window. As additional Protocols are added, you can rearrange their order by dragging them to a new position (an arrow with a green + sign will indicate the new placement).
Drag and drop Protocols back into the Library to remove them from the Workflow.
Note
The same Protocol cannot be used more than once in a Workflow. However, Protocols can be duplicated by expanding the Save menu and selecting Save As.
Note
Workflows cannot start with a Sample Protocol. L7|ESP assumes that the Entities submitted or transitioned to an Experiment are the same Entities in the first Protocol of the Workflow.
Sample Sets
Each Protocol in the Workflow is assigned a Sample Set - the Entities processed in that Protocol.
The first Sample Set is the collection of Entities submitted/transitioned to the Workflow. New Sample Sets are introduced with Sample Protocols. This new, or existing Sample Sets in the Workflow, can be assigned to downstream Protocols in the Workflow. This dynamic feature allows the End User to process more than one (1) set of Entities in the same Workflow, streamlining the business process.
In the absence of a Sample Protocol, every Protocol in the Workflow will use the same Sample Set.
Data Links
Data links are established at the Workflow level to pull external and upstream data into a Protocol from the same Workflow, or an upstream Workflow in the Workflow Chain. This level of automation prevents the End User from having to enter the same data more than once.
Note
Default values should be used to reference data in the same Protocol.
To create a data link, select the Protocol in the Workflow builder, then + Create next to the field in the Data Link
column. Once created, the Data Link
column will indicate the field is Linked.
Note
The data link builder in L7|ESP only supports links to upstream Protocols in the same Workflow. However, data links can be established between Workflows using cell and chain_cell.
If the value can come from more than one upstream field, consider tagged_value.
Commonly Used Expressions for Data Links
Expression | Description |
---|---|
| Links a value from a field in an upstream Protocol. |
| Links a value from a field in an upstream Protocol, where the parent of the current Entity was processed. |
| Links a value from a tagged field associated with an Entity or Protocol. |
| Links a value from a field associated with the current Entity in the Protocol. |
| Links a value from a field associated with the parent of the current Entity in the Protocol. |
Note
Additional information about these Expressions and the L7|ESP Expression Language can be found here and in Section 6 of the User Documentation.