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: BaseModel

Configuration 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: BaseModel

Result 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.

source_id: SourceID
input_structure: Structure
success: bool
output_structure: Structure | None
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: PTransformWithConfig

Run 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 JaguarConfig for 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: PTransform

Calculate 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