PROFASI
Version 1.5
|
Minimal information that identifies one atom in a PDB file. More...
#include <AtomRecord.hh>
Public Member Functions | |
AtomDescriptor & | operator= (const AtomDescriptor &) |
Assignment operator. | |
bool | corresponds_to (AtomDescriptor &, std::string optns="") |
Comparison of two AtomDescriptors. | |
int | set_fields (std::string, AtomLabelDictionary *d) |
Set fields from a string, assumed to be a PDB line. | |
void | mark_fields (char gline[81]) |
Imprint fields onto a 80 character wide line, intended to be a PDB line. | |
void | filter (std::string &alabel) |
Try to make a good ProFASi style atom label out of a given string. | |
void | print_info () |
Print. | |
std::string | short_info () |
Return a brief description as a string, for use in output elsewhere. | |
Public Attributes | |
int | int_label |
nickname | |
int | imdl |
model number | |
int | iatom |
atom index | |
int | iresrel |
Relative residue index. | |
char | ialt |
Alternative coordinates identifier. | |
char | atom_type |
Atom species. | |
std::string | keyword |
Identifies the type of the record represented by the PDB line. | |
std::string | resnm |
3 letter code for the residue | |
std::string | atom_label |
Atom identifier string inside a residue. | |
std::string | ich |
ich is the chain label. | |
std::string | ires |
ires is the residue index as given in the PDB file. | |
std::string | occ |
occ is the occupancy value often mentioned for Atoms in PDB files. | |
To identify one particular atom line in a PDB file, one needs a residue number, an atom label. Certain other properties are fixed by these two for a given molecule: like the residue name species of the atom etc. The AtomDescriptor class is an abstraction for such an incomplete description of the atoms. The description is only incomplete in the sense that it does not specify any coordinates for the atom. This is useful in many circumstances where the coordinates are irrelevant.
bool prf::AtomDescriptor::corresponds_to | ( | AtomDescriptor & | , |
std::string | optns = "" |
||
) |
This is a correspondence function rather than an equality test. The optns argument could take values "ignore_res_index", "ignore_res_label", "ignore_chain_label", or "ignore_model_label" to make the comparison insensitive to a particular property. We may want the comparison to be insensitive to the residue label when we want to find backbone RMSD between two proteins of different sequence, for instance.
void prf::AtomDescriptor::filter | ( | std::string & | alabel | ) |
This function maps some commonly found labels for atoms, in particular hydrogen atoms, to the ProFASi convention for their labels. For instance, " HA2" and " HA3" are mapped to "1HA " and " 2HA" respectively.
std::string prf::AtomDescriptor::atom_label |
atom_label is the label identifying the atom inside one residue, like " CA ", " OG2" etc.
char prf::AtomDescriptor::atom_type |
atom_type is H,C,N, O or S depending on if the atom is hydrogen, carbon, nitrogen, oxygen or sulfur, respectively
char prf::AtomDescriptor::ialt |
ialt is a character label to distinguish between alternative coordinates for one atom, sometimes given in a PDB file. Most often this character will be blank. When there are two alternative coordinates given, they will differ in their values of ialt.
int prf::AtomDescriptor::int_label |
int_label is a label given to the descriptor from an outside program or function. It is not a property of the atom represented by the descriptor. It is like a "nickname".
std::string prf::AtomDescriptor::ires |
It is treated as a string and not as a number, because that is how it is often treated in PDB files. A sequence of consecutive residue numbers in a PDB file could read 81, 81A, 81B, 82 ... Or, it could be 15, 16, 24, 25, ... There is no clean way to treat this index as an integer and cover all cases. One thing we assume is that if the residues are different, the index will at least be different!
int prf::AtomDescriptor::iresrel |
iresrel is the residue serial number starting from the first residue present in the file, counting only the residues explicitly present in the file.
std::string prf::AtomDescriptor::keyword |
keyword is the string formed by the first 6 characters in a PDB line. It designates what kind of record that line is. For an atom, its value is either "ATOM " or "HETATM". resnm is the residue name in 3 letter code.