PROFASI
Version 1.5
|
Amino acid base class. More...
#include <AminoAcid.hh>
Public Member Functions | |
Atom & | Nitrogen () |
Reference to backbone nitrogen. | |
Atom & | Calpha () |
Reference to Calpha. | |
Atom & | Cprime () |
Reference to C' atom. | |
Atom & | Hca () |
Reference to H alpha, or first H attached to C alpha. | |
Atom & | Cbeta () |
Reference to C beta. | |
Atom & | Oc () |
Reference to O attached to C'. | |
Atom & | sidechain_atom (int i) |
Reference to i'th side chain atom. | |
Atom * | labeled_atom (std::string alabel) |
Reference to any atom in the amino acid through its PDB label. | |
Atom & | at (std::string alabel) |
Look up and return reference to Atom with a certain label. | |
double | Chi (int i) const |
Side chain torsional DOF numbered from 0. | |
double | Phi () const |
Ramachandran Phi angle about the bond N-CA in the residue. | |
double | Psi () const |
Ramachandran Psi angle about the bond CA-C in the residue. | |
double | Omega () const |
Peptide bond angle between this and the next residue. | |
void | Chi (int i, double x) |
Set side chain torsional DOF. | |
void | Phi (double x) |
Set Ramachandran Phi angle. | |
void | Psi (double x) |
Set Ramachandran Psi angle. | |
void | Omega (double x) |
Set omega angle between this and the next residue. | |
void | calcPhiPsi (double &phv, double &psv) const |
Calculate Ramachandran angles from current 3D coordinates. | |
bool | is_helical () const |
Do the current backbone angles fall in the helix region ? | |
bool | is_strand () const |
Do the current backbone angles fall in the beta strand region ? | |
void | WritePDB (int &atindx, char ch_id, int aaindx, FILE *fp) |
Writes into a PDB file. | |
void | WritePDB2 (int &atindx, char ch_id, int aaindx, FILE *fp) |
Write PDB with heavy atoms first. | |
double | get_coord (int i) |
phi, psi, omega and side chain chi angles | |
void | set_coord (int i, double x) |
Assign to i'th DOF in amino acid. | |
int | n_coord () const |
3+number of side chain angles | |
double | get_dof (int i) |
True degrees of freedom in the residue. | |
void | set_dof (int i, double x) |
Assign to i'th true DOF in amino acid. | |
int | n_dof () const |
Number of true degrees of freedom in the residue. | |
int | rotDof_assign_and_reconstruct (int il, double mgd, int &a0, int &a1) |
Assign to (sidechain) dof i, and return the range of moved atoms. | |
int | rotDof_assign (int il, double mgd) |
Assign to (sidechain) dof i, but don't recalculate any coordinates. | |
double | get_rotDof (int il) |
Value of the i'th (sidechain) dof. | |
void | nodes_reconnect () |
Reassign atom offsets to the nodes. | |
![]() | |
virtual bool | get_rotDofAxis (int i, Atom &a0, Atom &a1) |
Get the atoms defining the axis of the i'th sidechain dof. | |
virtual int | set_coord_xml (prf_xml::XML_Node *rs, int typecheck=1) |
Assign degrees of freedom from an XML_Node object. | |
This class implements most of the properties of the amino acids. The precise geometry of individual amino acids is left to the derived classes.
|
virtual |
Warning: Upon failure to find the requested label, this function can not return anything reasonable. So, if that happens, the program exits.
Reimplemented from prf::Ligand.
|
virtual |
For all amino acids, get_coord returns the angle phi for i=0, psi for i=1 and the omega angle leading to the next residue for i=2. For i=3,4,5... the side chain angles chi0, chi1 etc are returned. Note, that omega is not really a degree of freedom in PROFASI, as of May
Reimplemented from prf::Ligand.
|
virtual |
Returns phi,psi,chi0... for all non-proline residues and only psi for proline.
Reimplemented from prf::Ligand.
|
virtual |
This is the slowest way to access an atom, and should be used with care. It is harmless during initialization and for small analysis programs, but disasterous to the performance if you decide to use this, for instance, in an energy calculation. Note also that it returns a pointer rather than a reference like the above functions. This is necessary to address the cases when a labeled atom is asked which does not exist, like CG2 on alanine. In such cases we want to be able to return NULL.
Reimplemented from prf::Ligand.
|
virtual |
Backbone phi, psi and omega angles and side chain degrees of freedom are counted.
Reimplemented from prf::Ligand.
|
virtual |
Backbone phi (non-proline), psi and side chain degrees of freedom are counted.
Reimplemented from prf::Ligand.
void AminoAcid::nodes_reconnect | ( | ) |
Nodes maintain their own atom lists. If atoms of an amino acid get an offset, the nodes are no longer connected to the right atoms. This function restores the connectivity.
|
virtual |
Assigns to the i'th degree of freedom of this Ligand and reconstructs. Puts the unique ids of the first and the last changed atoms in a0 and a1. An important difference from the older, obsolete, ROTDOF(...) is that the index i is interpreted as the index within this Ligand, not the index with respece to the whole system.
Reimplemented from prf::Ligand.
|
virtual |
Just like get_coord(), but this function assigns values.
Reimplemented from prf::Ligand.
|
virtual |
Just like get_dof(), but this function assigns values.
Reimplemented from prf::Ligand.
|
virtual |
aaindx
is the serial number to be used for the amino acid. ch_id
is the chain identifier. atindx
is the starting atom index.
Reimplemented from prf::Ligand.