Geometry

Note: You will need to include the additional file: <lemon/geometry.hpp> to have access to these features.

Names of protein bond groups

namespace lemon::geometry

Functions to retreive names of various bonds, angles, and dihedrals.

Functions

std::string is_special_residue(const std::string &resn, const ResidueNameSet &resn_names)

Is special residue.

class geometry_error : public std::logic_error
#include <geometry.hpp>

Error to handle odd geometries.

namespace protein

For obtaining information about peptide geometry.

Functions

std::string bond_name(const chemfiles::Frame &entry, const chemfiles::Bond &bond, const ResidueNameSet &special = proline_res)

Obtain the name of a bond present in a peptide residue

This function returns the ‘name’ of a given bond in the form {residue}_{atom1}_{atom2} for bonds within a single residue not part of the amino acid linker. For bonds within the amino acid linker, only the atom names are returned, (‘CA_C’, ‘CA_N’, ‘C_O’), unless the residue name is in special (C_O not included)). The default special residues are proline derivatives. For peptide bonds and disulphide bridges, ‘peptide_bond’ and ‘SG_SG’ are returned. Other types of inter-residue bonds result in a geometry error being thrown.

Return

The name of the bond.

Parameters
  • [in] entry: Structure containing the peptide residues of interest

  • [in] bond: Bond which name is going to be obtained

  • [in] special: Residue names that should be handled differently

std::string angle_name(const chemfiles::Frame &entry, const chemfiles::Angle &angle)

Obtain the name of an angle present in a peptide residue

This function returns the ‘name’ of a given angle in the form {residue}_{atom1}_{atom2}_{atom3} for angles within a single residue not part of the amino acid linker, namely: CA_C_O, N_C_O, and O_C_OXT. Inter-residue angles not part of the linker are handled similarly, both with the exception of proline derivatives. Other types of inter-residue angles result in a geometry error being thrown.

Return

The name of the angle.

Parameters
  • [in] entry: Structure containing the peptide residues of interest

  • [in] angle: angle which name is going to be obtained

std::string dihedral_name(const chemfiles::Frame &entry, const chemfiles::Dihedral &dihedral, const ResidueNameSet &special = proline_res)

Obtain the name of a dihedral present in a peptide residue

This function returns the ‘name’ of a given dihedral in the form {residue}_{atom1}_{atom2}_{atom3}_{atom4} for dihedrals within a single residue not part of the amino acid linker. Namely: CA_C_N_CA, N_C_CA_N, C_CA_N_C, N_CA_C_O, and CA_N_C_O. These are tagged with the residue name if the residue is a proline derivative.

Return

The name of the dihedral.

Parameters
  • [in] entry: Structure containing the peptide residues of interest

  • [in] dihedral: Dihedral which name is going to be obtained

  • [in] special: Residue names that should be handled differently

std::string improper_name(const chemfiles::Frame &entry, const chemfiles::Improper &improper, const ResidueNameSet &special = proline_res)

Obtain the name of an improper dihedral present in a peptide residue

This function returns the ‘name’ of a given improper in the form {residue}_{atom1}_{atom2}_{atom3}_{atom4} for impropers within a single residue not part of the amino acid linker (CA_C_N_O).

Return

The name of the improper.

Parameters
  • [in] entry: Structure containing the peptide residues of interest

  • [in] improper: Improper dihedral which name is going to be obtained

  • [in] special: Residue names that should be handled differently