IMP logo
IMP Reference Guide  develop.0e3808d870,2026/10/23
The Integrative Modeling Platform
IMP.pmi.restraints.basic.PMFRestraint Class Reference

Score every pair of particles with a tabulated potential of mean force (PMF) W(r) of their center-center distance r. More...

Inherits RestraintBase.

Detailed Description

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.

Note
This class is only available in Python.

Definition at line 612 of file basic.py.

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

Constructor & Destructor Documentation

def IMP.pmi.restraints.basic.PMFRestraint.__init__ (   self,
  particles,
  pmf_file,
  distance_cutoff,
  units,
  temperature = None,
  slack = None,
  weight = 1.0,
  label = None 
)

Constructor.

Parameters
particlesList of particles (or hierarchies), one per body whose positions were used to build the PMF, e.g. one centroid particle per receptor
pmf_fileTable of distance and PMF values (see read_table())
distance_cutoffDistance beyond which pairs are not scored
unitsUnits of the PMF values: 'kT', 'kJ/mol' or 'kcal/mol'
temperatureTemperature (K) the PMF was computed at; needed to convert kJ/mol or kcal/mol to kT
slackSlack of the close pair container; defaults to 10% of the cutoff
weightWeight of the restraint
labelExtra text to label the restraint so that it is searchable in the output

Definition at line 627 of file basic.py.

Member Function Documentation

def IMP.pmi.restraints.basic.PMFRestraint.get_pmf (   self,
  distance 
)

Get the PMF (in kT) that is applied at a given distance.

Definition at line 672 of file basic.py.

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.

Returns
sorted lists of distances and PMF values

Definition at line 680 of file basic.py.


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