Skip to content

Config file

apeck12 edited this page Aug 27, 2022 · 16 revisions

Experiment and analysis parameters are collected in a config (.yaml) file that is structured by task. Representative .yaml files can be found in the tutorial folder, with mfxlv4920.yaml and mfxp22820_ffb_elog.yaml as examples for running on the psanaq and psffb nodes, respectively. A template, annotated file with reasonable default parameters for most tasks follows:

setup:
  queue: '{queue}'                                                       # e.g. ffbh3q, psanaq, psfehq
  root_dir: '/cds/data/drpsrcf/{ins}/{exp}/scratch/btx/'                 # data analysis folder
  exp: '{experiment}'                                                    # experiment name
  run: 1                                                                 # update for each run 
  det_type: '{detector}'                                                 # e.g. Rayonix, epix10k2M, Jungfrau4M
  event_receiver: 'evr0'                                                 # optional, for time-resolved experiments
  event_code: 205                                                        # optional, for time-resolved experiments
  event_logic: False                                                     # optional, for time-resolved experiments
  cell: '/cds/data/drpsrcf/{ins}/{exp}/scratch/btx/cell/reference.cell'  # optional, if reference cell is known

fetch_mask:                                                              # Fetch most recent mask from mrxv
  dataset: '/entry_1/data_1/mask'                                        # only applicable for CrystFEL masks; if this fails, try '/data/data'

fetch_geom:                                                              # Fetch most recent CrystFEL geometry file from mrxv

build_mask:                                                              # Build a mask based on thresholding random images
  thresholds: -10 2000                                                   # lower and upper thresholds 
  n_images: 10                                                           # number of random images to draw
  n_edge: 2                                                              # number of edge pixels to mask
  combine: True                                                          # if True, combine with mask downloaded from mrxv

run_analysis:                                                            # Run statistics: trajectory and powder
  max_events: -1                                                         # if -1, process entire run

opt_geom:                                                                # Optimize geometry based on silver behenate                                                             
  n_iterations: 5                                                        # number of optimization iterations
  n_peaks: 3                                                             # number of peaks to use for distance optimization
  threshold: 1000000                                                     # mask pixels above this threshold 

find_peaks:                                                              # Perform peak finding using psana's algorithm   
  tag: 'dark'                                                            # suffix for cxi files, use '' if no tag is desired
  psana_mask: False                                                      
  min_peaks: 10
  max_peaks: 2048
  npix_min: 2
  npix_max: 30
  amax_thr: 40.
  atot_thr: 180.
  son_min: 10.0
  peak_rank: 3
  r0: 3.0
  dr: 2.0
  nsigm: 10.0

index:                                                                   # Index using CrystFEL's indexamajig  
  tag_cxi: 'dark'                                                        # should match the tag entry of the find_peaks task
  tag: 'dark'                                                            # output will be {tag}.stream
  int_radius: '3,4,5'                                                    # integration radii
  methods: 'mosflm,xds'                                                  # indexing methods to apply
  cell: '/cds/data/drpsrcf/{ins}/{exp}/scratch/btx/cell/reference.cell'  # omit entry for cell-free indexing
  tolerance: '5,5,5,1.5'
  no_revalidate: True
  multi: True                                                            # multi-lattice indexing
  profile: True

stream_analysis:
  tag: 'sample1'

merge:                                                                    # Merge reflections: stream to mtz 
  tag: 'dark'                                                             # nomenclature of input/output
  symmetry: '2/m_uab'                                                     # sample's symmetry
  iterations: 1                                                           # number of partialator iterations
  model: 'unity'                                                          # partialtor merging model
  foms: 'CCstar Rsplit'                                                   # figures of merit
  nshells: 10                                                             # number of resolution shells for FOMs
  highres: 1.9                                                            # high resolution cut-off

solve:                                                                    # Molecular replacement and automated refinement
  tag: 'dark'                                                             # sample name for input and output
  pdb: '/cds/data/drpsrcf/{ins}/{exp}/scratch/btx/cell/reference.pdb'     # search model for MR

refine_center:                                                            # Refine position of detector center
  runs: 1 10                                                              # Runs to scan
  dx: -1 1 3                                                              # (min, max, n_steps) for search in pixels along x coordinate
  dy: -1 1 3                                                              # (min, max, n_steps) for search in pixels along y coordinate
 
refine_distance:                                                          # Refine detector distance
  runs: 1 10                                                              # Runs to scan
  dz: -0.001 0.001 5                                                      # (min, max, n_steps) for search in meters