Interactions¶
The Interaction
object is intended to build a basic container that can
be used
in various scenarios. At the initialization a FuncType has to be defined.
Whenever names, types or parameters are set, the number of parameters
gets checked according to the FuncType. A name or type can also consist of
a wildcard expressed as X.
The FuncType enum¶
Every Interaction is linked to one particular FuncType describing the types of interactions supported by OpenStructure. There are 15 possible values with Invalid defining an unknown interaction:
HarmonicBond, HarmonicAngle, UreyBradleyAngle, PeriodicDihedral, PeriodicImproper, HarmonicImproper, CMap, LJ, LJPair, GBSA, DistanceConstraint, Exclusion, HarmonicPositionRestraint, HarmonicDistanceRestraint, Invalid
The implementation guarantees that the parameter related to atom types, names, parameters are checked regarding their dimension (e.g. 3 atoms and 2 parameters for a harmonic angle)
Interaction Parametrization¶
- HarmonicBond, Interacting Particles: 2, Num Parameters: 2
float
bond length in nmfloat
force constant in kJ/mol/nm^2
- HarmonicAngle, Interacting Particles: 3, Num Parameters: 2
float
angle in radiansfloat
force constant in kJ/mol/radian^2
- UreyBradleyAngle, Interacting Particles: 3, Num Parameters: 4
float
angle in radiansfloat
angle force constant in kJ/mol/radian^2float
bond length in nmfloat
bond force constant in kJ/mol/nm^2
- PeriodicDihedral, Interacting Particles: 4, Num Parameters: 3
int
multiplicityfloat
phase in radiansfloat
force constant in kJ/mol/radian^2
- PeriodicImproper, Interacting Particles: 4, Num Parameters: 3
int
multiplicityfloat
phase in radiansfloat
force constant in kJ/mol/radian^2
- HarmonicImproper, Interacting Particles: 4, Num Parameters: 2
float
angle in radiansfloat
force constant in kJ/mol/radian^2
- CMap, Interacting Particles: 5, Num Parameters: n*n+1
list
offloat
of size n*n+1, first value describes the dimension n of the cmap, the other n*n values describe the correction map in kJ/mol in the ordering (phi1,psi1),(phi1,psi2)... and torsion angles in [-pi,pi] (will be converted to the format OpenMM prefers)
- LJ, Interacting Particles: 1, Num Parameters: 2
float
sigma in nmfloat
epsilon in kJ/mol
- LJPair, Interacting Particles: 2, Num Parameters: 2
float
sigma in nmfloat
epsilon in kJ/mol
- GBSA, Interacting Particles: 1, Num Parameters: 2
float
GBSA radius in nmfloat
OBC scaling factor
- DistanceConstraint, Interacting Particles: 2, Num Parameters: 1
float
constraint distance
- Exclusion, Interacting Particles: 2, Num Parameters: 0
- HarmonicPositionRestraint, Interacting Particles: 1, Num Parameters: 7
float
ref pos xfloat
ref pos yfloat
ref pos zfloat
force constantfloat
x_scalefloat
y_scalefloat
z_scale
- HarmonicDistanceRestraint, Interacting Particles: 2, Num Parameters: 2
float
restraint lengthfloat
force constant
The Interaction Class¶
-
class
Interaction
(func_type)¶ Parameters: func_type – FuncType
defining a particular interaction-
SetTypes
(types)¶ Sets the forcefield specific atom types.
Parameters: types ( list
) – Strings describing the force field specific atom types.Raises: RuntimeError
when size of input is not consistent with the interactions functype
-
SetNames
(names)¶ Sets atom names
Parameters: names ( list
) – Strings describing the atom namesRaises: RuntimeError
when size of input is not consistent with the interactions functype
-
SetParam
(param)¶ Sets interaction specific parameters.
Parameters: param ( list
) – Float values .Raises: RuntimeError
when size of input is not consistent with the interactions functype
-
GetTypes
()¶ Get previously set types
Returns: list
-
GetNames
()¶ Get previously set names
Returns: list
-
GetParam
()¶ Get previously set parameters
Returns: list
-
GetAtoms
(residue)¶ Returns an
AtomHandleList
containing the atoms in residue matching the atom names of the interactionParameters: residue ( ResidueHandle
) – Residue from which atoms are extractedReturns: AtomHandleList
Raises: RuntimeError
when an atom cannot be found in residue
-
GetFuncType
()¶ Returns the functype enum of the interaction
Returns: FuncType
-
ReplaceAtom
(name, new_name, new_type)¶ Searches for given atom name. If found, this particular atom name gets changed to new_name. If the atom types are set as well, the associated atom type gets also reset to new_type.
Parameters: - name (
str
) – Name of atom to be replaces - new_name (
str
) – Its new name - new_type (
str
) – Its new type
Returns: bool
whether replacement was successful or not- name (
-
MatchTypes
(atom_types)¶ Checks, whether the given types match the internal types. The match can be “as is” or in reversed order
Parameters: atom_types ( list
) – Atom types to be matchedReturns: bool
-
MatchNames
(atom_names)¶ Checks, whether the given names match the internal names. The match can be “as is” or in reversed order
Parameters: atom_names ( list
) – Atom names to be matchedReturns: bool
-
HasName
(name)¶ Checks, whether the given name is present in the internal names
Parameters: name ( str
) – Name to be checkedReturns: bool
-
HasType
(type)¶ Checks, whether the given type is present in the internal types
Parameters: type ( str
) – Type to be checkedReturns: bool
-
IsParametrized
()¶ Checks, whether the parameters have been set
Returns: bool
-
HasTypeWildcard
()¶ Checks, whether one of the types is a wildcard (‘X’)
Returns: bool
-
HasNameWildcard
()¶ Checks, whether one of the names is a wildcard (‘X’)
Returns: bool
-