schrodinger.application.desmond.packages.energygroup module

exception schrodinger.application.desmond.packages.energygroup.EnergyGroupError

Bases: Exception

__init__

Initialize self. See help(type(self)) for accurate signature.

args
with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

class schrodinger.application.desmond.packages.energygroup.EnergyGroupBase

Bases: object

Its subclasses work with EnergyFacade to perform energy group calculations.

The subclass instance should have the following public attributes: - key: immutable and iterable. It is used as the key to retrieve

calculation result from cache in EnergyFacade
  • kwargs: dict. It is the keyword arguments for get_energies.

Its roles include: - store and validate the parameters - retrieve result from the cache in EnergyFacade

getResult(result)

Retrieve and format the result from the cache in EnergyFacade

__init__

Initialize self. See help(type(self)) for accurate signature.

class schrodinger.application.desmond.packages.energygroup.MoleculeEnergy(cms_model, molecule_number, type, type2)

Bases: schrodinger.application.desmond.packages.energygroup.EnergyGroupBase

Analyzer for energy group calculation with single molecule selection. The pre-defined energy groups are (see COMPONENT_LIST)

  1. Selected molecule
  2. All atoms - group 1, 3, 4, 5
  3. Solute atoms - group 1
  4. Membrane atoms - group 1
  5. Solvent atoms - group 1
TYPE_MAP = {'Angle': 'angle', 'Bond': 'stretch', 'Coulomb': 'elec', 'Torsion': 'dihedral', 'Total': 'Total', 'vdW': 'vdw'}
COMPONENT_LIST = ['Self', 'Other', 'Solute', 'Membrane', 'Solvent']
__init__(cms_model, molecule_number, type, type2)
Parameters:
  • molecule_number (int) – index of the molecule
  • type (str) – pre-defined energy type, see TYPE_MAP
  • type2 (str) – pre-defined atom group, see COMPONENT_LIST
getResult(result)
Returns:frame-by-frame result of the type energy (see TYPE_MAP) of the atom group type2 (see COMPONENT_LIST)
Return type:a list of `float`s
class schrodinger.application.desmond.packages.energygroup.InteractionEnergy(cms_model, asl1, asl2)

Bases: schrodinger.application.desmond.packages.energygroup.EnergyGroupBase

Analyzer for interaction energy group calculation.

__init__(cms_model, asl1, asl2)
Parameters:
  • asl1 (str) – atom selection for group 1
  • asl2 (str) – atom selection for group 2
getResult(result)
Returns:frame-by-frame result of the electric and van der Walls energies (both non-bonded and pair) between the two groups
Return type:a list of `tuple`s. Each tuple contains two `float`s
class schrodinger.application.desmond.packages.energygroup.Bulk(cms_model, type)

Bases: schrodinger.application.desmond.packages.energygroup.EnergyGroupBase

Analyzer for material science energy group calculation

MAX_GROUPS = 870
OPTIONS = {'COHES_E', 'DENSITY', 'HEAT_VAP', 'INTRA_E', 'PRESSURE_TENSOR', 'SOL_PARAM', 'SPECIFIC_HEAT', 'TOTAL_E', 'VOLUME'}
__init__(cms_model, type)

Initialize self. See help(type(self)) for accurate signature.

getResult(result)

Retrieve and format the result from the cache in EnergyFacade

getCfgParams(cfg_file)
Parameters:cfg_file – path to the simulation configuration file
parseEnergies(tmp_dir, num_groups)

Parse the vrun output.engp file for total molecular interaction energies, and other requested quantities. See for example https://opengrok.schrodinger.com/xref/desmond-gpu-src/test/data/bulktest/gpu https://opengrok.schrodinger.com/xref/desmond-gpu-src/test/data/bulktest/cpu

Return type:dict
class schrodinger.application.desmond.packages.energygroup.SliceParams(first, interval, last)

Bases: tuple

__contains__

Return key in self.

__init__

Initialize self. See help(type(self)) for accurate signature.

__len__

Return len(self).

count(value) → integer -- return number of occurrences of value
first

Alias for field number 0

index(value[, start[, stop]]) → integer -- return first index of value.

Raises ValueError if the value is not present.

interval

Alias for field number 1

last

Alias for field number 2

class schrodinger.application.desmond.packages.energygroup.EnergyComponent

Bases: object

Class for storing different energy components

add(term, val)
elec
vdw
__init__

Initialize self. See help(type(self)) for accurate signature.

schrodinger.application.desmond.packages.energygroup.temp_dir()
schrodinger.application.desmond.packages.energygroup.get_energies(sim_cfg, tr_path, cms_model, slicing, groups, max_groups=870, parse=<function _parse_energies>)

Calculate energies between groups of atoms specified by ASL selections, list of list of AIDs, or molecule number. Note there should be no overlap between any pair of the atom groups.

Parameters:parse (callable) – parser for the energy-group output data file
Return type:(c{list} of c{float}s, c{list} of EnergyComponent)
Returns:simulation times, and various energies for each frame

See EnergyFacade for other arguments

class schrodinger.application.desmond.packages.energygroup.EnergyFacade(sim_cfg, tr_path, cms_model, slicing)

Bases: object

A helper class to manage energy group calculations. Different energy group calculations have different input/output formats. All these details are hidden by using this class and the subclasses of EnergyGroupBase.

To get full control over the energy group calculation, call get_energies directly.

__init__(sim_cfg, tr_path, cms_model, slicing)
Parameters:
  • sim_cfg (str or None) – Path to Desmond simulaiton configuration.
  • tr_path (str) – Path to trajectory folder
get(ene)