| Bsoft 2.0.5 Bernard's software package

Functions
mol_symmetry.h File Reference

Library routines used for symmetry operations on atomic coordinates. More...

`#include "rwmolecule.h"`
`#include "rwresprop.h"`
`#include "symmetry.h"`

Go to the source code of this file.

## Functions
int | molgroup_apply_point_group (Bmolgroup *molgroup, Bsymmetry *sym, View ref_view)
| Generates all symmetry-related coordinates. More...
int | molgroup_generate_helix (Bmolgroup *molgroup, View ref_view, double helix_rise, double helix_angle, int gen_down, int gen_up)
| Generates a helix from the given parameters. More...
int | molgroup_apply_symmetry_from_pdb (Bmolgroup *molgroup, Bstring &filename)
| Generates all symmetry-related coordinates using PDB file matrices. More...
int | molgroup_apply_matrices_from_pdb (Bmolgroup *molgroup, Bstring &filename)
| Generates all symmetry-related coordinates using PDB file matrices. More...
int | molgroup_find_standard_view (Bmolgroup *molgroup, Bsymmetry *sym, View ref_view)
| Searches for the standard view based on point group symmetry. More...
int | molgroup_orient_to_standard_view (Bmolgroup *molgroup, Bsymmetry *sym, View ref_view, Bresidue_matrix *simat)
| Searches for the standard view based on point group symmetry. More...
double | molgroup_symmetry_RMSD (Bmolgroup *molgroup, Bsymmetry *sym)
| Calculates the RMSD for symmetry in the standard orientation. More...
double | molgroup_symmetry_B (Bmolgroup *molgroup, Bsymmetry *sym)
| Calculates the B factors from symmetry-related molecules. More...
int | molgroup_generate_crystal (Bmolgroup *molgroup, UnitCell unit_cell, Vector3< int > number)
| Generates unit cells from a set of coordinates. More...

## Detailed Description

Library routines used for symmetry operations on atomic coordinates.

Author
  Bernard Heymann

Date
  Created: 20021020
  Modified: 20150813

Definition in file mol_symmetry.h.

## Function Documentation

## ◆ molgroup_apply_matrices_from_pdb()

int molgroup_apply_matrices_from_pdb | ( | Bmolgroup * | molgroup,
|  | Bstring & | filename
| ) |  |

Generates all symmetry-related coordinates using PDB file matrices.

Parameters

  *molgroup | molecule group structure.
  &filename | PDB file with matrices.

Returns
  int 0.

      Uses the BIOMT records.

Definition at line 270 of file mol_symmetry.cpp.

## ◆ molgroup_apply_point_group()

int molgroup_apply_point_group | ( | Bmolgroup * | molgroup,
|  | Bsymmetry * | sym,
|  | View | ref_view
| ) |  |

Generates all symmetry-related coordinates.

Parameters

  *molgroup | molecule group structure.
  *sym | symmetry structure.
  ref_view | reference view.

Returns
  int 0.

Definition at line 34 of file mol_symmetry.cpp.

## ◆ molgroup_apply_symmetry_from_pdb()

int molgroup_apply_symmetry_from_pdb | ( | Bmolgroup * | molgroup,
|  | Bstring & | filename
| ) |  |

Generates all symmetry-related coordinates using PDB file matrices.

Parameters

  *molgroup | molecule group structure.
  &filename | PDB file with matrices.

Returns
  int 0.

      Uses the SMTRY records.

Definition at line 200 of file mol_symmetry.cpp.

## ◆ molgroup_find_standard_view()

int molgroup_find_standard_view | ( | Bmolgroup * | molgroup,
|  | Bsymmetry * | sym,
|  | View | ref_view
| ) |  |

Searches for the standard view based on point group symmetry.

Parameters

  *molgroup | molecule group structure.
  *sym | point group symmetry.
  ref_view | reference view.

Returns
  int 0.

      The molecule group is first analyzed to identify the different
      chains and calculate their centers-of-mass and weights.
      The overall center-of-mass defines a point on at least the
      major symmetry axis (cyclic symmetries), or the likely intersection
      of symmetry axes.
      Note: This function does a reasonable job of orienting the molecule
      group, but it may be off by up to an angstrom!!!

Definition at line 366 of file mol_symmetry.cpp.

## ◆ molgroup_generate_crystal()

int molgroup_generate_crystal | ( | Bmolgroup * | molgroup,
|  | UnitCell | uc,
|  | Vector3< int > | number
| ) |  |

Generates unit cells from a set of coordinates.

Parameters

  *molgroup | molecule group.
  uc | unit cell dimensions.
  number | number of unit cells in each lattice direction.

Returns
  int 0, <0 if error.

      The input molecule group is duplicated to generate the requested number
      of copies in each lattice direction.

Definition at line 963 of file mol_symmetry.cpp.

## ◆ molgroup_generate_helix()

int molgroup_generate_helix | ( | Bmolgroup * | molgroup,
|  | View | ref_view,
|  | double | helix_rise,
|  | double | helix_angle,
|  | int | gen_down,
|  | int | gen_up
| ) |  |

Generates a helix from the given parameters.

Parameters

  *molgroup | molecule group structure.
  ref_view | reference view.
  helix_rise | helical rise.
  helix_angle | helical rotation angle.
  gen_down | number of asymmetric units generated upwards.
  gen_up | number of asymmetric units generated downwards.

Returns
  int 0.

Definition at line 135 of file mol_symmetry.cpp.

## ◆ molgroup_orient_to_standard_view()

int molgroup_orient_to_standard_view | ( | Bmolgroup * | molgroup,
|  | Bsymmetry * | sym,
|  | View | ref_view,
|  | Bresidue_matrix * | simat
| ) |  |

Searches for the standard view based on point group symmetry.

Parameters

  *molgroup | molecule group structure.
  *sym | point group symmetry.
  ref_view | reference view (default should be 0,0,1,0).
  *simat | residue similarity matrix.

Returns
  int 0.

      Each pair of chains in the molecule groupis tested for sequence
      identity to find symmetry-related molecules. For each pair of matched
      molecules, the transformation to superimpose the one onto the other
      is determined and the symmetry axis and translation calculated.
      The collection of symmetry axes are clustered with a k-means
      algorithm and the predominant class assigned to the major
      symmetry axis. For dihedral point groups, a minor axis is also
      assigned (randomly at this time). The molecule group is then
      transformed to orient it with the major axis on {0,0,1} and
      the minor axis on {1,0,0}, and the symmetry center at {0,0,0}.
      Note: This function has not been extensively tested with all
      point groups!!!

Definition at line 608 of file mol_symmetry.cpp.

## ◆ molgroup_symmetry_B()

double molgroup_symmetry_B | ( | Bmolgroup * | molgroup,
|  | Bsymmetry * | sym
| ) |  |

Calculates the B factors from symmetry-related molecules.

Parameters

  *molgroup | molecule group structure.
  *sym | point group symmetry.

Returns
  double RMSD.

      The centers-of-mass for all the molecules are calculated as a reduced
      representation of the molecule group. All symmetry operations are
      imposed on the centers, with the RMSD defined as minimum distance
      between an original cneter and a transformed center.

Definition at line 883 of file mol_symmetry.cpp.

## ◆ molgroup_symmetry_RMSD()

double molgroup_symmetry_RMSD | ( | Bmolgroup * | molgroup,
|  | Bsymmetry * | sym
| ) |  |

Calculates the RMSD for symmetry in the standard orientation.

Parameters

  *molgroup | molecule group structure.
  *sym | point group symmetry.

Returns
  double RMSD.

      The centers-of-mass for all the molecules are calculated as a reduced
      representation of the molecule group. All symmetry operations are
      imposed on the centers, with the RMSD defined as minimum distance
      between an original cneter and a transformed center.

Definition at line 830 of file mol_symmetry.cpp.