You are reading the documentation for version 1.3 of ProMod3. You may also want to read the documentation for: 2.0 2.1 3.0 3.1 3.2

Rotamer Constructor

Instead of creating rotamers by yourself, you can simply use the convenient functionality provided by ProMod3.

Constructing Rotamers and Frame Residues

class promod3.sidechain.RotamerConstructor

Abstract base class that cannot be initialized from Python. It builds an interface implemented by energy function specific constructors (e.g. SCWRL4RotamerConstructor).

ConstructRRMRotamerGroup(res, id, residue_index, rot_lib[, phi = -1.0472, psi = -0.7854, n_ter = False, c_ter = False, probability_cutoff = 0.98])
ConstructRRMRotamerGroup(all_atom_pos, aa_res_idx, id, residue_index, rot_lib[, phi = -1.0472, psi = -0.7854, n_ter = False, c_ter = False, probability_cutoff = 0.98])
ConstructRRMRotamerGroup(res, id, residue_index, rot_lib_entries[, phi = -1.0472, psi = -0.7854, n_ter = False, c_ter = False, probability_cutoff = 0.98])
ConstructRRMRotamerGroup(all_atom_pos, aa_res_idx, id, residue_index, rot_lib_entries[, phi = -1.0472, psi = -0.7854, n_ter = False, c_ter = False, probability_cutoff = 0.98])

All functions are also avaible for their flexible rotamer model counterpart. =>ConstructFRMRotamerGroup(...) with the same parameters.

Parameters:
  • res (ost.mol.ResidueHandle) – To extract the required backbone atoms
  • all_atom_pos (promod3.loop.AllAtomPositions) – To extract the required backbone atoms
  • aa_res_idx (int) – Index of residue in all_atom_pos from which to extract the required backbone atoms
  • id (RotamerID) – Identifies the sidechain.
  • residue_index (int) – Important for the energy calculations towards the Frame you don’t want to calculate a pairwise energy of the sidechain particles towards particles representing the own backbone...
  • rot_lib (RotamerLib / BBDepRotamerLib) – To search for rotamers
  • rot_lib_entries (list) – RotamerLibEntry objects to circumvent the direct use of a rotamer library
  • phi (float) – Phi dihedral angle
  • psi (float) – Psi dihedral angle
  • n_ter (bool) – Whether the residue is n-terminal
  • c_ter (bool) – Whether the residue is c-terminal
  • probability_cutoff (float) – For some rotamers, there might be many low probability entries in the library. The function adds single rotamers to the group until the cumulative probability of the added rotamers is larger or equal probability_cutoff.
Returns:

The rotamer group containing all constructed rotamers with internal energies assigned.

Return type:

RRMRotamerGroup

Raises:

RuntimeError when not all required backbone atoms are present in residue or not all required atom positions are set in all_atom_pos

ConstructBackboneFrameResidue(res, id, residue_index[, phi = -1.0472, psi = -0.7854, n_ter = False, c_ter = False])
ConstructBackboneFrameResidue(all_atom_pos, aa_res_idx, id, residue_index[, phi = -1.0472, psi = -0.7854 n_ter = False, c_ter = False])

Constructs frame residues only containing backbone atoms (the ones that don’t show up in a rotamer).

Parameters:
  • res (ost.mol.ResidueHandle) – Residue from which to extract the backbone positions
  • all_atom_pos (promod3.loop.AllAtomPositions) – To extract the backbone positions
  • aa_res_idx (int) – Index of residue in all_atom_pos from which to extract the backbone positions
  • id (RotamerID) – Identifies the sidechain
  • residue_index (int) – Important for the energy calculations towards the Frame you don’t want to calculate a pairwise energy of the sidechain particles towards particles representing the own backbone...
  • phi (float) – The dihedral angle of the current residue
  • psi (float) – The dihedral angle of the current residue
  • n_ter (bool) – Whether the residue is n-terminal
  • c_ter (bool) – Whether the residue is c-terminal
Return type:

FrameResidue

Raises:

RuntimeError when not all required backbone atoms are present in residue or not all required atom positions are set in all_atom_pos.

ConstructSidechainFrameResidue(res, id, residue_index[, phi = -1.0472, psi = -0.7854, n_ter = False, c_ter = False])
ConstructSidechainFrameResidue(all_atom_pos, aa_res_idx, id, residue_index[, phi = -1.0472, psi = -0.7854 n_ter = False, c_ter = False])

Constructs frame residues only containing sidechain atoms (the ones that you observe in a rotamer).

Parameters:
  • res (ost.mol.ResidueHandle) – Residue from which to extract the backbone positions
  • all_atom_pos (promod3.loop.AllAtomPositions) – To extract the backbone positions
  • aa_res_idx (int) – Index of residue in all_atom_pos from which to extract the backbone positions
  • id (RotamerID) – Identifies the sidechain
  • residue_index (int) – Important for the energy calculations towards the Frame you don’t want to calculate a pairwise energy of the sidechain particles towards particles representing the own backbone...
  • phi (float) – The dihedral angle of the current residue
  • psi (float) – The dihedral angle of the current residue
  • n_ter (bool) – Whether the residue is n-terminal
  • c_ter (bool) – Whether the residue is c-terminal
Return type:

FrameResidue

Raises:

RuntimeError when not all required sidechain atoms are present in residue or not all required sidechain atom positions are set in all_atom_pos.

AssignInternalEnergies(rot_group, id, residue_index[, phi = -1.0472, psi = -0.7854, n_ter = False, c_ter = False])

Assigns an internal energy to every rotamer in rot_group, i.e. an energy value before looking at any structural component of the energy function. The default implementation simply assigns 0.0 to every rotamer, it’s up to the energy function specific constructors to override that behaviour.

Parameters:
  • rot_group (RRMRotamerGroup / FRMRotamerGroup) – containing all rotamers for which internal energies have to be assigned
  • id (RotamerID) – Identifies the sidechain
  • residue_index (int) – The index of the residue which is represented by rot_group
  • phi (float) – The dihedral angle of the current residue
  • psi (float) – The dihedral angle of the current residue
  • n_ter (bool) – Whether the residue is n-terminal
  • c_ter (bool) – Whether the residue is c-terminal
class promod3.sidechain.SCWRL4RotamerConstructor(cb_in_sidechain)

This object implements the full interface defined in RotamerConstructor and constructs rotamers and frame residues that are parametrized according to the SCWRL4 method. They contain all heavy atoms, but also the polar hydrogens.

Parameters:cb_in_sidechain (bool) – If set to true, all constructed rotamers will contain the cb atom. This flag also affects the construction of frame residues and controls whether the cb atom shows up in the backbone frame residues or sidechain frame residues. This is useful when you want to represent ALA or GLY with actual rotamers, but be aware of increased runtime. This flag can be set to False for most modeling applications and you just don’t generate any rotamers for ALA and GLY.
ConstructFrameResidue(residue, residue_index)

Constructs a FrameResidue from a ost.mol.ResidueHandle. This can be useful to mark a region occupied by a ligand. Note, that there won’t be any parametrization of hbonds in this function. All heavy atoms of the residue will be represented as carbons and hydrogens are skipped.

Parameters:
Returns:

FrameResidue

ConstructFrameResidueHeuristic(residue, residue_index, comp_lib)

Constructs a FrameResidue from a ost.mol.ResidueHandle using a heuristic treatment of the atoms based on the passed compounds library. This is meant to be used as an alternative to ConstructFrameResidue(), which will be called by this function if the residue is not known by the given compounds library. Only non-hydrogen atoms are considered and by default added as uncharged carbons. Special treatment is used for atoms known by the compounds library in the following cases:

  • carbons, nitrogens, oxygens and sulfur particles use an appropriate type as in the SidechainParticle enumeration
  • carbonyls are added as charged oxygen particles as hbond acceptors
Parameters:
Returns:

FrameResidue

AssignInternalEnergies(rot_group, id, residue_index[, phi = -1.0472, psi = -0.7854, n_ter = False, c_ter = False])

Overrides the method defined in RotamerConstructor. Takes the rotamer group and assigns every single rotamer its internal energy based on the probabilistic approach used by SCWRL4. => -internal_e_prefac*log(p/max_p), where internal_e_prefac and p are rotamer specific and max_p is the maximum probablity of any of the rotamers in rot_group. If you construct a rotamer group by the ConstructRRMRotamerGroup/ConstructFRMRotamerGroup functions, this function is already called at construction and the energies are properly assigned.

Parameters:
  • rot_group (RRMRotamerGroup / FRMRotamerGroup) – containing all rotamers for which internal energies have to be assigned
  • id (RotamerID) – Identifies the sidechain
  • residue_index (int) – The index of the residue which is represented by rot_group
  • phi (float) – The dihedral angle of the current residue
  • psi (float) – The dihedral angle of the current residue
  • n_ter (bool) – Whether the residue is n-terminal
  • c_ter (bool) – Whether the residue is c-terminal

Contents

Search

Enter search terms or a module, class or function name.

Previous topic

Rotamer Library

Next topic

Rotamer Graph

You are here