Skip to content

Configuring the simulation

Kartik Ayyer edited this page Feb 15, 2018 · 4 revisions

The modules and utilities in this package almost always refer to a configuration file. When the name of the configuration is unspecified, it is assumed to be in the reconstruction directory as config.ini.

The configuration file is listed sequentially to mimic the data stream simulator workflow -- the [sections] in the configuration file correspond to the input and output of each module. Here is a brief outline of the sections in typical config.ini file and a guide on how to choose their values. The schematic below might help.

[parameters]

Option Description
detd detector distance in millimeter
lambda photon wavelength in Angstrom
detsize linear size of detector in pixels (integer)
pixsize pixel size in millimeter
stoprad beamstop radius in pixels (float) (see image above)
polarization correction due to incident beam polarization, which can be set as 'x', 'y', or 'none'

[make_densities]

Option Description
pdb_code The PDB code of the structure to simulate. The file is fetched from the PDB if it is not present. For a custom file, one can use the option in_pdb_file.
scatt_dir This directory contains the energy dependent atomic scattering factors from Henke Table.
out_density_file The output file of make_densities.py, which reads the atom coordinates from the pdb file and interpolates the values of atomic scattering factors consistent with the photon wavelength, lambda, to generate the electron density.

[make_intensities]

Option Description
in_density_file The input density file to make_intensities.py, usually set as
in_density_file = make_densities:::out_density_file
to read in the output electron density file from make_densities.py. Alternatively, you can set this to the relative path of an arbitrary density file. However, the densities should be normalized and written out in the same manner as that from make_densities.py.
out_intensity_file The output file of make_intensities.py, which is a low-pass filtered intensity profile generated from in_density_file. The purpose of the low-pass filter is to eliminate the artifacts caused by discretization of the electron density on a cubic grid.

[make_detector]

Option Description
out_detector_file The output detector geometry file to be generated that corresponds to the values in [parameters]. For more on this output format, go to this page.

[make_data]

Option Description
num_data The number of data frames in the dataset, which can be estimated with the signal-to-noise ratio parameter defined in Equation 37 of the original EMC paper.
fluence The incident photon fluence per micron squared, which depends on experimental conditions such as focus size, pulse energy, photon energy, and transmission efficiencies. Typically, a fluence of 1e10 to 1e13 is used to image proteins of 1MDa to a few 100kDa.
in_detector_file The detector geometry file, which should be set as
in_detector_file = make_detector:::out_detector_file
to use the output detector geometry file from make_detector.py. Alternatively, you can set this to the relative path of an arbitrary detector file that conforms to the detector format listed on this page.
in_intensity_file Input 3D intensity volume, usually set as
in_intensity_file = make_intensities:::out_intensity_file
to use the output from make_intensities.py. In order to pass a custom intensity distribution, you will need to match the format and size of the output from make_intensites.py.
out_photons_file The file containing simulated data frames

[emc]

Option Description
in_photons_file The data frames used for the EMC reconstruction. For a simulation workflow, it should be set as
in_photons_file = make_data:::out_photons_file
to use the simulated data frames from make_data. For an experiment workflow, the user needs to generate his/her own data file with the same convention as make_data:::out_photons_file.
in_detector_file The detector geometry file used for the EMC reconstruction. It should be set as
in_detector_file = make_detector:::out_detector_file
to use the detector geometry file from make_detector.py. For an experiment workflow, the user need to generate his/her own detector geometry file with the same convention as make_detector:::out_detector_file.
num_div This integer determines the refinement of the quasi-uniform rotation sampling. The number of rotations is given by 10*(5*num_div^3 + num_div). More information can be found in the original EMC paper.
output_folder The destination of output files of the EMC reconstruction.
log_file The log file monitoring the progress of the EMC reconstruction.
need_scaling The option to update the scaling of each data frame caused by fluence fluctuation, etc, 0 for off and 1 for on.