schrodinger.rdkit.property_ranges module¶
- schrodinger.rdkit.property_ranges.extract_property_ranges(config: dict, properties: Iterable[str]) dict[str, tuple[int | float, int | float]]¶
Extract property ranges from a config dictionary in the requested order.
- schrodinger.rdkit.property_ranges.get_normalized_property_ranges(property_ranges: dict[str, tuple[int | float, int | float]], to_add: list[RGroup], added: list[RGroup], max_heavy_atom_count: int) dict[str, tuple[int | float, int | float]]¶
Return current-molecule ranges for final-product target ranges.
Normalization converts final-product target ranges into ranges that can be applied before all known R-group additions have been completed. Additive property ranges are reduced by the contribution of each R-group in
to_add. The heavy atom count upper bound is based onmax_heavy_atom_countfor the current molecule, plus the heavy atoms from R-groups already represented in the current molecule. Unsupported descriptors are omitted from the returned ranges.- Parameters:
property_ranges – final-product target property ranges
to_add – R-groups still expected to be added
added – R-groups already attached
max_heavy_atom_count – maximum allowed heavy atom count for the current molecule before accounting for R-groups already in
added
- schrodinger.rdkit.property_ranges.get_zeroed_min_normalized_property_ranges(property_ranges: dict[str, tuple[int | float, int | float]], to_add: list[RGroup], added: list[RGroup], max_heavy_atom_count: int) dict[str, tuple[int | float, int | float]]¶
Return normalized property ranges with lower bounds set to zero.
- Parameters:
property_ranges – final-product target property ranges
to_add – R-groups still expected to be added
added – R-groups already attached
max_heavy_atom_count – maximum allowed heavy atom count for the current molecule before accounting for R-groups already in
added
- schrodinger.rdkit.property_ranges.get_zeroed_min_ranges(ranges: dict[str, tuple[int | float, int | float]]) dict[str, tuple[int | float, int | float]]¶
Return ranges with lower bounds set to zero.
Negative upper bounds are clamped to zero so that zeroing the lower bound does not create invalid ranges.
- schrodinger.rdkit.property_ranges.get_additive_lowpass_ranges(ranges: dict[str, tuple[int | float, int | float]]) dict[str, tuple[int | float, int | float]]¶
Return ranges with lower bounds set to zero for additive properties.
Negative upper bounds on additive properties are clamped to zero so that zeroing the lower bound does not create invalid ranges. Non-additive range bounds are returned unchanged.