Skip to content

Automatic protocol selection

When setting up a SmartScope run, a protocol can be selected for each grid to screen. There is also an 'auto' option. The behavior of this option can be managed from the config/smartscope/default_protocols.yaml.

At the moment, the synthax for the automated selection is quite limited and will improve over time.

First, here's how the file looks like:

##Use this file to design rules for how to automatically set default protocol for a grid.
- conditions:
    - [holeType.name, NegativeStain]
    - [holeType.name, Lacey]
    - [holeType.name, MultiA]
  mode: any
  protocol: NegativeStain
- conditions:
    - [params_id.bis_max_distance, 0]
    - [params_id.tilt_angle, '!__0']
  mode: any
  protocol: SPA
- conditions:
    - [holeType.hole_size, '!__None']
    - [params_id.bis_max_distance, '!__0']
    - [params_id.tilt_angle, 0]
  mode: all
  protocol: SPA-Ptolemy

It contains a list of conditions that will yield to the selection of a given protocol.

Synthax

Each entry in the file has 3 sections:

conditions

A list of conditions that need to be met for a protocol to be selected.

Each condition contains a key and a value. If the condition needs to be evaluating on a false response, the valued can be prefixed with !__

mode

Can have two values: any or all whether any or all conditions specified in the conditions needs to be met

protocol

The protocol that will be used if the conditions are met.