pestifer.psfutil.psfpairex module

Definition of the PSFPairEx and PSFPairExList classes for handling non-bonded pair exclusions in PSF topology files.

In the dual-topology paradigm for alchemical free energy calculations in NAMD, atoms belonging to one alchemical end-state must not interact non-bonded with atoms belonging to the other end-state. These cross-topology exclusions are recorded in the NNB section of the PSF file as explicit pairs of atom serial numbers, using the same integer-pair line format as the BOND section.

The PSFPairEx class represents a single such excluded pair, while the PSFPairExList class is a collection of such pairs. These are descendants of the PSFTopoElement and PSFTopoElementList classes, respectively, which provide a framework for representing and manipulating generic PSF topology elements.

class pestifer.psfutil.psfpairex.PSFPairEx(idx_list: list[int])[source]

Bases: PSFTopoElement

A class representing a cross-topology non-bonded pair exclusion in a PSF topology file, used in the dual-topology alchemical free energy paradigm to prevent atoms belonging to one end-state from interacting non-bonded with atoms belonging to the other end-state.

class pestifer.psfutil.psfpairex.PSFPairExList(input_data, **kwargs)[source]

Bases: PSFTopoElementList

A class representing a list of PSFPairEx objects. This class inherits from PSFTopoElementList and provides methods for managing a collection of non-bonded pair exclusions in a PSF topology file. It can be initialized from a list of lines or from a PSFTopoElementList object.