PROFASI  Version 1.5
Public Member Functions | Public Attributes | List of all members
prf::AtomDescriptor Class Reference

Minimal information that identifies one atom in a PDB file. More...

#include <AtomRecord.hh>

Public Member Functions

AtomDescriptoroperator= (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 ()
std::string short_info ()
 Return a brief description as a string, for use in output elsewhere.

Public Attributes

int int_label
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.

Detailed Description

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.

Member Function Documentation

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.

Member Data Documentation

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.

The documentation for this class was generated from the following files:

PROFASI: Protein Folding and Aggregation Simulator, Version 1.5
© (2005-2016) Anders Irbäck and Sandipan Mohanty
Documentation generated on Mon Jul 18 2016 using Doxygen version 1.8.2