IMP logo

IMP::atom::CHARMMParameters Class Reference


Detailed Description

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

Inheritance diagram for IMP::atom::CHARMMParameters:

Inheritance graph
[legend]

Public Member Functions

 CHARMMParameters (const String &topology_file_name, const String &par_file_name=std::string())
 Construction with CHARMM topology (and optionally parameters) file.
CHARMMTopologycreate_topology (Hierarchy hierarchy) const
 Create topology that corresponds to the primary sequence of the Hierarchy.
Particles generate_angles (Particles bonds) const
 Auto-generate Angle particles from the passed list of Bond particles.
Particles generate_dihedrals (Particles bonds) const
 Auto-generate Dihedral particles from the passed list of Bond particles.
const CHARMMBondParametersget_angle_parameters (std::string type1, std::string type2, std::string type3) const
 Get parameters for the angle between the three given CHARMM atom types.
const CHARMMBondParametersget_bond_parameters (std::string type1, std::string type2) const
 Get bond parameters for the bond between the two given CHARMM atom types.
std::vector
< CHARMMDihedralParameters
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.
const CHARMMDihedralParametersget_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.
virtual std::string get_type_name () const
virtual ::IMP::VersionInfo get_version_info () const
Patches
The class stores patches as defined in the topology file, as a set of CHARMMPatch objects.

void add_patch (CHARMMPatch &patch)
const CHARMMPatchget_patch (std::string name) const
CHARMMPatchget_patch (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)
const CHARMMIdealResidueTopologyget_residue_topology (std::string name) const
CHARMMIdealResidueTopologyget_residue_topology (ResidueType type)

Friends

template<class T >
void IMP::internal::unref (T *)

Constructor & Destructor Documentation

IMP::atom::CHARMMParameters::CHARMMParameters ( const String topology_file_name,
const String par_file_name = std::string() 
)

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.


Member Function Documentation

Particles IMP::atom::CHARMMParameters::generate_angles ( Particles  bonds  )  const

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.

Returns:
a list of the newly-created Angle particles.
See also:
CHARMMTopology::add_bonds().

Particles IMP::atom::CHARMMParameters::generate_dihedrals ( Particles  bonds  )  const

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.

Returns:
a list of the newly-created Dihedral particles.
See also:
CHARMMTopology::add_bonds().

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. If no parameters are present, NULL is returned.

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. If no parameters are present, NULL is returned.

std::vector<CHARMMDihedralParameters> 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.

If no parameters are present, an empty vector is returned.

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.

If no parameters are present, NULL is returned.


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

Generated on Mon Mar 8 23:08:49 2010 for IMP by doxygen 1.5.8