IMP Reference Guide
develop.63b38c487d,2024/12/21
The Integrative Modeling Platform
|
CHARMM force field parameters. More...
#include <IMP/atom/CHARMMParameters.h>
CHARMM force field parameters.
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 86 of file CHARMMParameters.h.
Public Member Functions | |
CHARMMParameters (TextInput topology_file_name, TextInput par_file_name=TextInput(), bool translate_names_to_pdb=false) | |
Construction with CHARMM topology (and optionally parameters) file. More... | |
Particles | create_angles (Particles bonds) const |
Auto-generate Angle particles from the passed list of Bond particles. More... | |
Particles | create_dihedrals (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. More... | |
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 override |
virtual ::IMP::VersionInfo | get_version_info () const override |
Get information about the module and version of the object. More... | |
Public Member Functions inherited from IMP::atom::ForceFieldParameters | |
void | add_bonds (Hierarchy mhd) const |
add bonds to the structure defined in the hierarchy More... | |
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. More... | |
Float | get_epsilon (Atom atom) const |
get epsilon for non bonded vdW More... | |
Float | get_radius (Atom atom) const |
get radius More... | |
Public Member Functions inherited from IMP::Object | |
virtual void | clear_caches () |
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::Object | |
Object (std::string name) | |
Construct an object with the given name. More... | |
virtual void | do_destroy () |
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, Vector < Bond > > | residue_bonds_ |
IMP::atom::CHARMMParameters::CHARMMParameters | ( | TextInput | topology_file_name, |
TextInput | par_file_name = TextInput() , |
||
bool | translate_names_to_pdb = false |
||
) |
Construction with CHARMM topology (and optionally parameters) file.
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:
Auto-generate Angle particles from the passed list of Bond particles.
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.
Auto-generate Dihedral particles from the passed list of Bond particles.
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.
CHARMMTopology* IMP::atom::CHARMMParameters::create_topology | ( | Hierarchy | hierarchy | ) | const |
Create topology that corresponds to the primary sequence of the Hierarchy.
Residues are placed in different segments if they are deemed to be "disconnected", i.e. they have different Chains as parents, they are in different Fragments and the fragments are not consecutive (the last residue index of the first Fragment and the first index of the second Fragment are not consecutive), or their ancestors are different (e.g. one Residue lives in a Chain and another does not have a Chain parent)
const CHARMMBondParameters& IMP::atom::CHARMMParameters::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.
The atom types may match in either forward or reverse order.
IndexException | if no parameters are present. |
Definition at line 214 of file CHARMMParameters.h.
const CHARMMBondParameters& IMP::atom::CHARMMParameters::get_bond_parameters | ( | std::string | type1, |
std::string | type2 | ||
) | const |
Get bond parameters for the bond between the two given CHARMM atom types.
The atom types may match in any order.
IndexException | if no parameters are present. |
Definition at line 199 of file CHARMMParameters.h.
CHARMMDihedralParametersList IMP::atom::CHARMMParameters::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.
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 239 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 |
Get parameters for the improper between the four given CHARMM atom types.
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 286 of file CHARMMParameters.h.
|
overridevirtual |
Get information about the module and version of the object.
Reimplemented from IMP::Object.
Definition at line 339 of file CHARMMParameters.h.