schrodinger.application.transforms.esol module¶
Apache Beam transforms for computing E-Sol (Estimated Solvation energy).
E-Sol computes the solvation free energy of a molecule:
- E-Sol = Hydration Energy - State Penalty
= (E_solution_phase - E_gas_phase) - Epik_penalty
Copyright Schrodinger, LLC. All rights reserved.
- class schrodinger.application.transforms.esol.EsolConfig(*, scoring_method: Literal['jaguar', 'mlff'] = 'jaguar', geopt_functional: str = 'B3LYP', geopt_basis: str = 'LACVP*', sp_functional: str = 'M06-2X', sp_basis: str = 'LACVP**', search_method: Literal['mcmm', 'lmod', 'llmd', 'spmc', 'cgen', 'mcmmlmod', 'mcmmllmd'] = 'lmod', energy_window: float = 21.0, max_conformers_from_search: int = 12, charge_low: int = -5, charge_high: int = 5, mlff_model: str = 'Organic_MPNICE_TB', mlff_prefilter: bool = False)¶
Bases:
BaseModelConfiguration for E-Sol solvation energy calculations.
- Parameters:
scoring_method – Method for computing single-point energies (
'jaguar'or'mlff').geopt_functional – DFT functional for geometry optimization.
geopt_basis – Basis set for geometry optimization.
sp_functional – DFT functional for single-point energy.
sp_basis – Basis set for single-point energy.
search_method – Conformational search method.
energy_window – Conformer energy window (kJ/mol).
max_conformers_from_search – Maximum conformers to keep from each conformer search phase.
charge_low – Charge lower bound.
charge_high – Charge upper bound.
mlff_model – MLFF model name (used when scoring_method is
'mlff').mlff_prefilter – Whether to pre-filter conformers before scoring.
- scoring_method: Literal['jaguar', 'mlff']¶
- geopt_functional: str¶
- geopt_basis: str¶
- sp_functional: str¶
- sp_basis: str¶
- search_method: Literal['mcmm', 'lmod', 'llmd', 'spmc', 'cgen', 'mcmmlmod', 'mcmmllmd']¶
- energy_window: float¶
- max_conformers_from_search: int¶
- charge_low: int¶
- charge_high: int¶
- mlff_model: str¶
- mlff_prefilter: bool¶
- model_config: ClassVar[ConfigDict] = {'frozen': True}¶
Configuration for the model, should be a dictionary conforming to [
ConfigDict][pydantic.config.ConfigDict].
- model_post_init(context: Any, /) None¶
This function is meant to behave like a BaseModel method to initialise private attributes.
It takes context as an argument since that’s what pydantic-core passes when calling it.
- Args:
self: The BaseModel instance. context: The context.
- class schrodinger.application.transforms.esol.EsolResult(*, source_id: SourceID, success: bool, input_structure: Structure | None = None, neutral_structure: Structure | None = None, esol_value: float | None = None, hydration_energy: float | None = None, state_penalty: float | None = None, gas_phase_structure: Structure | None = None, solution_phase_structure: Structure | None = None, error_message: str | None = None)¶
Bases:
BaseModelResult of an E-Sol calculation for a single input molecule.
- Parameters:
source_id – Source ID of the input molecule.
success – Whether computation completed successfully.
input_structure – The original input structure.
neutral_structure – The neutralized form from EpikX.
esol_value – Final E-Sol value (kcal/mol).
hydration_energy – Hydration energy (kcal/mol).
state_penalty – EpikX state penalty (kcal/mol).
gas_phase_structure – Conformer with lowest gas-phase energy.
solution_phase_structure – Conformer with lowest solution-phase energy.
error_message – Error details if the calculation failed.
- success: bool¶
- esol_value: float | None¶
- hydration_energy: float | None¶
- state_penalty: float | None¶
- error_message: str | None¶
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'frozen': True}¶
Configuration for the model, should be a dictionary conforming to [
ConfigDict][pydantic.config.ConfigDict].
- class schrodinger.application.transforms.esol.RunEsol(**kwargs)¶
Bases:
PTransformWithConfigCompute E-Sol solvation energy for input structures.
Example usage:
>>> from schrodinger import adapter >>> st = adapter.smiles_to_3d_structure('CC(=O)O') >>> with beam.Pipeline() as p: ... results = (p ... | beam.Create([st]) ... | RunEsol())
See
EsolConfigfor available configuration options.- config_class¶
alias of
EsolConfig
- class schrodinger.application.transforms.esol.AnnotateEsol(**kwargs)¶
Bases:
PTransformWithConfigCompute E-Sol and return the annotated input structure.
Failed calculations are silently filtered out.
Example usage:
>>> from schrodinger import adapter >>> st = adapter.smiles_to_3d_structure('CC(=O)O') >>> with beam.Pipeline() as p: ... structures = (p ... | beam.Create([st]) ... | AnnotateEsol())
See
EsolConfigfor available configuration options.- config_class¶
alias of
EsolConfig