|
IMP Reference Guide
develop.0e3808d870,2026/10/23
The Integrative Modeling Platform
|
Score every pair of particles with a tabulated potential of mean force (PMF) W(r) of their center-center distance r. More...
Inherits RestraintBase.
Score every pair of particles with a tabulated potential of mean force (PMF) W(r) of their center-center distance r.
The score is sum over pairs i<j of W(r_ij)/kT, where pairs with r_ij >= distance_cutoff contribute nothing. With a Monte Carlo temperature of 1, an isolated pair is therefore sampled with p(r) proportional to g(r) = exp(-W(r)/kT).
The table is interpolated with a cubic spline, so the score has continuous derivatives. Below the first tabulated distance the PMF is held at its first value, which means it does not keep particles apart; use an excluded volume restraint for that.
Pairs are found with an IMP.container.ClosePairContainer, so they are updated as particles move.
Public Member Functions | |
| def | __init__ |
| Constructor. More... | |
| def | get_pmf |
| Get the PMF (in kT) that is applied at a given distance. More... | |
| def | read_table |
| Read a two-column (distance, PMF) table. More... | |
| def IMP.pmi.restraints.basic.PMFRestraint.__init__ | ( | self, | |
| particles, | |||
| pmf_file, | |||
| distance_cutoff, | |||
| units, | |||
temperature = None, |
|||
slack = None, |
|||
weight = 1.0, |
|||
label = None |
|||
| ) |
Constructor.
| particles | List of particles (or hierarchies), one per body whose positions were used to build the PMF, e.g. one centroid particle per receptor |
| pmf_file | Table of distance and PMF values (see read_table()) |
| distance_cutoff | Distance beyond which pairs are not scored |
| units | Units of the PMF values: 'kT', 'kJ/mol' or 'kcal/mol' |
| temperature | Temperature (K) the PMF was computed at; needed to convert kJ/mol or kcal/mol to kT |
| slack | Slack of the close pair container; defaults to 10% of the cutoff |
| weight | Weight of the restraint |
| label | Extra text to label the restraint so that it is searchable in the output |
| def IMP.pmi.restraints.basic.PMFRestraint.get_pmf | ( | self, | |
| distance | |||
| ) |
| def IMP.pmi.restraints.basic.PMFRestraint.read_table | ( | filename | ) |
Read a two-column (distance, PMF) table.
Columns may be separated by commas or whitespace. Blank lines, lines starting with '#' and non-numeric lines (e.g. a CSV header) are skipped. Any further columns are ignored.