Skip to main content

Operations Wizard

The Operations Wizard adds to RSpace Inventory so researchers can run standard lab operations (such as aliquot, derive, pool, cryopreserve, revive, passage, dispose ) directly on subsamples with line…

The Operations Wizard adds to RSpace Inventory so researchers can run standard lab operations (such as aliquot, derive, pool, cryopreserve, revive, passage, dispose) directly on subsamples with lineage, quantities, and provenance captured automatically instead of via manual record creation.
The Wizard only acts on subsamples.
The Operations Wizard is disabled by default and a sysadmin must enable:
All operations except dispose end in an optional placement step into a container.

With a subsample selected, a new 'process' button is available above the subsample details pane:

There are currently 7 operatios and 6 are available on a single subsample: 'Aliquot', 'Passage', 'Derive', 'Cryopreserve', 'Revive', 'Destroy'. If you select two samples on the left hand pane, a process button is available on the left hand pane which will open to the 7th operation type: 'pool'.

The operations are described in detail below. Briefly, each operation create a new Sample with 'N' subsamples (you choose in the Wizard). The Sample will contain a link back to its 'origin' (the subsample it was created from). The link will give a relation type that is intrinsic to the operation - for example the 'Aliquot' operation has links that are always 'IsPartOf' on the created Sample, those links point back to the origin subsample.

The operations Wizard also allows a 'documentation' link. This can be to any item in the ELN or Gallery.

Operation

What it does

Origins

Request fields

Creates

Restrictions

aliquot

Splits one subsample into count equal children

exactly 1

sampleName (required), count (1 to 100, default 1), eachAmount (required), origin.amountTaken (required), optional templateId, documentedByGlobalId

New sample with count subsamples, linked IsPartOf the origin

amountTaken must be positive and no greater than what the origin holds when the operation runs

passage

Creates the next passage, numbering it from the parent sample

exactly 1

sampleName (required), count (1 to 100, default 1), eachAmount (required), optional templateId, documentedByGlobalId

New sample linked IsDerivedFrom the origin, plus a Passage number text field incremented from the parent's own passage field, starting at 1

Takes nothing from the origin. Omit amountTaken; if sent it must be exactly 0. amountMode: "all" is rejected

pool

Combines several subsamples into one new sample

2 to 100

sampleName (required), count (1 to 100, default 1), eachAmount (required), origins[].amountTaken (required on each), optional templateId, documentedByGlobalId

New sample linked HasPart to every origin

The only multi-origin operation, and the only one using the plural origins. Each origin carries its own positive amountTaken

derive

Records a named process producing a new sample

exactly 1

processName (required), sampleName (required), count (1 to 100, default 1), eachAmount (required), origin.amountTaken (required), optional templateId, documentedByGlobalId

New sample linked IsDerivedFrom the origin

processName is required and has no default. amountTaken must be positive

cryopreserve

Freezes material into a new stored sample

exactly 1

sampleName (required), count (1 to 100, default 1), eachAmount (required), origin.amountTaken (required), storageTemp (required, at most -18 °C), cryomedium (optional text), optional templateId, documentedByGlobalId

New sample linked IsDerivedFrom the origin, plus a Cryomedium text field

storageTemp above -18 °C is rejected. Omitting cryomedium still creates the Cryomedium field, empty

revive

Brings a frozen sample back into use

exactly 1

sampleName (required), count (1 to 100, default 1), eachAmount (required), origin.amountTaken (required), storageTemp (optional, 4 to 120 °C, default 4), optional templateId, documentedByGlobalId

New sample linked IsDerivedFrom the origin

Omit storageTemp and the sample is stored at 4 °C. Anything outside 4 to 120 °C is rejected

destroy

Empties the origin and creates nothing

exactly 1

origin only. No inputs, no templateId, no documentedByGlobalId

Nothing. Writes a Disposed date field on the origin, set to today in the session's timezone

Takes the whole origin. amountMode: "explicit" is rejected. Answers 200, not 201, with a null sample

After the wizard has run, it produces a sample with 'N' subsamples. The sample will have links back to the origin, any linked documents and any additional details such as 'passage number' or 'storage temperature'.

The exception to this rule is the destroy operation which does not create a sample. Destroy sets subsample origin amount to 0 and gives it a 'disposed' date.

Below is the 'pool' subsample after is has been subsequently 'destroyed'. The subsample name does not change.

Step one is choosing a template. You must make a choice, even if it is 'no template'. If a template is already chosen it will be displayed on this page and no further choice need be made.

Step two is choosing amounts. These are chosen with defaults that reflect the units and amounts of both the origin subsample and any chosen templates.

You define the absolute total amount to be taken from the origin. Not per subsample created. If you specify 1 g to be removed and 100 subsamples to be created, the total removed from the origin will be 1g and not 100g.
The amount in each sub sample does not reflect the amount removed by the operation from the origin. Its fine to remove 1g from an origin and create 100 subsamples each having 10g

For the 'pool' operation the choice is to take all from all origins, to take the same amount from all or to define an amount for each origin:

Step four is the subsample placement step.

Note that the container can be remembered in the confirmation step for future use. Use the 'change container' button if that choice no longer works and chose 'leave on my workbench' to skip this step completely.
  • List containers dont have internal location choices so the placement step can be skipped.
  • Subsamples cannot be placed inside an image container.

Notes for keyboard users:

  • Arrow keys move focus only.
  • Space toggles the focused slot. Occupied slots and picks beyond the number needed are refused.
  • Shift with an arrow adds a range from the anchor.
  • Escape clears the picks and keeps the dialog open. Escape after tabbing out of the grid still closes it.
  • A mouse click on a slot also gives it keyboard focus, so the arrows carry on from where you clicked.
  • Deselecting a previewed item in the Move dialog keeps focus in the grid instead of dropping it.
  • A short keyboard hint appears on entering the grid and disappears on the first key press.
  • Drag and drop is off in these grids, so an existing item cannot be moved by accident while picking.
  • With one item to place, a second Space moves the pick.

Step five is the summary and confirmation step and also the choice to remember these values to speed future use of that operation.

The Wizard can remember default choices for an operation and allow one click processing:

Click on 'review/edit' to choose different values to remember. Or untick the 'remember' checkbox to use different values (which will not be remembered).

How did we do?

Relationship Linking in Inventory 🧪

RSpace Inventory (RSINV) Glossary 🧪

Contact