JSON Parameter File Preparation
The JSON parameter file contains the parameter of THUNDER, where typical JSON parameter file is shown as Figure 2. It follows JSON file standard. The meaning of each attribute of the JSON parameter file is listed below.
Number of Threads Per Process
It stands the number of threads used in each MPI process. Usually, THUNDER hosts one process in each node, for the purpose of minimizing the usage of memory by sharing memory property of threading. As only one process hosted in each node, occupying all cores of CPU(s) in each node is accomplished by threads. This value should be set to the number of cores in each node, in this circumstance.
2D or 3D Mode
It stands for whether THUNDER acts in 2D or 3D. This attributes only takes string 2D or 3D, for setting THUNDER in 2D mode or 3D mode, respectively. If the user desires to perform 2D classification, this attribute should be set to 2D. On the other hand, if the user aims to perform 3D refinement or 3D classification, this attribute should be set to 3D.
Global Search
It stands for whether THUNDER performs global search or not.
Local Search
It stands for whether THUNDER performs local search or not.
CTF Search
It stands for whether THUNDER refines defocus of each single particle or not.
Number of Classes
It stands for the number of classes the user desires that the dataset classified into. For refinement, this attribute is set to 1.
Pixel Size (Angstrom)
It stands for the size of each pixel in Angstrom.
Radius of Mask on Images (Angstrom)
It stands for the radius of mask, which will be masked on each single particle image. This attribute should be set to slightly larger than the radius of the targeted macromolecule.
Estimated Translation (Pixel)
It stands for the standard deviation of in-plane translation of single particle images. As the translation is unknown before running THUNDER, this attribute is estimated by the user. Larger this attribute is, the wider THUNDER will search in in-plane translation, the longer computing time will be.
Initial Resolution (Angstrom)
It stands for the resolution THUNDER starts its iteration. If the user aims to eliminate the bias of initial model, he or she should set this attribute to a low resolution.
Perform Global Search Under (Angstrom)
It stands for the resolution threshold where search type switches from global search to local search.
Symmetry
It stands for symmetry type of the macromolecule. For example, C5 stands for 5-fold rotation symmetry along Z axis; D7 stands for 7-fold rotation symmetry along Z axis and 2-fold rotation symmetry along X axis; T stands for tetrahedral symmetry; O stands of octahedral symmetry; I stands for icosahedral symmetry. If the macromolecule is asymmetrical, it should be set to C1.
Initial Mode
It stands for the path where THUNDER reads in the initial model.
.thu File Storing Paths and CTFs of Images
It stands for the path where THUNDER reads in the .thu File. If THUNDER starts from global search, the path and CTF information of each single particle image will be read in. If THUNDER starts from local search or CTF search, besides path and CTF information, the rotation and translation information of each single particle image will be read in as well.
Prefix of Particles
It stands for a prefix added before the path of each single particle image, in order to help THUNDER find the correct path of image.
Prefix of Destination
It stands for a prefix added before the path of output file. It helps THUNDER redirects the output files.
Calculate FSC Using Core Region
It stands for whether THUNDER calculates FSC of the reference(s) masked by a sphere or not.
Calculate FSC Using Masked Region
It stands for whether THUNDER calculates FSC of the masked region of the reference(s), where the mask is provided by the user.
Particle Grading
It stands for whether THUNDER uses particle grading to weight the contribution of each single particle image during reconstruction.
The JSON parameter file also contains more parameters. However, those parameters are designed for professional users, as beginners can just use default values. Users can find a full description of parameters in JSON parameter file in THUNDER's website.
.thu File Format
THUNDER uses .thu file for inputing and output information of each image, including CTF parameters, classification, rotation, translation, defocus adjustment and grading weight.
.thu file is a simple space-separate plain text file with .thu as suffix. Each column of it stands for an attribute, as listed below.
voltage of the electron microscope (in volt)
2. first defocus value defined in CTFFind1
second defocus value defined in CTFFind
theta of defocus defined in CTFFind
spherical aberration in Angstrom
6.amplitude constrast
phase shift in radian
path of the single particle image
path of the micrograph which the single particle image belong to
coordinate X in micrograph
coordinate Y in micrograph
group ID
class ID
1st element of the unit quaternion for rotation
2nd element of the unit quaternion for rotation
3rd element of the unit quaternion for rotation
4th element of the unit quaternion for rotation
1st standard deviation of rotation
2nd standard deviation of rotation
3rd standard deviation of rotation
translation in X
translation in Y
standard deviation of translation in X
standard deviation of translation in Y
defocus factor to adjust defocus
standard deviation of defocus factor
particle grading score
Running THUNDER
The only file THUNDER directly reads in is the JSON parameter file. By parsing it, THUNDER will fetch .thu file for information of each particle and read in the initial model. Further, THUNDER will try to obtain each image by the path described in .thu file. Those files should should be prepared before running THUNDER.
THUNDER is a multiple-process software, where at least 3 processes should be assigned for it. Typically, one process should be hosted on each node. Threading is used for occupying all cores in each node.
Multiple processes should be governed by MPI environment. Users are able to use mpirun or mpiexec tool run MPI jobs of THUNDER. If a job scheduler is available on the cluster, users can entrust it with THUNDER MPI jobs.