IMP
2.2.1
The Integrative Modeling Platform
|
CHARMM force field parameters. More...
#include <IMP/atom/CHARMMParameters.h>
Public Member Functions | |
CHARMMParameters (base::TextInput topology_file_name, base::TextInput par_file_name=base::TextInput(), bool translate_names_to_pdb=false) | |
Construction with CHARMM topology (and optionally parameters) file. More... | |
kernel::Particles | create_angles (kernel::Particles bonds) const |
Auto-generate Angle particles from the passed list of Bond particles. More... | |
kernel::Particles | create_dihedrals (kernel::Particles bonds) const |
Auto-generate Dihedral particles from the passed list of Bond particles. More... | |
CHARMMTopology * | create_topology (Hierarchy hierarchy) const |
Create topology that corresponds to the primary sequence of the Hierarchy. | |
void | do_show (std::ostream &out) const |
const CHARMMBondParameters & | get_angle_parameters (std::string type1, std::string type2, std::string type3) const |
Get parameters for the angle between the three given CHARMM atom types. More... | |
const CHARMMBondParameters & | get_bond_parameters (std::string type1, std::string type2) const |
Get bond parameters for the bond between the two given CHARMM atom types. More... | |
CHARMMDihedralParametersList | get_dihedral_parameters (std::string type1, std::string type2, std::string type3, std::string type4) const |
Get parameters for the dihedral between the four given CHARMM atom types. More... | |
const CHARMMDihedralParameters & | get_improper_parameters (std::string type1, std::string type2, std::string type3, std::string type4) const |
Get parameters for the improper between the four given CHARMM atom types. More... | |
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::ForceFieldParameters | |
void | add_bonds (Hierarchy mhd) const |
add bonds to the structure defined in the hierarchy | |
void | add_radii (Hierarchy mhd, double scale=1.0, FloatKey radius_key=FloatKey("radius")) const |
Add or replace radii in the structure defined in the hierarchy. More... | |
void | add_well_depths (Hierarchy mhd) const |
Add LennardJones well depths to the structure. | |
Float | get_epsilon (Atom atom) const |
get epsilon for non bonded vdW | |
Float | get_radius (Atom atom) const |
get radius | |
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) |
Residue topology | |
The class stores the topology of each residue type as defined in the topology file, as a set of CHARMMIdealResidueTopology objects. | |
void | add_residue_topology (CHARMMIdealResidueTopology *res) |
CHARMMIdealResidueTopology * | get_residue_topology (ResidueType type) const |
Patches | |
The class stores patches as defined in the topology file, as a set of CHARMMPatch objects. | |
void | add_patch (CHARMMPatch *patch) |
CHARMMPatch * | get_patch (std::string name) const |
Additional Inherited Members | |
Protected Types inherited from IMP::atom::ForceFieldParameters | |
typedef std::map< AtomType, ChargePair > | AtomTypeMap |
typedef std::pair< std::string, double > | ChargePair |
Protected Member Functions inherited from IMP::atom::ForceFieldParameters | |
void | add_bonds (Residue rd) const |
void | add_bonds (Residue rd1, Residue rd2) const |
Float | get_epsilon (const String &force_field_atom_type) const |
Float | get_radius (const String &force_field_atom_type) const |
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::ForceFieldParameters | |
std::map< ResidueType, AtomTypeMap > | atom_res_type_2_force_field_atom_type_ |
std::map< String, FloatPair > | force_field_2_vdW_ |
std::map< ResidueType, base::Vector< Bond > > | residue_bonds_ |
This class reads in topology and parameter files in CHARMM format and stores the information.
It does not actually evaluate the force field itself - there are other classes that use the parameters provided by this class to do that. For example, the LennardJonesPairScore or CoulombPairScore evaluate the nonbond terms of the CHARMM force field, while CHARMMStereochemistryRestraint (or BondSingletonScore, AngleSingletonScore, DihedralSingletonScore and ImproperSingletonScore) cover the bond terms.
Typically, the create_topology() method is used to create a new CHARMMTopology object for a given Hierarchy; that object can then be used to assign atomic radii, bonds, etc.
Definition at line 71 of file CHARMMParameters.h.
IMP::atom::CHARMMParameters::CHARMMParameters | ( | base::TextInput | topology_file_name, |
base::TextInput | par_file_name = base::TextInput() , |
||
bool | translate_names_to_pdb = false |
||
) |
For addition of atom types, the topology file alone is enough; for adding bonds and radii, both files are needed.
Atom and residue naming in the topology file differs slightly between CHARMM and PDB. If translate_names_to_pdb is set to true, some simple translations are done to map CHARMM-style names to PDB-style for standard amino acids and some other commonly-used residues and patches. (This translation has already been done for the topology files included with IMP and MODELLER, so it is only needed for topology files taken from CHARMM itself or other sources.) The modifications are as follows:
kernel::Particles IMP::atom::CHARMMParameters::create_angles | ( | kernel::Particles | bonds | ) | const |
The angles consist of all unique pairs of bonds which share an endpoint. If no parameters are found for an angle, it is simply created without those parameters.
The list of newly-created Angle particles can be passed to a StereochemistryPairFilter to exclude 1-3 interactions from the nonbonded list, or to an AngleSingletonScore to score each angle.
kernel::Particles IMP::atom::CHARMMParameters::create_dihedrals | ( | kernel::Particles | bonds | ) | const |
The dihedrals consist of all unique triples of bonds which form dihedrals. If no parameters are found for a dihedral, it is simply created without those parameters; if multiple sets of parameters are found, multiple copies of the dihedral are created, each with one set of parameters.
The list of newly-created Dihedral particles can be passed to a StereochemistryPairFilter to exclude 1-4 interactions from the nonbonded list, or to a DihedralSingletonScore to score each dihedral.
If dihedrals are explicitly listed in the CHARMM topology file, they can be created if desired by calling CHARMMTopology::add_dihedrals() rather than this function.
const CHARMMBondParameters& IMP::atom::CHARMMParameters::get_angle_parameters | ( | std::string | type1, |
std::string | type2, | ||
std::string | type3 | ||
) | const |
The atom types may match in either forward or reverse order.
IndexException | if no parameters are present. |
Definition at line 192 of file CHARMMParameters.h.
const CHARMMBondParameters& IMP::atom::CHARMMParameters::get_bond_parameters | ( | std::string | type1, |
std::string | type2 | ||
) | const |
The atom types may match in any order.
IndexException | if no parameters are present. |
Definition at line 177 of file CHARMMParameters.h.
CHARMMDihedralParametersList IMP::atom::CHARMMParameters::get_dihedral_parameters | ( | std::string | type1, |
std::string | type2, | ||
std::string | type3, | ||
std::string | type4 | ||
) | const |
The atom types may match in either forward or reverse order. When looking for a match in the library, wildcards are considered; an atom type of X in the library will match any atom type. The most specific match from the library is returned.
Multiple sets of parameters can be specified for the same combination of atom types in the library, in which case all of them are returned.
IndexException | if no parameters are present. |
Definition at line 217 of file CHARMMParameters.h.
const CHARMMDihedralParameters& IMP::atom::CHARMMParameters::get_improper_parameters | ( | std::string | type1, |
std::string | type2, | ||
std::string | type3, | ||
std::string | type4 | ||
) | const |
The atom types may match in either forward or reverse order. When looking for a match in the library, wildcards are considered; an atom type of X in the library will match any atom type. The most specific match from the library is returned.
IndexException | if no parameters are present. |
Definition at line 253 of file CHARMMParameters.h.