schrodinger.application.transforms.synthesis_enumeration.config module

class schrodinger.application.transforms.synthesis_enumeration.config.ProductPropertyFilterConfig(*, property_ranges: dict[typing.Annotated[str, AfterValidator(func=<function _mol_property_validator at 0x7d07c41e5800>)], typing.Annotated[tuple[int | float, int | float], AfterValidator(func=<function _range_validator at 0x7d07c41e5760>)]], uncharge: bool = False)

Bases: BaseModel

Product property-space filter configuration.

model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': True}

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

property_ranges: dict[typing.Annotated[str, AfterValidator(func=<function _mol_property_validator at 0x7d07c41e5800>)], typing.Annotated[tuple[int | float, int | float], AfterValidator(func=<function _range_validator at 0x7d07c41e5760>)]]
uncharge: bool
class schrodinger.application.transforms.synthesis_enumeration.config.SynthesisEnumerationConfig(*, starting_ligand_smiles: Optional[str] = None, frozen_smarts: Optional[str] = None, depth: int = 1, reagent_library_dir: Optional[Path] = None, product_property_filter: ProductPropertyFilterConfig | None = None, product_substructure_filter: Optional[Path] = None, deprotection: DeprotectConfig | None = None, annotate_reagent_inchi_keys: bool = True)

Bases: BaseModel

Configuration for exhaustive synthesis enumeration.

When starting_ligand_smiles and frozen_smarts are provided, the CLI can generate synthesis routes from the ligand. When they are omitted, the CLI is expected to provide a single route JSON input instead.

This config intentionally does not expose route or reaction-count limits. File inputs and outputs are owned by the command line entry point rather than this config model.

model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': True}

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

starting_ligand_smiles: Optional[str]
frozen_smarts: Optional[str]
depth: int
reagent_library_dir: Optional[Path]
product_property_filter: ProductPropertyFilterConfig | None
product_substructure_filter: Optional[Path]
deprotection: DeprotectConfig | None
annotate_reagent_inchi_keys: bool
classmethod fromYaml(config_path: str | pathlib.Path) → Self

Read a synthesis enumeration YAML configuration file.

Parameters:

config_path – the path to the YAML file

validateLigandRouteGenerationFields() → Self

Validate route-generation fields that depend on each other.

getReagentLibraries() → list[pathlib.Path] | None

Return reagent libraries in the format expected by synthesis transforms.