Configuration

Definitions

Parakeet is configured via a YAML configuration file. The parameters of the configuration file are defined below and additional example configuation files can be seen at the bottom of the page.

$defs:
Auto:
const:

auto

description:

An enumeration just containing auto

enum:
  • auto

title:

Auto

type:

string

Beam:
additionalProperties:

False

description:

A model to describe the beam

properties:
energy:
description:

The electron energy (keV)

title:

Energy

type:

number

energy_spread:
description:

The energy spread (dE/E)

title:

Energy Spread

type:

number

acceleration_voltage_spread:
description:

The acceleration voltage spread (dV/V)

title:

Acceleration Voltage Spread

type:

number

electrons_per_angstrom:
description:

The number of electrons per square angstrom. This is the dose per image (across all fractions).

title:

Electrons Per Angstrom

type:

number

illumination_semiangle:
description:

The illumination semiangle (mrad).

title:

Illumination Semiangle

type:

number

theta:
description:

The beam tilt theta angle (deg)

title:

Theta

type:

number

phi:
description:

The beam tilt phi angle (deg)

title:

Phi

type:

number

incident_wave:
anyOf:
  • type:

    string

  • type:

    null

description:

The filename of a custom input wave function. The default is a flat field.

title:

Incident Wave

title:

Beam

type:

object

CoordinateFile:
additionalProperties:

False

description:

A model to describe a local coordinate file

properties:
filename:
anyOf:
  • type:

    string

  • type:

    null

description:

The filename of the atomic coordinates to use (*.pdb, *.cif)

title:

Filename

recentre:
description:

Recentre the coordinates

title:

Recentre

type:

boolean

scale:
description:

Scale the coordinates x’ = x * scale

title:

Scale

type:

number

position:
anyOf:
  • maxItems:

    3

    minItems:

    3

    prefixItems:
    • type:

      number

    • type:

      number

    • type:

      number

    type:

    array

  • type:

    null

description:

The model position (A, A, A). If recentre if set then the model will be centred on the given position. If recentre if not set then the model will be translated by the given position.

examples:
  • position: null # Assign [0, 0, 0] position

  • position: [1, 2, 3] # Assign known position

title:

Position

orientation:
anyOf:
  • maxItems:

    3

    minItems:

    3

    prefixItems:
    • type:

      number

    • type:

      number

    • type:

      number

    type:

    array

  • type:

    null

description:

The model orientation defined as a rotation vector where the direction of the vector gives the rotation axis and the magnitude of the vector gives the rotation angle in radians. Setting this to null or an empty list will cause parakeet to give a zero orientation

examples:
  • orienation: null # Assign [0, 0, 0] orienation

  • orienation: [1, 2, 3] # Assign known orienation

title:

Orientation

title:

CoordinateFile

type:

object

Cube:
additionalProperties:

False

description:

A model of a cubic sample shape

properties:
length:
description:

The cube side length (A)

exclusiveMinimum:

0.0

title:

Length

type:

number

title:

Cube

type:

object

Cuboid:
additionalProperties:

False

description:

A model of a cuboid sample shape

properties:
length_x:
description:

The cuboid X side length (A)

exclusiveMinimum:

0.0

title:

Length X

type:

number

length_y:
description:

The cuboid Y side length (A)

exclusiveMinimum:

0.0

title:

Length Y

type:

number

length_z:
description:

The cuboid Z side length (A)

exclusiveMinimum:

0.0

title:

Length Z

type:

number

title:

Cuboid

type:

object

Cylinder:
additionalProperties:

False

description:

A model of a cylindrical sample shape

properties:
length:
description:

The cylinder length (A)

exclusiveMinimum:

0.0

title:

Length

type:

number

radius:
anyOf:
  • type:

    number

  • items:
    type:

    number

    type:

    array

description:

The cylinder radius (A)

gt:

0

title:

Radius

axis:
description:

The axis of the cylinder

maxItems:

3

minItems:

3

prefixItems:
  • type:

    number

  • type:

    number

  • type:

    number

title:

Axis

type:

array

offset_x:
anyOf:
  • items:
    type:

    number

    type:

    array

  • type:

    null

description:

The x offset as a function of cylinder y position

title:

Offset X

offset_z:
anyOf:
  • items:
    type:

    number

    type:

    array

  • type:

    null

description:

The z offset as a function of cylinder y position

title:

Offset Z

title:

Cylinder

type:

object

Detector:
additionalProperties:

False

description:

A model to describe the detector

properties:
nx:
description:

The number of pixels in X

title:

Nx

type:

integer

ny:
description:

The number of pixels in Y

title:

Ny

type:

integer

pixel_size:
description:

The pixel size (A)

title:

Pixel Size

type:

number

dqe:
description:

Use the DQE model (True/False)

title:

Dqe

type:

boolean

origin:
description:

The origin of the detector in lab space(A,A)

maxItems:

2

minItems:

2

prefixItems:
  • type:

    integer

  • type:

    integer

title:

Origin

type:

array

title:

Detector

type:

object

Device:
description:

An enumeration to set whether to run on the GPU or CPU

enum:
  • gpu

  • cpu

title:

Device

type:

string

Drift:
additionalProperties:

False

description:

A model to describe the beam drift

properties:
x:
anyOf:
  • type:

    number

  • maxItems:

    2

    minItems:

    2

    prefixItems:
    • type:

      number

    • type:

      number

    type:

    array

description:

The model for the x drift a + b*theta**4 (A)

title:

X

y:
anyOf:
  • type:

    number

  • maxItems:

    2

    minItems:

    2

    prefixItems:
    • type:

      number

    • type:

      number

    type:

    array

description:

The model for the y drift a + b*theta**4 (A)

title:

Y

z:
anyOf:
  • type:

    number

  • maxItems:

    2

    minItems:

    2

    prefixItems:
    • type:

      number

    • type:

      number

    type:

    array

description:

The model for the z drift a + b*theta**4 (A)

title:

Z

title:

Drift

type:

object

Ice:
additionalProperties:

False

description:

A model to describe a uniform random atomic ice model. If generate is True then generate random water positions with a given density. It is usually better to use the Gaussian Random Field (GRF) ice model which can be set in the simulation model.

properties:
generate:
description:

Generate the atomic ice model (True/False)

title:

Generate

type:

boolean

density:
description:

The density of the ice (Kg/m3)

title:

Density

type:

number

title:

Ice

type:

object

IceParameters:
additionalProperties:

False

description:

A model to describe the ice parameters

properties:
m1:
description:

The mean of gaussian 1

title:

M1

type:

number

m2:
description:

The mean of gaussian 2

title:

M2

type:

number

s1:
description:

The standard deviation of gaussian 1

title:

S1

type:

number

s2:
description:

The standard deviation of gaussian 2

title:

S2

type:

number

a1:
description:

The amplitude of gaussian 1

title:

A1

type:

number

a2:
description:

The amplitude of gaussian 2

title:

A2

type:

number

density:
description:

The density of the ice (g/cm^3)

exclusiveMinimum:

0.0

title:

Density

type:

number

title:

IceParameters

type:

object

InelasticModel:
description:

A model to describe the inelastic scattering mode

enum:
  • zero_loss

  • mp_loss

  • unfiltered

  • cc_corrected

title:

InelasticModel

type:

string

Lens:
additionalProperties:

False

description:

A model to describe the objective lens

properties:
c_10:
description:

The defocus (A). Negative is underfocus.

title:

C 10

type:

number

c_12:
description:

The 2-fold astigmatism (A)

title:

C 12

type:

number

phi_12:
description:

The Azimuthal angle of 2-fold astigmatism (rad)

title:

Phi 12

type:

number

c_21:
description:

The Axial coma (A)

title:

C 21

type:

number

phi_21:
description:

The Azimuthal angle of axial coma (rad)

title:

Phi 21

type:

number

c_23:
description:

The 3-fold astigmatism (A)

title:

C 23

type:

number

phi_23:
description:

The Azimuthal angle of 3-fold astigmatism (rad)

title:

Phi 23

type:

number

c_30:
description:

The 3rd order spherical aberration (mm)

title:

C 30

type:

number

c_32:
description:

The Axial star aberration (A)

title:

C 32

type:

number

phi_32:
description:

The Azimuthal angle of axial star aberration (rad)

title:

Phi 32

type:

number

c_34:
description:

The 4-fold astigmatism (A)

title:

C 34

type:

number

phi_34:
description:

The Azimuthal angle of 4-fold astigmatism (rad)

title:

Phi 34

type:

number

c_41:
description:

The 4th order axial coma (A)

title:

C 41

type:

number

phi_41:
description:

The Azimuthal angle of 4th order axial coma (rad)

title:

Phi 41

type:

number

c_43:
description:

The 3-lobe aberration (A)

title:

C 43

type:

number

phi_43:
description:

The Azimuthal angle of 3-lobe aberration (rad)

title:

Phi 43

type:

number

c_45:
description:

The 5-fold astigmatism (A)

title:

C 45

type:

number

phi_45:
description:

The Azimuthal angle of 5-fold astigmatism (rad)

title:

Phi 45

type:

number

c_50:
description:

The 5th order spherical aberration (A)

title:

C 50

type:

number

c_52:
description:

The 5th order axial star aberration (A)

title:

C 52

type:

number

phi_52:
description:

The Azimuthal angle of 5th order axial star aberration (rad)

title:

Phi 52

type:

number

c_54:
description:

The 5th order rosette aberration (A)

title:

C 54

type:

number

phi_54:
description:

The Azimuthal angle of 5th order rosette aberration (rad)

title:

Phi 54

type:

number

c_56:
description:

The 6-fold astigmatism (A)

title:

C 56

type:

number

phi_56:
description:

The Azimuthal angle of 6-fold astigmatism (rad)

title:

Phi 56

type:

number

inner_aper_ang:
description:

The inner aperture angle

title:

Inner Aper Ang

type:

number

outer_aper_ang:
description:

The outer aperture angle

title:

Outer Aper Ang

type:

number

c_c:
description:

The chromatic aberration (mm)

title:

C C

type:

number

current_spread:
description:

The current spread (dI/I)

title:

Current Spread

type:

number

title:

Lens

type:

object

LocalMolecule:
additionalProperties:

False

description:

A model to describe a local molecule and its instances

properties:
filename:
description:

The filename of the atomic coordinates to use (*.pdb, *.cif)

title:

Filename

type:

string

instances:
anyOf:
description:

The instances of the molecule to put into the sample model. This field can be set as either an integer or a list of MoleculePose objects. If it is set to an integer == 1 then the molecule will be positioned in the centre of the sample volume; any other integer will result in the molecules being positioned at random positions and orientations in the volume. If a list of MoleculePose objects is given then an arbitrary selection of random and assigned positions and poses can be set

examples:
  • instances: 1 # Position 1 molecule at the centre of the sample volume

  • instances: 10 # Position 10 molecules at random

  • instances: [ { position: [1, 2, 3], orientation: [4, 5, 6] } ]

title:

Instances

required:
  • filename

title:

LocalMolecule

type:

object

MPLPosition:
description:

A model to describe the MPL position mode

enum:
  • peak

  • optimal

title:

MPLPosition

type:

string

Microscope:
additionalProperties:

False

description:

A model to describe the microscope

properties:
model:
anyOf:
description:

Use parameters for a given microscope model

beam:
$ref:

Beam

description:

The beam model parameters

lens:
$ref:

Lens

description:

The lens model parameters

phase_plate:
$ref:

PhasePlate

description:

The phase plate parameters

objective_aperture_cutoff_freq:
anyOf:
  • type:

    number

  • type:

    null

description:

The objective aperture cutoff frequency (1/A)

title:

Objective Aperture Cutoff Freq

detector:
$ref:

Detector

description:

The detector model parameters

title:

Microscope

type:

object

MicroscopeModel:
description:

An enumeration to describe the microscope model

enum:
  • krios

  • talos

title:

MicroscopeModel

type:

string

MoleculePose:
additionalProperties:

False

description:

A model to describe a molecule position and orientation

properties:
position:
anyOf:
  • maxItems:

    3

    minItems:

    3

    prefixItems:
    • type:

      number

    • type:

      number

    • type:

      number

    type:

    array

  • type:

    null

description:

The molecule position (A, A, A). Setting this to null or an empty list will cause parakeet to give a random position. The position is given in [x y z] order.

examples:
  • position: null # Assign random position

  • position: [] # Assign random position

  • position: [1, 2, 3] # Assign known position

title:

Position

orientation:
anyOf:
  • maxItems:

    3

    minItems:

    3

    prefixItems:
    • type:

      number

    • type:

      number

    • type:

      number

    type:

    array

  • type:

    null

description:

The molecule orientation defined as a rotation vector where the direction of the vector gives the rotation axis and the magnitude of the vector gives the rotation angle in radians. Setting this to null or an empty list will cause parakeet to give a random orientation. The axis is given in [x, y, z] order.

examples:
  • orienation: null # Assign random orienation

  • orienation: [] # Assign random orienation

  • orienation: [1, 2, 3] # Assign known orienation

title:

Orientation

title:

MoleculePose

type:

object

Molecules:
additionalProperties:

False

description:

A model to describe the molecules to add to the sample

properties:
local:
anyOf:
description:

The local molecules to include in the sample model

title:

Local

pdb:
anyOf:
description:

The PDB molecules to include in the sample model

title:

Pdb

title:

Molecules

type:

object

Multiprocessing:
additionalProperties:

False

description:

The multiprocessing parameters

properties:
device:
$ref:

Device

description:

The device to use (cpu or gpu)

nproc:
description:

The number of processes

exclusiveMinimum:

0

title:

Nproc

type:

integer

gpu_id:
description:

The GPU id for each thread

items:
type:

integer

title:

Gpu Id

type:

array

title:

Multiprocessing

type:

object

PDBMolecule:
additionalProperties:

False

description:

A model to describe a PDB molecule and its instances

properties:
id:
description:

The PDB ID of the atomic coordinates to use (*.pdb, *.cif)

title:

Id

type:

string

instances:
anyOf:
description:

The instances of the molecule to put into the sample model. This field can be set as either an integer or a list of MoleculePose objects. If it is set to an integer == 1 then the molecule will be positioned in the centre of the sample volume; any other integer will result in the molecules being positioned at random positions and orientations in the volume. If a list of MoleculePose objects is given then an arbitrary selection of random and assigned positions and poses can be set

examples:
  • instances: 1 # Position 1 molecule at the centre of the sample volume

  • instances: 10 # Position 10 molecules at random

  • instances: [ { position: [1, 2, 3], orientation: [4, 5, 6] } ]

title:

Instances

required:
  • id

title:

PDBMolecule

type:

object

PhasePlate:
additionalProperties:

False

description:

A model to describe the phase plate

properties:
use:
description:

Use the phase plate

title:

Use

type:

boolean

phase_shift:
description:

The phase shift (degrees)

title:

Phase Shift

type:

number

radius:
description:

The spot radius (1/A)

exclusiveMinimum:

0.0

title:

Radius

type:

number

title:

PhasePlate

type:

object

Sample:
additionalProperties:

False

description:

A model to describe the sample

properties:
shape:
$ref:

Shape

description:

The shape parameters of the sample

box:
description:

The sample box (A, A, A)

maxItems:

3

minItems:

3

prefixItems:
  • type:

    number

  • type:

    number

  • type:

    number

title:

Box

type:

array

centre:
description:

The centre of rotation (A, A, A)

maxItems:

3

minItems:

3

prefixItems:
  • type:

    number

  • type:

    number

  • type:

    number

title:

Centre

type:

array

coords:
anyOf:
description:

Coordinates to initialise the sample

molecules:
anyOf:
description:

The molecules to include in the sample model

ice:
anyOf:
  • $ref:

    Ice

  • type:

    null

description:

The atomic ice model parameters.

sputter:
anyOf:
description:

The sputter coating model parameters.

motion:
anyOf:
description:

The sample motion parameters

title:

Sample

type:

object

SampleMotion:
additionalProperties:

False

description:

A model to describe sample motion using the viscek model

properties:
global_drift:
description:

The global drift in x, y (A / fraction)

maxItems:

2

minItems:

2

prefixItems:
  • type:

    number

  • type:

    number

title:

Global Drift

type:

array

interaction_range:
description:

The interaction range (A)

title:

Interaction Range

type:

number

velocity:
description:

The particle velocity (A / fraction)

title:

Velocity

type:

number

noise_magnitude:
description:

The magnitude of the direction noise (degrees)

title:

Noise Magnitude

type:

number

title:

SampleMotion

type:

object

Scan:
additionalProperties:

False

description:

A model to describe the scan

properties:
mode:
$ref:

ScanMode

description:

Set the scan mode

axis:
description:

The scan axis vector

maxItems:

3

minItems:

3

prefixItems:
  • type:

    number

  • type:

    number

  • type:

    number

title:

Axis

type:

array

start_angle:
description:

The start angle for the rotation (deg)

title:

Start Angle

type:

number

step_angle:
description:

The step angle for the rotation (deg)

title:

Step Angle

type:

number

start_pos:
anyOf:
  • type:

    number

  • maxItems:

    2

    minItems:

    2

    prefixItems:
    • type:

      number

    • type:

      number

    type:

    array

description:

The start position for a translational scan (A)

title:

Start Pos

step_pos:
anyOf:
  • type:

    number

  • maxItems:

    2

    minItems:

    2

    prefixItems:
    • type:

      number

    • type:

      number

    type:

    array

  • $ref:

    Auto

description:

The step distance for a translational scan (A)

title:

Step Pos

num_images:
anyOf:
  • type:

    integer

  • maxItems:

    2

    minItems:

    2

    prefixItems:
    • type:

      integer

    • type:

      integer

    type:

    array

description:

The number of images to simulate. For a tilt series this is the number of tilt steps. If num_fractions is also set to something other than 1, then there will be num_fractions number of ‘movie frames’ per ‘image’

title:

Num Images

num_fractions:
description:

The number of movie frames. This refers to the frames of the micrograph ‘movies’. For a tilt series, all these images will be at the same step and the dose for a ‘single image’ will be fractionated over these image frames

title:

Num Fractions

type:

integer

num_nhelix:
description:

The number of scans in an n-helix

title:

Num Nhelix

type:

integer

exposure_time:
description:

The exposure time per image (s)

title:

Exposure Time

type:

number

angles:
anyOf:
  • items:
    type:

    number

    type:

    array

  • type:

    null

description:

The list of angles to use (deg). This field is used when the modeis set to ‘manual’ or ‘beam tilt’.

title:

Angles

positions:
anyOf:
  • items:
    type:

    number

    type:

    array

  • items:
    maxItems:

    2

    minItems:

    2

    prefixItems:
    • type:

      number

    • type:

      number

    type:

    array

    type:

    array

  • type:

    null

description:

The list of positions to use (A). This field is used when the modeis set to ‘manual’ or ‘beam tilt’. Each element in the list can either be a single value in which case the position is specified along the rotation axis, or can be two values in which case the position is specified in X and Y.

title:

Positions

defocus_offset:
anyOf:
  • items:
    type:

    number

    type:

    array

  • type:

    null

description:

The list of defoci to use (A). This field is used when the modeis set to ‘manual’ or ‘single_particle’

title:

Defocus Offset

theta:
anyOf:
  • type:

    number

  • items:
    type:

    number

    type:

    array

  • type:

    null

description:

The list of theta angles to use (mrad) for the beam tilt.This must either be the same length as phi or a scalar

title:

Theta

phi:
anyOf:
  • type:

    number

  • items:
    type:

    number

    type:

    array

  • type:

    null

description:

The list of phi angles to use (mrad) for the beam tilt.This must either be the same length as theta or a scalar

title:

Phi

drift:
anyOf:
description:

The drift model parameters

title:

Scan

type:

object

ScanMode:
description:

An enumeration to describe the scan mode

enum:
  • manual

  • still

  • tilt_series

  • dose_symmetric

  • single_particle

  • helical_scan

  • nhelix

  • beam_tilt

  • grid_scan

title:

ScanMode

type:

string

Shape:
additionalProperties:

False

description:

A model to describe the sample shape

properties:
type:
$ref:

ShapeType

description:

The shape of the sample

cube:
$ref:

Cube

description:

The parameters of the cubic sample (only used if type == cube)

cuboid:
$ref:

Cuboid

description:

The parameters of the cuboid sample (only used if type == cuboid)

cylinder:
$ref:

Cylinder

description:

The parameters of the cylindrical sample (only used if type == cylinder)

margin:
description:

The shape margin used to define how close to the edges particles should be placed (A)

maxItems:

3

minItems:

3

prefixItems:
  • type:

    number

  • type:

    number

  • type:

    number

title:

Margin

type:

array

title:

Shape

type:

object

ShapeType:
description:

An enumeration of sample shape types

enum:
  • cube

  • cuboid

  • cylinder

title:

ShapeType

type:

string

Simulation:
additionalProperties:

False

description:

A model to describe the simulation parameters

properties:
slice_thickness:
description:

The multislice thickness (A)

title:

Slice Thickness

type:

number

margin:
description:

The margin around the image

title:

Margin

type:

integer

padding:
description:

Additional padding

title:

Padding

type:

integer

division_thickness:
description:

Deprecated

title:

Division Thickness

type:

integer

ice:
description:

Use the Gaussian Random Field ice model (True/False)

title:

Ice

type:

boolean

ice_parameters:
$ref:

IceParameters

description:

The parameters for the GRF ice model

radiation_damage_model:
description:

Use the radiation damage model (True/False)

title:

Radiation Damage Model

type:

boolean

inelastic_model:
anyOf:
description:

The inelastic model parameters

mp_loss_width:
anyOf:
  • type:

    number

  • type:

    null

description:

The MPL energy filter width

title:

Mp Loss Width

mp_loss_position:
$ref:

MPLPosition

description:

The MPL energy filter position

sensitivity_coefficient:
description:

The radiation damage model sensitivity coefficient. This value relates the value of an isotropic B factor to the number of incident electrons. Typical values for this (calibrated from X-ray and EM data) range between 0.02 and 0.08 where a higher value will result in a larger B factor.

title:

Sensitivity Coefficient

type:

number

title:

Simulation

type:

object

Sputter:
additionalProperties:

False

description:

A model to describe a sputter coating to the sample

properties:
element:
description:

The symbol of the atom for the sputter coating material

title:

Element

type:

string

thickness:
description:

The thickness of the sputter coating (A)

title:

Thickness

type:

number

required:
  • element

  • thickness

title:

Sputter

type:

object

additionalProperties:

False

description:

The Parakeet configuration parameters

properties:
sample:
$ref:

Sample

description:

The sample parameters

microscope:
$ref:

Microscope

description:

The microscope parameters

scan:
$ref:

Scan

description:

The scan parameters

simulation:
$ref:

Simulation

description:

The simulation parameters

multiprocessing:
$ref:

Multiprocessing

title:

Config

type:

object

Auto

const:

auto

description:

An enumeration just containing auto

enum:
  • auto

title:

Auto

type:

string

Beam

additionalProperties:

False

description:

A model to describe the beam

properties:
energy:
description:

The electron energy (keV)

title:

Energy

type:

number

energy_spread:
description:

The energy spread (dE/E)

title:

Energy Spread

type:

number

acceleration_voltage_spread:
description:

The acceleration voltage spread (dV/V)

title:

Acceleration Voltage Spread

type:

number

electrons_per_angstrom:
description:

The number of electrons per square angstrom. This is the dose per image (across all fractions).

title:

Electrons Per Angstrom

type:

number

illumination_semiangle:
description:

The illumination semiangle (mrad).

title:

Illumination Semiangle

type:

number

theta:
description:

The beam tilt theta angle (deg)

title:

Theta

type:

number

phi:
description:

The beam tilt phi angle (deg)

title:

Phi

type:

number

incident_wave:
anyOf:
  • type:

    string

  • type:

    null

description:

The filename of a custom input wave function. The default is a flat field.

title:

Incident Wave

title:

Beam

type:

object

CoordinateFile

additionalProperties:

False

description:

A model to describe a local coordinate file

properties:
filename:
anyOf:
  • type:

    string

  • type:

    null

description:

The filename of the atomic coordinates to use (*.pdb, *.cif)

title:

Filename

recentre:
description:

Recentre the coordinates

title:

Recentre

type:

boolean

scale:
description:

Scale the coordinates x’ = x * scale

title:

Scale

type:

number

position:
anyOf:
  • maxItems:

    3

    minItems:

    3

    prefixItems:
    • type:

      number

    • type:

      number

    • type:

      number

    type:

    array

  • type:

    null

description:

The model position (A, A, A). If recentre if set then the model will be centred on the given position. If recentre if not set then the model will be translated by the given position.

examples:
  • position: null # Assign [0, 0, 0] position

  • position: [1, 2, 3] # Assign known position

title:

Position

orientation:
anyOf:
  • maxItems:

    3

    minItems:

    3

    prefixItems:
    • type:

      number

    • type:

      number

    • type:

      number

    type:

    array

  • type:

    null

description:

The model orientation defined as a rotation vector where the direction of the vector gives the rotation axis and the magnitude of the vector gives the rotation angle in radians. Setting this to null or an empty list will cause parakeet to give a zero orientation

examples:
  • orienation: null # Assign [0, 0, 0] orienation

  • orienation: [1, 2, 3] # Assign known orienation

title:

Orientation

title:

CoordinateFile

type:

object

Cube

additionalProperties:

False

description:

A model of a cubic sample shape

properties:
length:
description:

The cube side length (A)

exclusiveMinimum:

0.0

title:

Length

type:

number

title:

Cube

type:

object

Cuboid

additionalProperties:

False

description:

A model of a cuboid sample shape

properties:
length_x:
description:

The cuboid X side length (A)

exclusiveMinimum:

0.0

title:

Length X

type:

number

length_y:
description:

The cuboid Y side length (A)

exclusiveMinimum:

0.0

title:

Length Y

type:

number

length_z:
description:

The cuboid Z side length (A)

exclusiveMinimum:

0.0

title:

Length Z

type:

number

title:

Cuboid

type:

object

Cylinder

additionalProperties:

False

description:

A model of a cylindrical sample shape

properties:
length:
description:

The cylinder length (A)

exclusiveMinimum:

0.0

title:

Length

type:

number

radius:
anyOf:
  • type:

    number

  • items:
    type:

    number

    type:

    array

description:

The cylinder radius (A)

gt:

0

title:

Radius

axis:
description:

The axis of the cylinder

maxItems:

3

minItems:

3

prefixItems:
  • type:

    number

  • type:

    number

  • type:

    number

title:

Axis

type:

array

offset_x:
anyOf:
  • items:
    type:

    number

    type:

    array

  • type:

    null

description:

The x offset as a function of cylinder y position

title:

Offset X

offset_z:
anyOf:
  • items:
    type:

    number

    type:

    array

  • type:

    null

description:

The z offset as a function of cylinder y position

title:

Offset Z

title:

Cylinder

type:

object

Detector

additionalProperties:

False

description:

A model to describe the detector

properties:
nx:
description:

The number of pixels in X

title:

Nx

type:

integer

ny:
description:

The number of pixels in Y

title:

Ny

type:

integer

pixel_size:
description:

The pixel size (A)

title:

Pixel Size

type:

number

dqe:
description:

Use the DQE model (True/False)

title:

Dqe

type:

boolean

origin:
description:

The origin of the detector in lab space(A,A)

maxItems:

2

minItems:

2

prefixItems:
  • type:

    integer

  • type:

    integer

title:

Origin

type:

array

title:

Detector

type:

object

Device

description:

An enumeration to set whether to run on the GPU or CPU

enum:
  • gpu

  • cpu

title:

Device

type:

string

Drift

additionalProperties:

False

description:

A model to describe the beam drift

properties:
x:
anyOf:
  • type:

    number

  • maxItems:

    2

    minItems:

    2

    prefixItems:
    • type:

      number

    • type:

      number

    type:

    array

description:

The model for the x drift a + b*theta**4 (A)

title:

X

y:
anyOf:
  • type:

    number

  • maxItems:

    2

    minItems:

    2

    prefixItems:
    • type:

      number

    • type:

      number

    type:

    array

description:

The model for the y drift a + b*theta**4 (A)

title:

Y

z:
anyOf:
  • type:

    number

  • maxItems:

    2

    minItems:

    2

    prefixItems:
    • type:

      number

    • type:

      number

    type:

    array

description:

The model for the z drift a + b*theta**4 (A)

title:

Z

title:

Drift

type:

object

Ice

additionalProperties:

False

description:

A model to describe a uniform random atomic ice model. If generate is True then generate random water positions with a given density. It is usually better to use the Gaussian Random Field (GRF) ice model which can be set in the simulation model.

properties:
generate:
description:

Generate the atomic ice model (True/False)

title:

Generate

type:

boolean

density:
description:

The density of the ice (Kg/m3)

title:

Density

type:

number

title:

Ice

type:

object

IceParameters

additionalProperties:

False

description:

A model to describe the ice parameters

properties:
m1:
description:

The mean of gaussian 1

title:

M1

type:

number

m2:
description:

The mean of gaussian 2

title:

M2

type:

number

s1:
description:

The standard deviation of gaussian 1

title:

S1

type:

number

s2:
description:

The standard deviation of gaussian 2

title:

S2

type:

number

a1:
description:

The amplitude of gaussian 1

title:

A1

type:

number

a2:
description:

The amplitude of gaussian 2

title:

A2

type:

number

density:
description:

The density of the ice (g/cm^3)

exclusiveMinimum:

0.0

title:

Density

type:

number

title:

IceParameters

type:

object

InelasticModel

description:

A model to describe the inelastic scattering mode

enum:
  • zero_loss

  • mp_loss

  • unfiltered

  • cc_corrected

title:

InelasticModel

type:

string

Lens

additionalProperties:

False

description:

A model to describe the objective lens

properties:
c_10:
description:

The defocus (A). Negative is underfocus.

title:

C 10

type:

number

c_12:
description:

The 2-fold astigmatism (A)

title:

C 12

type:

number

phi_12:
description:

The Azimuthal angle of 2-fold astigmatism (rad)

title:

Phi 12

type:

number

c_21:
description:

The Axial coma (A)

title:

C 21

type:

number

phi_21:
description:

The Azimuthal angle of axial coma (rad)

title:

Phi 21

type:

number

c_23:
description:

The 3-fold astigmatism (A)

title:

C 23

type:

number

phi_23:
description:

The Azimuthal angle of 3-fold astigmatism (rad)

title:

Phi 23

type:

number

c_30:
description:

The 3rd order spherical aberration (mm)

title:

C 30

type:

number

c_32:
description:

The Axial star aberration (A)

title:

C 32

type:

number

phi_32:
description:

The Azimuthal angle of axial star aberration (rad)

title:

Phi 32

type:

number

c_34:
description:

The 4-fold astigmatism (A)

title:

C 34

type:

number

phi_34:
description:

The Azimuthal angle of 4-fold astigmatism (rad)

title:

Phi 34

type:

number

c_41:
description:

The 4th order axial coma (A)

title:

C 41

type:

number

phi_41:
description:

The Azimuthal angle of 4th order axial coma (rad)

title:

Phi 41

type:

number

c_43:
description:

The 3-lobe aberration (A)

title:

C 43

type:

number

phi_43:
description:

The Azimuthal angle of 3-lobe aberration (rad)

title:

Phi 43

type:

number

c_45:
description:

The 5-fold astigmatism (A)

title:

C 45

type:

number

phi_45:
description:

The Azimuthal angle of 5-fold astigmatism (rad)

title:

Phi 45

type:

number

c_50:
description:

The 5th order spherical aberration (A)

title:

C 50

type:

number

c_52:
description:

The 5th order axial star aberration (A)

title:

C 52

type:

number

phi_52:
description:

The Azimuthal angle of 5th order axial star aberration (rad)

title:

Phi 52

type:

number

c_54:
description:

The 5th order rosette aberration (A)

title:

C 54

type:

number

phi_54:
description:

The Azimuthal angle of 5th order rosette aberration (rad)

title:

Phi 54

type:

number

c_56:
description:

The 6-fold astigmatism (A)

title:

C 56

type:

number

phi_56:
description:

The Azimuthal angle of 6-fold astigmatism (rad)

title:

Phi 56

type:

number

inner_aper_ang:
description:

The inner aperture angle

title:

Inner Aper Ang

type:

number

outer_aper_ang:
description:

The outer aperture angle

title:

Outer Aper Ang

type:

number

c_c:
description:

The chromatic aberration (mm)

title:

C C

type:

number

current_spread:
description:

The current spread (dI/I)

title:

Current Spread

type:

number

title:

Lens

type:

object

LocalMolecule

additionalProperties:

False

description:

A model to describe a local molecule and its instances

properties:
filename:
description:

The filename of the atomic coordinates to use (*.pdb, *.cif)

title:

Filename

type:

string

instances:
anyOf:
description:

The instances of the molecule to put into the sample model. This field can be set as either an integer or a list of MoleculePose objects. If it is set to an integer == 1 then the molecule will be positioned in the centre of the sample volume; any other integer will result in the molecules being positioned at random positions and orientations in the volume. If a list of MoleculePose objects is given then an arbitrary selection of random and assigned positions and poses can be set

examples:
  • instances: 1 # Position 1 molecule at the centre of the sample volume

  • instances: 10 # Position 10 molecules at random

  • instances: [ { position: [1, 2, 3], orientation: [4, 5, 6] } ]

title:

Instances

required:
  • filename

title:

LocalMolecule

type:

object

MPLPosition

description:

A model to describe the MPL position mode

enum:
  • peak

  • optimal

title:

MPLPosition

type:

string

Microscope

additionalProperties:

False

description:

A model to describe the microscope

properties:
model:
anyOf:
description:

Use parameters for a given microscope model

beam:
$ref:

Beam

description:

The beam model parameters

lens:
$ref:

Lens

description:

The lens model parameters

phase_plate:
$ref:

PhasePlate

description:

The phase plate parameters

objective_aperture_cutoff_freq:
anyOf:
  • type:

    number

  • type:

    null

description:

The objective aperture cutoff frequency (1/A)

title:

Objective Aperture Cutoff Freq

detector:
$ref:

Detector

description:

The detector model parameters

title:

Microscope

type:

object

MicroscopeModel

description:

An enumeration to describe the microscope model

enum:
  • krios

  • talos

title:

MicroscopeModel

type:

string

MoleculePose

additionalProperties:

False

description:

A model to describe a molecule position and orientation

properties:
position:
anyOf:
  • maxItems:

    3

    minItems:

    3

    prefixItems:
    • type:

      number

    • type:

      number

    • type:

      number

    type:

    array

  • type:

    null

description:

The molecule position (A, A, A). Setting this to null or an empty list will cause parakeet to give a random position. The position is given in [x y z] order.

examples:
  • position: null # Assign random position

  • position: [] # Assign random position

  • position: [1, 2, 3] # Assign known position

title:

Position

orientation:
anyOf:
  • maxItems:

    3

    minItems:

    3

    prefixItems:
    • type:

      number

    • type:

      number

    • type:

      number

    type:

    array

  • type:

    null

description:

The molecule orientation defined as a rotation vector where the direction of the vector gives the rotation axis and the magnitude of the vector gives the rotation angle in radians. Setting this to null or an empty list will cause parakeet to give a random orientation. The axis is given in [x, y, z] order.

examples:
  • orienation: null # Assign random orienation

  • orienation: [] # Assign random orienation

  • orienation: [1, 2, 3] # Assign known orienation

title:

Orientation

title:

MoleculePose

type:

object

Molecules

additionalProperties:

False

description:

A model to describe the molecules to add to the sample

properties:
local:
anyOf:
description:

The local molecules to include in the sample model

title:

Local

pdb:
anyOf:
description:

The PDB molecules to include in the sample model

title:

Pdb

title:

Molecules

type:

object

Multiprocessing

additionalProperties:

False

description:

The multiprocessing parameters

properties:
device:
$ref:

Device

description:

The device to use (cpu or gpu)

nproc:
description:

The number of processes

exclusiveMinimum:

0

title:

Nproc

type:

integer

gpu_id:
description:

The GPU id for each thread

items:
type:

integer

title:

Gpu Id

type:

array

title:

Multiprocessing

type:

object

PDBMolecule

additionalProperties:

False

description:

A model to describe a PDB molecule and its instances

properties:
id:
description:

The PDB ID of the atomic coordinates to use (*.pdb, *.cif)

title:

Id

type:

string

instances:
anyOf:
description:

The instances of the molecule to put into the sample model. This field can be set as either an integer or a list of MoleculePose objects. If it is set to an integer == 1 then the molecule will be positioned in the centre of the sample volume; any other integer will result in the molecules being positioned at random positions and orientations in the volume. If a list of MoleculePose objects is given then an arbitrary selection of random and assigned positions and poses can be set

examples:
  • instances: 1 # Position 1 molecule at the centre of the sample volume

  • instances: 10 # Position 10 molecules at random

  • instances: [ { position: [1, 2, 3], orientation: [4, 5, 6] } ]

title:

Instances

required:
  • id

title:

PDBMolecule

type:

object

PhasePlate

additionalProperties:

False

description:

A model to describe the phase plate

properties:
use:
description:

Use the phase plate

title:

Use

type:

boolean

phase_shift:
description:

The phase shift (degrees)

title:

Phase Shift

type:

number

radius:
description:

The spot radius (1/A)

exclusiveMinimum:

0.0

title:

Radius

type:

number

title:

PhasePlate

type:

object

Sample

additionalProperties:

False

description:

A model to describe the sample

properties:
shape:
$ref:

Shape

description:

The shape parameters of the sample

box:
description:

The sample box (A, A, A)

maxItems:

3

minItems:

3

prefixItems:
  • type:

    number

  • type:

    number

  • type:

    number

title:

Box

type:

array

centre:
description:

The centre of rotation (A, A, A)

maxItems:

3

minItems:

3

prefixItems:
  • type:

    number

  • type:

    number

  • type:

    number

title:

Centre

type:

array

coords:
anyOf:
description:

Coordinates to initialise the sample

molecules:
anyOf:
description:

The molecules to include in the sample model

ice:
anyOf:
  • $ref:

    Ice

  • type:

    null

description:

The atomic ice model parameters.

sputter:
anyOf:
description:

The sputter coating model parameters.

motion:
anyOf:
description:

The sample motion parameters

title:

Sample

type:

object

SampleMotion

additionalProperties:

False

description:

A model to describe sample motion using the viscek model

properties:
global_drift:
description:

The global drift in x, y (A / fraction)

maxItems:

2

minItems:

2

prefixItems:
  • type:

    number

  • type:

    number

title:

Global Drift

type:

array

interaction_range:
description:

The interaction range (A)

title:

Interaction Range

type:

number

velocity:
description:

The particle velocity (A / fraction)

title:

Velocity

type:

number

noise_magnitude:
description:

The magnitude of the direction noise (degrees)

title:

Noise Magnitude

type:

number

title:

SampleMotion

type:

object

Scan

additionalProperties:

False

description:

A model to describe the scan

properties:
mode:
$ref:

ScanMode

description:

Set the scan mode

axis:
description:

The scan axis vector

maxItems:

3

minItems:

3

prefixItems:
  • type:

    number

  • type:

    number

  • type:

    number

title:

Axis

type:

array

start_angle:
description:

The start angle for the rotation (deg)

title:

Start Angle

type:

number

step_angle:
description:

The step angle for the rotation (deg)

title:

Step Angle

type:

number

start_pos:
anyOf:
  • type:

    number

  • maxItems:

    2

    minItems:

    2

    prefixItems:
    • type:

      number

    • type:

      number

    type:

    array

description:

The start position for a translational scan (A)

title:

Start Pos

step_pos:
anyOf:
  • type:

    number

  • maxItems:

    2

    minItems:

    2

    prefixItems:
    • type:

      number

    • type:

      number

    type:

    array

  • $ref:

    Auto

description:

The step distance for a translational scan (A)

title:

Step Pos

num_images:
anyOf:
  • type:

    integer

  • maxItems:

    2

    minItems:

    2

    prefixItems:
    • type:

      integer

    • type:

      integer

    type:

    array

description:

The number of images to simulate. For a tilt series this is the number of tilt steps. If num_fractions is also set to something other than 1, then there will be num_fractions number of ‘movie frames’ per ‘image’

title:

Num Images

num_fractions:
description:

The number of movie frames. This refers to the frames of the micrograph ‘movies’. For a tilt series, all these images will be at the same step and the dose for a ‘single image’ will be fractionated over these image frames

title:

Num Fractions

type:

integer

num_nhelix:
description:

The number of scans in an n-helix

title:

Num Nhelix

type:

integer

exposure_time:
description:

The exposure time per image (s)

title:

Exposure Time

type:

number

angles:
anyOf:
  • items:
    type:

    number

    type:

    array

  • type:

    null

description:

The list of angles to use (deg). This field is used when the modeis set to ‘manual’ or ‘beam tilt’.

title:

Angles

positions:
anyOf:
  • items:
    type:

    number

    type:

    array

  • items:
    maxItems:

    2

    minItems:

    2

    prefixItems:
    • type:

      number

    • type:

      number

    type:

    array

    type:

    array

  • type:

    null

description:

The list of positions to use (A). This field is used when the modeis set to ‘manual’ or ‘beam tilt’. Each element in the list can either be a single value in which case the position is specified along the rotation axis, or can be two values in which case the position is specified in X and Y.

title:

Positions

defocus_offset:
anyOf:
  • items:
    type:

    number

    type:

    array

  • type:

    null

description:

The list of defoci to use (A). This field is used when the modeis set to ‘manual’ or ‘single_particle’

title:

Defocus Offset

theta:
anyOf:
  • type:

    number

  • items:
    type:

    number

    type:

    array

  • type:

    null

description:

The list of theta angles to use (mrad) for the beam tilt.This must either be the same length as phi or a scalar

title:

Theta

phi:
anyOf:
  • type:

    number

  • items:
    type:

    number

    type:

    array

  • type:

    null

description:

The list of phi angles to use (mrad) for the beam tilt.This must either be the same length as theta or a scalar

title:

Phi

drift:
anyOf:
description:

The drift model parameters

title:

Scan

type:

object

ScanMode

description:

An enumeration to describe the scan mode

enum:
  • manual

  • still

  • tilt_series

  • dose_symmetric

  • single_particle

  • helical_scan

  • nhelix

  • beam_tilt

  • grid_scan

title:

ScanMode

type:

string

Shape

additionalProperties:

False

description:

A model to describe the sample shape

properties:
type:
$ref:

ShapeType

description:

The shape of the sample

cube:
$ref:

Cube

description:

The parameters of the cubic sample (only used if type == cube)

cuboid:
$ref:

Cuboid

description:

The parameters of the cuboid sample (only used if type == cuboid)

cylinder:
$ref:

Cylinder

description:

The parameters of the cylindrical sample (only used if type == cylinder)

margin:
description:

The shape margin used to define how close to the edges particles should be placed (A)

maxItems:

3

minItems:

3

prefixItems:
  • type:

    number

  • type:

    number

  • type:

    number

title:

Margin

type:

array

title:

Shape

type:

object

ShapeType

description:

An enumeration of sample shape types

enum:
  • cube

  • cuboid

  • cylinder

title:

ShapeType

type:

string

Simulation

additionalProperties:

False

description:

A model to describe the simulation parameters

properties:
slice_thickness:
description:

The multislice thickness (A)

title:

Slice Thickness

type:

number

margin:
description:

The margin around the image

title:

Margin

type:

integer

padding:
description:

Additional padding

title:

Padding

type:

integer

division_thickness:
description:

Deprecated

title:

Division Thickness

type:

integer

ice:
description:

Use the Gaussian Random Field ice model (True/False)

title:

Ice

type:

boolean

ice_parameters:
$ref:

IceParameters

description:

The parameters for the GRF ice model

radiation_damage_model:
description:

Use the radiation damage model (True/False)

title:

Radiation Damage Model

type:

boolean

inelastic_model:
anyOf:
description:

The inelastic model parameters

mp_loss_width:
anyOf:
  • type:

    number

  • type:

    null

description:

The MPL energy filter width

title:

Mp Loss Width

mp_loss_position:
$ref:

MPLPosition

description:

The MPL energy filter position

sensitivity_coefficient:
description:

The radiation damage model sensitivity coefficient. This value relates the value of an isotropic B factor to the number of incident electrons. Typical values for this (calibrated from X-ray and EM data) range between 0.02 and 0.08 where a higher value will result in a larger B factor.

title:

Sensitivity Coefficient

type:

number

title:

Simulation

type:

object

Sputter

additionalProperties:

False

description:

A model to describe a sputter coating to the sample

properties:
element:
description:

The symbol of the atom for the sputter coating material

title:

Element

type:

string

thickness:
description:

The thickness of the sputter coating (A)

title:

Thickness

type:

number

required:
  • element

  • thickness

title:

Sputter

type:

object

The default configuration parameters can be seen by typing the following command:

Examples

Basic configuration

This is the default configuration file as output by parakeet.config.new. This configuration file only shows the most useful parameters which you should set.

microscope:
  beam:
    electrons_per_angstrom: 30
    energy: 300
    source_spread: 0.1
  detector:
    nx: 1000
    ny: 1000
    pixel_size: 1
  lens:
    c_10: -20000
    c_30: 2.7
    c_c: 2.7
sample:
  box:
  - 1000
  - 1000
  - 1000
  centre:
  - 500
  - 500
  - 500
  molecules: null
  shape:
    cube:
      length: 1000.0
    cuboid:
      length_x: 1000.0
      length_y: 1000.0
      length_z: 1000.0
    cylinder:
      length: 1000.0
      radius: 500.0
    margin:
    - 0
    - 0
    - 0
    type: cube
scan:
  mode: still
  num_images: 1
  start_angle: 0
  step_angle: 0
simulation:
  ice: false

Full configuration

The full configuration is somewhat longer and contains parameters which may not be necessary to modify in most cases:

cluster:
  max_workers: 1
  method: null
device: gpu
microscope:
  beam:
    acceleration_voltage_spread: 8.0e-07
    defocus_drift: null
    drift: null
    electrons_per_angstrom: 30
    energy: 300
    energy_spread: 2.66e-06
    phi: 0
    source_spread: 0.1
    theta: 0
  detector:
    dqe: false
    nx: 1000
    ny: 1000
    origin:
    - 0
    - 0
    pixel_size: 1
  lens:
    c_10: -20000
    c_30: 2.7
    c_c: 2.7
    current_spread: 3.3e-07
  model: null
  phase_plate: false
sample:
  box:
  - 1000
  - 1000
  - 1000
  centre:
  - 500
  - 500
  - 500
  ice: null
  molecules: null
  shape:
    cube:
      length: 1000.0
    cuboid:
      length_x: 1000.0
      length_y: 1000.0
      length_z: 1000.0
    cylinder:
      length: 1000.0
      radius: 500.0
    margin:
    - 0
    - 0
    - 0
    type: cube
  sputter: null
scan:
  axis:
  - 0
  - 1
  - 0
  exposure_time: 1
  mode: still
  num_images: 1
  start_angle: 0
  start_pos: 0
  step_angle: 0
  step_pos: 0
simulation:
  division_thickness: 100
  ice: false
  inelastic_model: null
  margin: 100
  mp_loss_position: peak
  mp_loss_width: null
  padding: 100
  radiation_damage_model: false
  sensitivity_coefficient: 0.022
  slice_thickness: 3.0

Specifying molecule positions

The following snippet will load one locally defined PDB file and will add a single instance to the sample model. This will put the molecule in the centre of the sample volume.

sample:
  molecules:
    local:
      - filename: myfile.pdb
        instances: 1

The following snippet will load one locally defined PDB file and will add a 10 instances to the sample model. This will give the molecules randomly assigned positions and orientations within the sample volume.

sample:
  molecules:
    local:
      - filename: myfile.pdb
        instances: 10

The following snippet will load two locally defined PDB files and one model from the PDB. The first model had two instances, the first of which has a random position and random orientation. The second instance has defined position and random orientation. The second molecule has two instances, the first of which has random position and defined orientation and the second instance has defined position and orientation. The PDB model has 10 instances with random position and orientation.

sample:
  molecules:
    local:
      - filename: myfile.pdb
        instances:
          - position: null
            orientation: null
          - position: [1, 2, 3]
            orientation: null
      - filename: another.pdb
        instances:
          - position: null
            orientation: [1, 2, 3]
          - position: [1, 2, 3]
            orientation: [1, 2, 3]
    pdb:
      - id: 4V5D
        instances: 10

Applying radiation damage

Parakeet implements a simple radiation damage model which uses an isotropic B factor to blur the atomic potential during simulation. The B factor increases linearly with the incident electron dose according to a sensitivity coefficient. To apply the beam damage model you can set the following parameters which will enable the beam damage model and simulate the images using a dose symmetric scheme.

simulation:
  radiation_damage_model: true
  sensitivity_coefficient: 0.022

scan:
  mode: dose_symmetric