BioSimSpace.FreeEnergy.Binding

class BioSimSpace.FreeEnergy.Binding(system, protocol=None, box=None, angles=[90.0000 degrees, 90.0000 degrees, 90.0000 degrees], free_leg=True, work_dir=None, engine=None, property_map={}, ignore_warnings=False, show_errors=True)

A class for configuring and running binding free energy simulations.

__init__(system, protocol=None, box=None, angles=[90.0000 degrees, 90.0000 degrees, 90.0000 degrees], free_leg=True, work_dir=None, engine=None, property_map={}, ignore_warnings=False, show_errors=True)

Constructor.

Parameters
  • system (System) – The molecular system.

  • protocol (Protocol.FreeEnergy) – The simulation protocol.

  • box ([Length]) – A list containing the box size in each dimension: x, y, and z. This box will be used for the “free” leg of the simulation, which typically can be run with a significantly smaller box than the “bound” leg.

  • angles ([Length]) – A list containing the angles between the box vectors: yz, xz, and xy.

  • free_leg (bool) – Whether to simulation the free leg of the simulation. Set to False if you only wish to run the bound leg.

  • work_dir (str) – The working directory for the simulation.

  • engine (str) – The molecular dynamics engine used to run the simulation. Available options are “GROMACS”, or “SOMD”. If this argument is omitted then BioSimSpace will choose an appropriate engine for you.

  • property_map (dict) – A dictionary that maps system “properties” to their user defined values. This allows the user to refer to properties with their own naming scheme, e.g. { “charge” : “my-charge” }

  • ignore_warnings (bool) – Whether to ignore warnings when generating the binary run file. This option is specific to GROMACS and will be ignored when a different molecular dynamics engine is chosen.

  • show_errors (bool) – Whether to show warning/error messages when generating the binary run file. This option is specific to GROMACS and will be ignored when a different molecular dynamics engine is chosen.

Methods

__init__(system[, protocol, box, angles, …])

Constructor.

analyse()

Analyse the binding free energy data.

getData([name, file_link, work_dir])

Return a link to a zip file containing the data files required for post-simulation analysis.

run([serial])

Run the simulation.

analyse()

Analyse the binding free energy data.

Returns

  • pmf_free ([(float, Energy, Energy)]) – The potential of mean force (PMF) for the free leg of the simulation. The data is a list of tuples, where each tuple contains the lambda value, the PMF, and the standard error.

  • pmf_bound ([(float, Energy, Energy)]) – The potential of mean force (PMF) for the bound leg of the simulation. The data is a list of tuples, where each tuple contains the lambda value, the PMF, and the standard error.

  • free_energy ((Energy, Energy)) – The binding free energy difference and its associated error.

  • overlap_free ([ [ float, float, … ] ]) – The overlap matrix. This gives the overlap between each window of the free leg. This parameter is only computed for the SOMD engine and will be None when GROMACS is used.

  • overlap_bound ([ [ float, float, … ] ]) – The overlap matrix. This gives the overlap between each window of the bound leg. This parameter is only computed for the SOMD engine and will be None when GROMACS is used.

classmethod getData(name='data', file_link=False, work_dir=None)

Return a link to a zip file containing the data files required for post-simulation analysis.

Parameters
  • name (str) – The name of the zip file.

  • file_link (bool) – Whether to return a FileLink when working in Jupyter.

  • work_dir (str) – The working directory for the simulation.

Returns

ouput – A path, or file link, to an archive of the process input.

Return type

str, IPython.display.FileLink

run(serial=True)

Run the simulation.

Parameters

serial (bool) – Whether to run the individual processes for the lambda windows in serial.