BioSimSpace.Metadynamics.CollectiveVariable.Funnel#

class BioSimSpace.Metadynamics.CollectiveVariable.Funnel(atoms0, atoms1, hill_width=(0.0250 nm, 0.0500 nm), width=0.6000 nm, buffer=0.1500 nm, steepness=1.5, inflection=2.0000 nm, lower_bound=<BioSimSpace.Metadynamics.Bound: value=0.5000 nm, force_constant=2000.0, exponent=2.0, epsilon=1.0>, upper_bound=<BioSimSpace.Metadynamics.Bound: value=4.0000 nm, force_constant=2000.0, exponent=2.0, epsilon=1.0>, grid=(<BioSimSpace.Metadynamics.Grid: minimum=0.0000e+00 nm, maximum=4.5000 nm, num_bins=400>, <BioSimSpace.Metadynamics.Grid: minimum=0.0000e+00 nm, maximum=0.9000 nm, num_bins=400>))[source]#

A class for a funnel collective variable.

__init__(atoms0, atoms1, hill_width=(0.0250 nm, 0.0500 nm), width=0.6000 nm, buffer=0.1500 nm, steepness=1.5, inflection=2.0000 nm, lower_bound=<BioSimSpace.Metadynamics.Bound: value=0.5000 nm, force_constant=2000.0, exponent=2.0, epsilon=1.0>, upper_bound=<BioSimSpace.Metadynamics.Bound: value=4.0000 nm, force_constant=2000.0, exponent=2.0, epsilon=1.0>, grid=(<BioSimSpace.Metadynamics.Grid: minimum=0.0000e+00 nm, maximum=4.5000 nm, num_bins=400>, <BioSimSpace.Metadynamics.Grid: minimum=0.0000e+00 nm, maximum=0.9000 nm, num_bins=400>))[source]#

Constructor.

Parameters:
  • atoms0 ([int, int, ...]) – A list of atom indices that define the origin of the funnel.

  • atoms1 ([int, int, ...]) – A list of atom indices that define the inflection point of the funnel.

  • width (Length) – The funnel “wall width”.

  • buffer (Length) – The funnel “wall buffer”.

  • steepness (float) – The steepness of the funnel at the inflection point.

  • inflection (Length) – The inflection point as a value of the projection along the funnel axis.

  • hill_width ((Length, “class:Length)) – The width of the Gaussian hill used to sample each component of the collective variable.

  • lower_bound (Bound) – A lower bound on the value of the collective variable. This is used to constrain the “projection on axis” component of the collective variable, i.e. the distance from the funnel axis to the origin, along the axis.

  • upper_bound (Bound) – An upper bound on the value of the collective variable. This is used to constrain the “projection on axis” component of the collective variable, i.e. the distance from the funnel axis to the origin, along the axis.

  • grid ((Grid, Grid)) – The grid on which the collective variable will be sampled. This can help speed up long metadynamics simulations where the number of Gaussian kernels can become prohibitive. The collective variable has two components: the “projection on the funnel axis” (the distance from the axis to the origin, along the axis) and the orthogonal distance between the ligand and the axis. The grid should be passed as a tuple with the parameters for each component.

Methods

__init__(atoms0, atoms1[, hill_width, ...])

Constructor.

getAtoms0()

Return indices of the atoms whose center-of-mass defines the origin of the funnel.

getAtoms1()

Return indices of the atoms whose center-of-mass defines the inflection point of the funnel.

getBuffer()

Return the funnel "wall buffer".

getCorrection([proj_min, proj_max, delta])

Get the funnel correction term.

getExtent(projection)

Return a value of the funnel extent for a given distance along the projection axis.

getGrid()

Get the grid on which the collective variable is sampled.

getHillWidth()

Return the width of the Gaussian hill used to bias this collective variable.

getInflection()

Return the inflection point as a value of the projection along the funnel axis.

getLowerBound()

Get the lower bound on the collective variable.

getSteepness()

Return the steepness of the funnel at the inflection point.

getUpperBound()

Get the upper bound on the collective variable.

getWidth()

Return the funnel "wall width".

nComponents()

Return the number of components for the collective variable.

setAtoms0(atoms0)

Set the list of atom indices whose center-of-mass define the origin of the funnel.

setAtoms1(atoms1)

Set the list of atom indices whose center-of-mass define the inflection point of the funnel.

setBuffer(buffer)

Set the funnel "wall buffer".

setGrid([grid])

Set a grid on which the collective variable will be sampled.

setHillWidth(hill_width)

Set the width of the Gaussian hills used to bias this collective variable.

setInflection(inflection)

Set the inflection point as a value of the projection along the funnel axis.

setLowerBound([lower_bound])

Set a lower bound on the value of the collective variable.

setSteepness(steepness)

Set the steepness of the funnel at the inflection point.

setUpperBound([upper_bound])

Set an upper bound on the value of the collective variable.

setWidth(width)

Set the funnel "wall width".

getAtoms0()[source]#

Return indices of the atoms whose center-of-mass defines the origin of the funnel.

Returns:

atoms0 – The list of atom indices whose center-of-mass define the origin of the funnel.

Return type:

[int]

getAtoms1()[source]#

Return indices of the atoms whose center-of-mass defines the inflection point of the funnel.

Returns:

atoms1 – The list of atom indices whose center-of-mass define the inflection point of the funnel.

Return type:

[int]

getBuffer()[source]#

Return the funnel “wall buffer”.

Returns:

buffer – The funnel “wall buffer”.

Return type:

Length

getCorrection(proj_min=None, proj_max=None, delta=0.0100 nm)[source]#

Get the funnel correction term. This is the correction factor for free-energy estimates that takes into account the reduction in entropy caused by the funnel restraint.

Parameters:
  • proj_min (Length) – The minimum coordinate along the projection axis of the funnel.

  • proj_max (Length) – The maximum coordinate along the projection axis of the funnel.

  • delta (Length) – The delta for integrating the volume.

Returns:

correction – The funnel correction.

Return type:

Energy

getExtent(projection)[source]#

Return a value of the funnel extent for a given distance along the projection axis.

Parameters:

proj (Length) – The distance along the projection axis.

Returns:

extent – The distance along the extent axis.

Return type:

Length

getGrid()[source]#

Get the grid on which the collective variable is sampled.

Returns:

grid – The grid on which the two-components of the collective variable are sampled. A grid for the two components of the collective variable: the distance along the funnel projection axis, and the

Return type:

(Grid,: class:Grid)

getHillWidth()[source]#

Return the width of the Gaussian hill used to bias this collective variable.

Returns:

hill_width – The width of the Gaussian hill for each component of the collective variable.

Return type:

(Length, “class:Length)

getInflection()[source]#

Return the inflection point as a value of the projection along the funnel axis.

Returns:

inflection – The inflection point as avalue of the projection along the funnel axis.

Return type:

Length

getLowerBound()#

Get the lower bound on the collective variable.

Returns:

lower_bound – The lower bound on the value of the collective variable.

Return type:

Bound

getSteepness()[source]#

Return the steepness of the funnel at the inflection point.

Returns:

steepness – The steepness of the funnel at the inflection point.

Return type:

float

getUpperBound()#

Get the upper bound on the collective variable.

Returns:

upper_bound – The upper bound on the value of the collective variable.

Return type:

Bound

getWidth()[source]#

Return the funnel “wall width”.

Returns:

width – The funnel “wall width”.

Return type:

Length

nComponents()#

Return the number of components for the collective variable.

setAtoms0(atoms0)[source]#

Set the list of atom indices whose center-of-mass define the origin of the funnel.

Parameters:

atoms0 ([int, int, ...]) – The list of atom indices whose center-of-mass define the origin of the funnel.

setAtoms1(atoms1)[source]#

Set the list of atom indices whose center-of-mass define the inflection point of the funnel.

Parameters:

atoms1 ([int, int, ...]) – The list of atom indices whose center-of-mass define the inflection point of the funnel.

setBuffer(buffer)[source]#

Set the funnel “wall buffer”.

Parameters:

buffer (Length) – The width of the funnel wall buffer.

setGrid(grid=None)[source]#

Set a grid on which the collective variable will be sampled. Call with no arguments to clear the grid.

Parameters:

grid ((Grid,: class:Grid)) – A grid for the two components of the collective variable: the distance along the funnel projection axis, and the orthogonal extent from the axis.

setHillWidth(hill_width)[source]#

Set the width of the Gaussian hills used to bias this collective variable.

Parameters:

hill_width (Length) – The width of the Gaussian hill for the two components of the collective variable: the distance along the funnel projection axis, and the orthogonal extent from the axis.

setInflection(inflection)[source]#

Set the inflection point as a value of the projection along the funnel axis.

Parameters:

inflection (Length) – The inflection point as avalue of the projection along the funnel axis.

setLowerBound(lower_bound=None)#

Set a lower bound on the value of the collective variable.

Parameters:

lower_bound (Bound) – A lower bound on the value of the collective variable.

setSteepness(steepness)[source]#

Set the steepness of the funnel at the inflection point.

Parameters:

steepness (float) – The steepness of the funnel at the inflection point.

setUpperBound(upper_bound=None)#

Set an upper bound on the value of the collective variable.

Parameters:

upper_bound (Bound) – An upper bound on the value of the collective variable.

setWidth(width)[source]#

Set the funnel “wall width”.

Parameters:

width (Length) – The width of the funnel wall.