As a rule, regular users don't necessarily need to remember the structure of a Dynamo table. However, it might be useful in order to interprete the results of a project, to check if a table has been correctly generated/imported or to diagnose problems.
The column convention used to define a table can be consulted by just typing dthelp, which should produce this output:
1 : tag tag of particle file in data folder
2 : aligned value 1: marks the particle for alignment
3 : averaged value 1: the particle was included in the average
4 : dx x shift from center (in pixels)
5 : dy y shift from center (in pixels)
6 : dz z shift from center (in pixels)
7 : tdrot euler angle (rotation around z, in degrees)
8 : tilt euler angle (rotation around new x, in degrees)
9 : narot euler angle (rotation around new z, in degrees)
10 : cc Cross correlation coefficient
11 : cc2 Cross correlation coefficient after thresholding II
12 : cpu processor that aligned the particle
13 : ftype 0: full range; 1: tilt around y ( ... dhelp dtutorial for more options)
14 : ymintilt minimum angle in the tilt series around tilt axis (i.e. -60)
15 : ymaxtilt maximum angle in the tilt series around tilt axis (i.e. 60)
16 : xmintilt minimum angle in the tilt series around second tilt axis (i.e. -60)
17 : xmaxtilt maximum angle in the tilt series around second x (i.e. 60)
18 : fs1 free parameter for fourier sampling #1()
19 : fs2 free parameter for fourier sampling #2()
20 : tomo tomogram number
21 : reg for arbitrary assignations of regions inside tomograms
22 : class class number
23 : annotation use this field for assigning arbitrary labels
24 : x x coordinate in original volume
25 : y y coordinate in original volume
26 : z z coordinate in original volume
27 : dshift norm of shift vector
28 : daxis difference in axis orientation
29 : dnarot difference in narot
30 : dcc difference in CC
31 : otag original tag (subboxing)
32 : npar number of added particles (compactions) / subunit label (subboxing)
34 : ref reference. Used in multireference projects
35 : sref subreference (i.e. generated by Dynamo PCA)
36 : apix angstrom per pixel
37 : def defocus (in micron)
41 : eig1 "eigencoefficient" #1
42 : eig2 "eigencoefficient" #2
more columns can be added for user-defined properties.
The shortnames can actually used in some programs of Dynamo (as dtgrep and dtplot) to refer to the columns.
- Main article: Particle tags
When a table is passed to a project, you can set to zero the particles in the data folder that you don't want to included into the alignment or classification project. Of course, you can just a table that does not include the particles you want to exclude.
When Dynamo runs a refinement project that operates some particle thresholding from iteration to iteration, the table in the subsequent iteration will not just omit the particles of the previous iteration, but will mark with zero the particles that are not to be aligned in the subsequent iteration.
This column is never set by the user, but it is typically filled by Dynamo during an alignment project. Dynamo generates several tables during the project (for each reference and for each iteration), and this column allows to track which particle contributed to which reference at which iteration.
The shift parameters, in pixels, measured always from the center of the box.
A set of euler angles in ZXZ convention.
If v is a template (say, pointing to the "north" ), and [tdrot, tilt, narot] are the angles that appear in the table for a given particle, then:
vRotated = drot(v,[tdrot, tilt, narot]);
would produce a cube containing the template rotated in the direction of the particle.
If the unrotated particle (i.e., the Subtomogram directly cropped form the tomogram) is contained in the volume p, then the particle aligned in the direction expressed in the table would be created through
alignedParticle = trot(p, -[narot,tilt,tdrot]) ;
Note the inverse ordering of the angles and the minus sign.
The rotation matrix of a given triplet [tdrot, tilt, narot] can be computed as:
m = dynamo_euler2matrix([tdrot, tilt, narot]);
If vRotated is the volume resulting from applying the triplet [tdrot, tilt, narot] onto a volume v:
vRotated= drot(v,[tdrot, tilt, narot]);
then a coordinate r inside v will land in the coordinate tRotated = inv(m)*r inside vRotated inside vRotated
- Both coordinates are assumed to be defined from the rotation center of the volume
- An explanation on how the derivation of the relationship between angle triplet and matrix has been computed can be found inside: dynamo_euler2matrix_derivation