schrodinger.application.desmond.fep_schedule module

This module handles the allocation of lambda windows for FEP simulations.

Different schemes of FEP simulations and interactions require different schedules of lambda windows. The FepSchedule class abstracts the creation of these schedules. This class is meant to be instantiated via its derived classes (with mixins) or, preferably, using the get_fep_schedule function.

Copyright Schrodinger, LLC. All rights reserved.

class schrodinger.application.desmond.fep_schedule.FepSchedule(n_win: int, charge_div: Optional[float] = None)

Bases: object

Lambda schedule for FEP calculations.

This class should not be instantiated directly. Instead, subclass it combining the mixins below.

n_win : int
Number of lambda windows
charge_div : float or None
Determines the fraction of lambda windows devoted to turning on electrostatic interactions. This should be overriden by a mix-in class or by the user.
bonded_div : float or None
Determines the fraction of lambda windows devoted to turning on bonded interactions. This should be overriden by a mix-in class or by the user.
bonded_div = None
__init__(n_win: int, charge_div: Optional[float] = None) → None

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

n_win = None
charge_div = None
get_lambda()
class schrodinger.application.desmond.fep_schedule.FepScheduleAlchemical(n_win: int, charge_div: Optional[float] = None)

Bases: schrodinger.application.desmond.fep_schedule.FepSchedule

vdw
coulomb
vdwA
vdwB
chargeA
chargeB
bondedA
bondedB
__init__(n_win: int, charge_div: Optional[float] = None) → None

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

bonded_div = None
charge_div = None
get_lambda()
n_win = None
class schrodinger.application.desmond.fep_schedule.FepScheduleBinding(n_win: int, charge_div: Optional[float] = None)

Bases: schrodinger.application.desmond.fep_schedule.FepSchedule

vdw
coulomb
vdwA
vdwB
chargeA
chargeB
bondedA
bondedB
__init__(n_win: int, charge_div: Optional[float] = None) → None

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

bonded_div = None
charge_div = None
get_lambda()
n_win = None
class schrodinger.application.desmond.fep_schedule.FepSchemeMixIn

Bases: object

Configure schedule of FEP schedule.

charge_div = 2.5
bonded_div = inf
__init__

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

class schrodinger.application.desmond.fep_schedule.FepSchemeChargeMixIn

Bases: schrodinger.application.desmond.fep_schedule.FepSchemeMixIn

charge_div = 1.5
__init__

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

bonded_div = inf
class schrodinger.application.desmond.fep_schedule.FepSchemeQuickchargeMixIn

Bases: schrodinger.application.desmond.fep_schedule.FepSchemeMixIn

charge_div = 5.0
__init__

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

bonded_div = inf
class schrodinger.application.desmond.fep_schedule.FepSchemeSuperquickchargeMixIn

Bases: schrodinger.application.desmond.fep_schedule.FepSchemeMixIn

charge_div = 10.0
bonded_div = 10.0
__init__

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

schrodinger.application.desmond.fep_schedule.get_fep_schedule_class(fep_type: str = 'alchemical', scheme: str = 'default') → Type[schrodinger.application.desmond.fep_schedule.FepSchedule]

Return FEP schedule class.

get_fep_schedule

schrodinger.application.desmond.fep_schedule.get_fep_schedule(n_win: int, fep_type: str = 'alchemical', scheme: str = 'default') → schrodinger.application.desmond.fep_schedule.FepSchedule

Instantiate FEP schedule.

Return a class encapsulating a concrete lambda schedule for the specified FEP simulation type and scheme.

Parameters:
  • n_win (int) – Number of lambda windows.
  • fep_type – Type of FEP simulation. Can be either ‘alchemical’

(default) or ‘binding’. :type fep_type: str :param scheme: Simulation scheme. Can be one of ‘default’, ‘flexible’, ‘charge’, ‘quickcharge’, or ‘superquickcharge’. :type scheme: str

Returns:Concrete schedule of the specified type, scheme, and number of

windows. :rtype: FepSchedule

class schrodinger.application.desmond.fep_schedule.FepScheduleAlchemicalDefault(n_win: int, charge_div: Optional[float] = None)

Bases: schrodinger.application.desmond.fep_schedule.FepSchemeMixIn, schrodinger.application.desmond.fep_schedule.FepScheduleAlchemical

Convenience class for the alchemical schedule with the default scheme.

__init__(n_win: int, charge_div: Optional[float] = None) → None

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

bondedA
bondedB
bonded_div = inf
chargeA
chargeB
charge_div = 2.5
coulomb
get_lambda()
n_win = None
vdw
vdwA
vdwB
class schrodinger.application.desmond.fep_schedule.FepScheduleAlchemicalCharge(n_win: int, charge_div: Optional[float] = None)

Bases: schrodinger.application.desmond.fep_schedule.FepSchemeChargeMixIn, schrodinger.application.desmond.fep_schedule.FepScheduleAlchemical

Convenience class for the alchemical schedule with the charge scheme.

__init__(n_win: int, charge_div: Optional[float] = None) → None

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

bondedA
bondedB
bonded_div = inf
chargeA
chargeB
charge_div = 1.5
coulomb
get_lambda()
n_win = None
vdw
vdwA
vdwB
class schrodinger.application.desmond.fep_schedule.FepScheduleBindingDefault(n_win: int, charge_div: Optional[float] = None)

Bases: schrodinger.application.desmond.fep_schedule.FepSchemeMixIn, schrodinger.application.desmond.fep_schedule.FepScheduleBinding

Convenience class for the binding schedule with the default scheme.

__init__(n_win: int, charge_div: Optional[float] = None) → None

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

bondedA
bondedB
bonded_div = inf
chargeA
chargeB
charge_div = 2.5
coulomb
get_lambda()
n_win = None
vdw
vdwA
vdwB