schrodinger.application.transforms.jaguar module¶
Apache Beam transforms for running Jaguar quantum chemistry calculations.
This module provides transforms for calculating energies using Jaguar, with optional geometry optimization.
Copyright Schrodinger, LLC. All rights reserved.
- class schrodinger.application.transforms.jaguar.JaguarConfig(*, dftname: str = 'B3LYP', basis: str = '6-31G**', igeopt: int = 0, gen_keywords: dict[str, typing.Any] = <factory>)¶
Bases:
BaseModelConfiguration for Jaguar quantum chemistry calculations.
Note, field names are expected to match the corresponding Jaguar &gen section keywords.
- Parameters:
dftname – DFT functional to use.
basis – Basis set to use.
igeopt – Geometry optimization control. 0=off, 1=on, 2=TS optimization.
gen_keywords – Additional Jaguar &gen section keywords.
- dftname: str¶
- basis: str¶
- igeopt: int¶
- gen_keywords: dict[str, Any]¶
- model_config: ClassVar[ConfigDict] = {'frozen': True}¶
Configuration for the model, should be a dictionary conforming to [
ConfigDict][pydantic.config.ConfigDict].
- property final_gen_keywords: dict[str, Any]¶
Compute the final set of &gen keywords by combining defaults with overrides.
- Returns:
Final dictionary of &gen section keywords.
- validate_keywords()¶
- class schrodinger.application.transforms.jaguar.JaguarResult(*, source_id: SourceID, input_structure: Structure, success: bool, output_structure: Structure | None = None, energy: float | None = None, error_message: str | None = None)¶
Bases:
BaseModelResult of a Jaguar calculation for a single input structure.
- Parameters:
source_id – Source identifier of the input structure.
input_structure – The original input structure.
success – Whether the calculation succeeded.
output_structure – The output structure (optimized geometry if optimize=True, or original structure); None on failure.
energy – Energy in Hartrees; None on failure.
error_message – Error message if the calculation failed.
- success: bool¶
- energy: 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.jaguar.RunJaguar(**kwargs)¶
Bases:
PTransformWithConfigRun Jaguar calculations and yield a JaguarResult for each input structure.
This is the core transform that returns results for ALL inputs, including failures. Use this when you need to track which inputs succeeded or failed.
Example usage:
>>> with beam.Pipeline() as p: ... results = (p ... | beam.Create([water_structure]) ... | RunJaguar(optimize=True, basis='6-311G**'))
See
JaguarConfigfor all available configuration options.- config_class¶
alias of
JaguarConfig
- class schrodinger.application.transforms.jaguar.CalculateJaguarEnergy(dftname: str = 'B3LYP', basis: str = '6-31G**', optimize: bool = False, **kwargs)¶
Bases:
PTransformCalculate energies for structures using Jaguar. The energy is stored as a property on each structure, which can be obtained using the ExtractJaguarEnergy transform
This is a backward-compatible wrapper around RunJaguar that a Structure. Raises FaultySystemFailure on failure. For resilient failure handling, use RunJaguar directly.
Example usage:
>>> with beam.Pipeline() as p: ... structures = p | beam.Create([water_structure]) ... structures = structures | CalculateJaguarEnergy(optimize=False) ... energies = structures | ExtractJaguarEnergy ... energies | beam.Map(lambda x: print(f"Energy: {x} Hartrees"))
- Parameters:
optimize – Perform geometry optimization if True.
basis – Basis set to use.
dftname – DFT functional to use.
kwargs – Additional Jaguar &gen section keywords.
- __init__(dftname: str = 'B3LYP', basis: str = '6-31G**', optimize: bool = False, **kwargs)¶
- class schrodinger.application.transforms.jaguar.ExtractJaguarEnergy(label: Optional[str] = None)¶
Bases:
PTransform