Identifying symmetry in a map with map_symmetry

Author(s)

Purpose

The routine map_symmetry will identify the symmetry in a map and create a file with the symmetry operations.

Usage

How map_symmetry works:

Map-symmetry uses the density at a set of randomly-chosen points in a map to identify the symmetry in a map from a set of pre-defined symmetry types that include point-group symmetry as well as helical symmetry. For each possible symmetry, the correlation of values at symmetry-related points is calculated. The score for the symmetry type is the square root of the number of elements in the symmetry multiplied by the map correlation for that symmetry.

By default, map-symmetry assumes that the principal axes of symmetry in a map are along x, y, or z, and that helical symmetry is helical along z. The software has a database of 45 common symmetry elements and point groups, along with alternative settings of some of these. The user can specify a specific symmetry type to examine (e.g., I for icosahedral or D7 for a 7-fold axis along z perpendicular to a 2-fold axis along x or along y), or all elements in the database can be examined.

You can also use map-symmetry to find general (point-group or non-point-group) symmetry using the keyword "find_ncs_directly=True". In this case a density search will be carried out using spheres of density in the regions where the map varies the most as templates. Any similar density (with any translations or rotations) will indicate map symmetry.

For helical symmetry, a Fourier transform of the density is examined along the c* axis to find periodicity along z likely to correspond to the helical translation. These likely translations (and integer fractions of them) are tested along with possible rotations to check for helical symmetry.

Examples

Standard run of map_symmetry:

Running map_symmetry is easy. From the command-line you can type:

phenix.map_symmetry emd_8750.map symmetry=D7

where emd_8750.map is a map (CCP4, mrc or other related format), and in this case you are specifying that only D7 symmetry should be considered. An output file containing the symmetry (also known as NCS in Phenix) operators will be created (map_symmetry.ncs_spec).

You can leave the symmetry as default (symmetry=ALL), or you can specify symmetry with the name of a symmetry (symmetry=D7) or with a file with symmetry operators in the same format as map_symmetry.ncs_spec (symmetry_file=sym.ncs_spec).

Note that to find helical symmetry, you have to explicitly set the keyword include_helical_symmetry=True.

Possible Problems

Specific limitations and problems:

Helical symmetry is assumed to be along the z-axis.

Notes on map symmetry in Phenix:

Helical symmetry is more difficult to analyze than other symmetries. (a) Having the helical parameters (rotation about z, rise) is very helpful because finding these is not so easy and takes some time with map_symmetry. (b) Helical symmetry has several different forms as well. There is 1-start (normal) and 2-start (two sets of helices, not handled automatically in Phenix). Helical symmetry is usually identified using a Fourier transform along Z. (c) As helical symmetry is not common and takes longer to find automatically, finding helical symmetry is off by default and requires setting the keyword include_helical_symmetry to True to look for it. (d) Only one-start helical symmetry is found automatically. For other symmetries, a symmetry file (.ncs_spec) would need to be supplied.

For other symmetries, having the information about symmetry type (D, O, etc) is slightly useful, but generally it is quick to identify these symmetries by direct testing. Note that knowing that symmetry is D2 (for example) does not actually define the matrices. There are two settings for D2 (and many others), one with the two-fold along x and one with the two-fold along the x=y, z=0 line. It is even more complicated for icosahedral symmetries.

Phenix uses the method mmtbx/ncs/ncs/generate_ncs_ops to generate NCS operators for all the common symmetries that are found in cyo-EM maps. If there are symmetries that we do not recognize, this is the place to put them.

In Phenix map analysis and model building and manipulation code, the mmtbx.ncs.ncs object is used to handle the symmetry relationships for cryo-EM symmetry. There is another NCS object that is used inside the model object.

Literature

Additional information

List of all available keywords