IMP  2.2.1
The Integrative Modeling Platform
IMP::atom::CHARMMPatch Class Reference

A CHARMM patch residue. More...

#include <IMP/atom/charmm_topology.h>

+ Inheritance diagram for IMP::atom::CHARMMPatch:

Public Member Functions

 CHARMMPatch (std::string type)
 Construct a new, empty patch residue. More...
 
void add_removed_atom (std::string name)
 
void apply (CHARMMResidueTopology *res) const
 Apply the patch to the residue, modifying its topology accordingly. More...
 
void apply (CHARMMResidueTopology *res1, CHARMMResidueTopology *res2) const
 Apply the patch to the given pair of residues. More...
 
unsigned int get_number_of_removed_atoms () const
 
std::string get_removed_atom (unsigned int i) const
 
virtual std::string get_type_name () const
 
virtual ::IMP::base::VersionInfo get_version_info () const
 Get information about the module and version of the object.
 
- Public Member Functions inherited from IMP::atom::CHARMMResidueTopologyBase
void add_angle (const CHARMMAngle &bond)
 
void add_atom (const CHARMMAtomTopology &atom)
 
void add_bond (const CHARMMBond &bond)
 
void add_dihedral (const CHARMMDihedral &bond)
 
void add_improper (const CHARMMDihedral &bond)
 
void add_internal_coordinate (const CHARMMInternalCoordinate &ic)
 
const CHARMMAngleget_angle (unsigned int index) const
 
const CHARMMAtomTopologyget_atom (unsigned int i) const
 
const CHARMMAtomTopologyget_atom (AtomType type) const
 
const CHARMMAtomTopologyget_atom (std::string name) const
 
const CHARMMBondget_bond (unsigned int index) const
 
const CHARMMDihedralget_dihedral (unsigned int index) const
 
const CHARMMDihedralget_improper (unsigned int index) const
 
const CHARMMInternalCoordinateget_internal_coordinate (unsigned int index) const
 
unsigned int get_number_of_angles () const
 
unsigned int get_number_of_atoms () const
 
unsigned int get_number_of_bonds () const
 
unsigned int get_number_of_dihedrals () const
 
unsigned int get_number_of_impropers () const
 
unsigned int get_number_of_internal_coordinates () const
 
std::string get_type () const
 
- Public Member Functions inherited from IMP::base::Object
virtual void clear_caches ()
 
virtual void do_destroy ()
 
CheckLevel get_check_level () const
 
LogLevel get_log_level () const
 
void set_check_level (CheckLevel l)
 
void set_log_level (LogLevel l)
 Set the logging level used in this object. More...
 
void set_was_used (bool tf) const
 
void show (std::ostream &out=std::cout) const
 
const std::string & get_name () const
 
void set_name (std::string name)
 

Additional Inherited Members

- Protected Member Functions inherited from IMP::atom::CHARMMResidueTopologyBase
 CHARMMResidueTopologyBase (std::string type)
 
- Protected Member Functions inherited from IMP::base::Object
 Object (std::string name)
 Construct an object with the given name. More...
 
- Protected Attributes inherited from IMP::atom::CHARMMResidueTopologyBase
CHARMMAngles angles_
 
base::Vector< CHARMMAtomTopologyatoms_
 
CHARMMBonds bonds_
 
CHARMMDihedrals dihedrals_
 
CHARMMDihedrals impropers_
 
CHARMMInternalCoordinates internal_coordinates_
 

Detailed Description

Patch residues are similar to regular residues, except that they are used to modify an existing residue. Any atoms they contain replace or add to those in the residue; they can also remove atoms. Atom names are as for regular residues, except for patches that affect two residues (e.g. DISU, LINK) in which each atom contains a 1 or 2 prefix (plus an optional colon) to identify the residue which will be patched; for example, both 1:CA and 1CA identify the CA atom in the first residue.

Definition at line 372 of file charmm_topology.h.

Constructor & Destructor Documentation

IMP::atom::CHARMMPatch::CHARMMPatch ( std::string  type)

To get an existing patch, use CHARMMParameters::get_patch() instead.

Definition at line 379 of file charmm_topology.h.

Member Function Documentation

void IMP::atom::CHARMMPatch::apply ( CHARMMResidueTopology res) const
Note
Most CHARMM patches are designed to be applied in isolation; it is usually an error to try to apply two different patches to the same residue. Thus, by default IMP prohibits this. To allow an already-patched residue to be re-patched, first call CHARMMResidueTopology::set_patched(false).
void IMP::atom::CHARMMPatch::apply ( CHARMMResidueTopology res1,
CHARMMResidueTopology res2 
) const

This can only be used for special two-residue patches, such as DISU or LINK. In a two-residue patch, each atom has a 1: or 2: prefix to identify the residue it refers to.

Exceptions
ValueExceptionif the patch is not a two-residue patch.

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