Simulation¶
-
class
simulation.tem_simulation.Simulation(config_file, base_coord_file, tiltseries_file, nonoise_tilts_file, global_stack_no, temp_dir, apix=None, defocus=5, template_configs='', template_coords='')¶ A class to hold associated configurations and metadata for a run of the TEM-Simulator.
-
### Attributes passed in on initialization ###
-
config_file¶ The file path to the TEM-Simulation configuration input file
-
base_coord_file¶ The file path to the TEM-Simulator particle coordinates file to use as base orientations/locations
-
tiltseries_file¶ The output tiltseries file path
-
nonoise_tilts_file¶ The no-noise version of the output tiltseries file path
-
global_stack_no¶ The ID number of this simulated stack within the experiment
-
temp_dir¶ The directory to use to store temporary input files
-
apix¶ (optional) the APIX value to provide to the TEM-Simulator if a PDB source is used
-
### Other attributes ###
-
orientations¶ The orientations given to the particles of interest
-
positions¶ The positions given to the particles of interest
-
sim_log_file¶ The file path to use for the temporary TEM-Simulator log file
-
custom_data¶ Field that can be used to store custom Assembler-specific metadata which will be output to the metadata log
-
static
_Simulation__replace(file_path, pattern, subst)¶ - Helper function to go through a text file and replace instances of a given pattern with the
provided replacement
- Parameters
file_path – The text file to make the replacement in
pattern – The pattern to look to replace within the text file
subst – The string to substitute in for instances of the pattern
-
static
_Simulation__replace_nonoise(file_path, pattern, subst)¶ - Variant helper function of the __replace function used to replace the no-noise tiltseries
file path in the configs file, since it replaces just the second instance of the given pattern
- Parameters
file_path – The text file to make the replacement in
pattern – The pattern to look for and replace the second instance of within the file
subst – The string to substitute in for the second instance of the pattern
-
static
_Simulation__write_coord_file(filename, coordinates, orientations)¶ - Helper function to write out particle coordinates and orientations in the format expected
by TEM-Simulator for a particle set
- Parameters
filename – The coordinates file to write out a particle set’s information to
coordinates – The list of particle coordinates to write out
orientations – The list of particle Euler angles (extrinsic ZXZ) to write out
-
_Simulation__write_fiducials_particle_set_section(bead_occupancy)¶ - Write out the “particleset” section for the gold fiducials, which uses the random
coordinates from the occupancy option for the TEM-simulator instead of the standard coordinates text files.
-
_Simulation__write_particle_section(particle_name, source, voxel_size=0.283)¶ - For a given particle set, write out the particle parameters segment for the TEM-Simulator
configuration file
- Parameters
particle_name – The particle name assigned to this set
source – The source MRC or PDB file used to simulate the particle from
voxel_size – If passing a PDB source, a voxel size (apix, in nm) must be provided
-
_Simulation__write_particle_set_section(particle_set, coord_file)¶ - For a given particle set, write out the “particleset” parameters segment for the
TEM-Simulator configuration file
For more information on what a particle set is, refer to the TEM-Simulator manual.
- Parameters
particle_set – The src.particle_set.ParticleSet object containing various particle set parameters
coord_file – The TEM-Simulator coordinates file to write out parameters to
-
add_orientation(orientation)¶ Append to the orientations attribute
- Parameters
orientation – The intrinsic Euler angles (z1, x, z2) to append to the orientations list
-
create_fiducials(fiducials_source, bead_occupancy)¶ Set up the TEM-simulator configurations to generate randomly distributed gold fiducials
- Parameters
fiducials_source – The MRC file designed to simulate gold fiducials
bead_occupancy – The TEM-Simulator occupancy value for the beads
-
create_particle_lists(particle_sets)¶ Read the particle coordinates in self.base_coord_file and return them as an array
- Parameters
particle_sets – A list of src.particle_set.ParticleSet objects holding parameters to update TEM-Simulator configuration files with
-
edit_output_files()¶ - Go into the actual TEM-Simulator input files and update the output and log file values to
be what is currently stored in the appropriate class attributes
-
extend_orientations(orientations)¶ Extend the orientations attribute with a given list of orientations
- Parameters
orientations – A list of extrinsic Euler angles (z1, x, z2) to extend the orientations list by
-
extend_positions(positions)¶ Extend the positions attribute with a given list of positions
- Parameters
positions – A list of positions (X, Y, Z) to extend the positions list by
-
get_metadata()¶ Get the important contents of the Simulation object in dictionary form (the non-temp files)
- Returns: The attributes of the Simulation object in dictionary form, to be used as metadata
logging
-
get_num_particles()¶ Open the self.base_coord_file and get the number of particles for the simulation indicated
Returns: The number of particles indicated by the coordinates file
-
parse_coordinates()¶ Read the particle coordinates in self.base_coord_file and return them as an array
Returns: A list of lists [x, y, z] representing particle positions
-
run_tem_simulator(tem_exec_path)¶ - Given the executable path to the TEM-Simulator, run the simulation with the set-up
specified by current Simulation object attributes
- Parameters
tem_exec_path – The full path to the executable for the TEM-Simulator software
-
set_custom_data(data)¶ Update the custom data field, which is directly recorded in the metadata logs. Can be used to keep track of information specific to custom Assemblers
- Parameters
data – The data object that should be recorded in the metadata logs
-