Once the structure of the data blocks in the uploaded file has been parsed and understood the data can be mapped to experiment runs (this step), followed after by assigning and naming of resources for these runs, and then mapping property values to the resources.
The first step when mapping data to runs is to indicate if new runs should be created or existing runs should be updated using the information in the file. If runs are being created runs the data on those runs may be either single- or multi-valued.
Therefore, Parsely gives you 3 mutually exclusive options at the top of the Run Rules section:
- Update existing runs on current step
- Create as many runs as rows of file data (i.e., the created runs will contain single-valued data)
- Create minimum number of runs (i.e., one or more of the created runs may contain multi-valued data)
NOTE: You cannot write data to existing runs and create new runs with a single configuration. If that functionality is needed then two configurations can be created and then executed together as a Collection.
Update existing runs on current step
After choosing to "Update existing runs on current step", it is necessary to "Specify matching conditions for writing data to correct runs." Each matching condition is a mapping between a Run Identifier in Riffyn and a Data Field Name in the data file. For example, plate-formatted data can be uploaded by using the "row" and "column" fields of a matrix data block as a pair of run identifiers. Run Descriptions or Resource Names can also be used as run identifiers. As of this writing, users are discouraged from using multi-valued properties as run identifiers since Parsely matches using only the first value written to any property.
The advantage of using the Run Description as a Run Identifier is that its values can be controlled by you. For example, you might create runs on the first step of your process and, using the instructions below, give each run a unique Run Description of your choosing (e.g., you might set each Run Description equal to a concatenation of your Plate ID, Row and Column values: "Plate 2 Well C9"). If you then use our UI to create connected runs on the Current Step, they will inherit those same Run Descriptions, which you can then use as Run Identifiers when updating these existing runs with your file data.
The disadvantage of using the Run Description as a Run Identifier is that there is no rule in Riffyn forcing each of the Run Descriptions to be unique. If Run Identifiers are not unique, Parsely will write data data to the first matching run that it finds (and write no data to any of the other matching runs). In this case the Run Number can be used instead to avoid any attempt to write your data to the correct runs. The disadvantage of using Run Numbers as Run Identifiers is that they will need to be in the data file for the data to be uploaded successfully. Getting the right Run Numbers written to the right places in the file can be especially challenging when the data in the file is ordered differently than the runs on the step, or when the workflow involves creating different sets of runs at different times.
Run Description or the Run Number are typically used as the Run Identifier, but there may be rare instances where the additional choices (Run Start, Run Stop, Run Type) would be used.
The Run Identifier should be specified if either to Update existing runs on current step or Create minimum number of runs are used. In both cases Parsely will write multi-valued data to any run that has multiple matching rows in the data file.
Create as many rows as file data
Run Identifiers do not need to be chosen when creating as many rows as file data. The runs created will contain single-valued data.
NOTE: If the created runs should be automatically connected to runs on an immediately upstream step, then the output resources of the upstream step must be assigned as input resources to the Current Step using Parsely's Resource Rules section. This feature can be especially helpful when attempting to randomize run connections or create a different number of connected runs on the Current Step for each run on the upstream step.
File data can be mapped to run attributes (e.g. run description or type) when creating new runs, using the final Run Rules section, called Run Creation Settings. Date/time-formatted data from the file can written to the Run Start and Run Stop attributes that correspond to the play and stop status buttons in the "Record Data" panel,
Note: Check how Parsely has identified the date/time-formatted data in the horizontal bar at the top of the Recognize Data Structure section:
NOTE: At the time of this writing you cannot edit run attributes that already have data, such as description or type when the runs already exist.