schrodinger.application.transforms.ligprep.cgx module

Apache Beam transform for 3D coordinate generation (CGX).

Thin Beam adapter around the legacy ligprep3 CGX class (schrodinger.application.macromodel.packages.ligprep3.cgx.CGX).

class schrodinger.application.transforms.ligprep.cgx.CGXConfig(*, optimize: bool = True, ffld: int = 14, epsilon: float = 10.0, no_cm1a: bool = False, skip_default_libraries: bool = False, library: list[str] = <factory>)

Bases: BaseModel

Configuration for the CGX coordinate-generation transform.

Defaults match the legacy ligprep workflow’s invocation of cgx (-optimize -ffld 14 -epsilon 10.0), not the bare standalone CLI defaults.

optimize: bool
ffld: int
epsilon: float
no_cm1a: bool
skip_default_libraries: bool
library: list[str]
to_arg_list() → list

Build the legacy cgx command-line argument list.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class schrodinger.application.transforms.ligprep.cgx.CGX(*, _config: pydantic.main.BaseModel | None = None, **kwargs)

Bases: PTransformWithConfig

Generate 3D coordinates for structures using the legacy ligprep3 cgx stage, optionally optimizing the geometry with an OPLS force field. Structures that fail are dropped.

Example usage:

>>> from schrodinger import adapter
>>> import apache_beam as beam
>>> st = adapter.to_structure('CC(C)C')
>>> with beam.Pipeline() as p:
...     generated = (p
...         | beam.Create([st])
...         | CGX(optimize=False))

See CGXConfig for the available parameters.

config_class

alias of CGXConfig

expand(pcoll) → OutcomePCollections