schrodinger.application.transforms.epik module¶
Apache Beam transform for Epik Classic ionization and tautomer enumeration.
Wraps the generic Epik Classic engine (schrodinger.application.epik.pyepik)
directly. This is the -epik counterpart to the EpikX (-epikx) transform in
epikx.py. The engine is a process-global singleton, so each worker process
runs a single _EpikDoFn.
- class schrodinger.application.transforms.epik.EpikConfig(*, ph: float = 7.0, ph_tolerance: float = 1.0, tautomerize: bool = True, max_tautomers: int = 8, max_atom: int = 200, metal_binding: bool = False)¶
Bases:
BaseModelConfiguration for the Epik transform.
Defaults match the legacy ligprep workflow’s invocation of Epik.
- ph: float¶
- ph_tolerance: float¶
- tautomerize: bool¶
- max_tautomers: int¶
- max_atom: int¶
- metal_binding: bool¶
- model_config: ClassVar[ConfigDict] = {'frozen': True}¶
Configuration for the model, should be a dictionary conforming to [
ConfigDict][pydantic.config.ConfigDict].
- toArgList() list¶
Build the engine argument list (excluding argv[0]).
- class schrodinger.application.transforms.epik.Epik(*, _config: pydantic.main.BaseModel | None = None, **kwargs)¶
Bases:
PTransformWithConfigEnumerate ionization and tautomer states with the Epik Classic engine. Structures that fail are dropped.
Example usage:
>>> from schrodinger import adapter >>> import apache_beam as beam >>> st = adapter.to_structure('CC(=O)O') >>> with beam.Pipeline() as p: ... states = (p ... | beam.Create([st]) ... | Epik(ph=7.4))
- config_class¶
alias of
EpikConfig
- expand(pcoll) OutcomePCollections¶