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_winint
Number of lambda windows
- charge_divfloat 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_divfloat 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
: Optional[float] = None¶
-
__init__
(n_win: int, charge_div: Optional[float] = None) → None¶ Initialize self. See help(type(self)) for accurate signature.
-
n_win
: Optional[int] = None¶
-
charge_div
: Optional[float] = 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
-
property
vdw
¶
-
property
coulomb
¶
-
property
vdwA
¶
-
property
vdwB
¶
-
property
chargeA
¶
-
property
chargeB
¶
-
property
bondedA
¶
-
property
bondedB
¶
-
__init__
(n_win: int, charge_div: Optional[float] = None) → None¶ Initialize self. See help(type(self)) for accurate signature.
-
bonded_div
: Optional[float] = None¶
-
charge_div
: Optional[float] = None¶
-
get_lambda
()¶
-
n_win
: Optional[int] = None¶
-
property
-
class
schrodinger.application.desmond.fep_schedule.
FepScheduleBinding
(n_win: int, charge_div: Optional[float] = None)¶ Bases:
schrodinger.application.desmond.fep_schedule.FepSchedule
-
property
vdw
¶
-
property
coulomb
¶
-
property
vdwA
¶
-
property
vdwB
¶
-
property
chargeA
¶
-
property
chargeB
¶
-
property
bondedA
¶
-
property
bondedB
¶
-
__init__
(n_win: int, charge_div: Optional[float] = None) → None¶ Initialize self. See help(type(self)) for accurate signature.
-
bonded_div
: Optional[float] = None¶
-
charge_div
: Optional[float] = None¶
-
get_lambda
()¶
-
n_win
: Optional[int] = None¶
-
property
-
class
schrodinger.application.desmond.fep_schedule.
FepSchemeMixIn
¶ Bases:
object
Configure schedule of FEP schedule.
-
charge_div
= 2.5¶
-
bonded_div
= inf¶
-
-
class
schrodinger.application.desmond.fep_schedule.
FepSchemeChargeMixIn
¶ Bases:
schrodinger.application.desmond.fep_schedule.FepSchemeMixIn
-
charge_div
= 1.5¶
-
bonded_div
= inf¶
-
-
class
schrodinger.application.desmond.fep_schedule.
FepSchemeQuickchargeMixIn
¶ Bases:
schrodinger.application.desmond.fep_schedule.FepSchemeMixIn
-
charge_div
= 5.0¶
-
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¶
-
-
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.
-
property
bondedA
¶
-
property
bondedB
¶
-
bonded_div
: Optional[float] = inf¶
-
property
chargeA
¶
-
property
chargeB
¶
-
charge_div
: Optional[float] = 2.5¶
-
property
coulomb
¶
-
get_lambda
()¶
-
n_win
: Optional[int] = None¶
-
property
vdw
¶
-
property
vdwA
¶
-
property
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.
-
property
bondedA
¶
-
property
bondedB
¶
-
bonded_div
: Optional[float] = inf¶
-
property
chargeA
¶
-
property
chargeB
¶
-
charge_div
: Optional[float] = 1.5¶
-
property
coulomb
¶
-
get_lambda
()¶
-
n_win
: Optional[int] = None¶
-
property
vdw
¶
-
property
vdwA
¶
-
property
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.
-
property
bondedA
¶
-
property
bondedB
¶
-
bonded_div
: Optional[float] = inf¶
-
property
chargeA
¶
-
property
chargeB
¶
-
charge_div
: Optional[float] = 2.5¶
-
property
coulomb
¶
-
get_lambda
()¶
-
n_win
: Optional[int] = None¶
-
property
vdw
¶
-
property
vdwA
¶
-
property
vdwB
¶
-
-
schrodinger.application.desmond.fep_schedule.
get_absolute_binding_num_lambda_windows
(protocol: schrodinger.application.desmond.constants.SIMULATION_PROTOCOL, restrained: bool) → Tuple[int, int]¶ Get the number of lambda windows in the absolute binding lambda schedules. These are derived from the lambda schedules in mmshare/data/desmond/abfep
- Returns
A tuple of # of complex windows, # of solvent windows