schrodinger.application.phase.shape_screen_reporter.prop_utils module¶
APIs for calculating and filtering shape screen report properties.
Copyright Schrodinger LLC, All Rights Reserved.
- schrodinger.application.phase.shape_screen_reporter.prop_utils.add_physicochemical_properties(st, max_atoms=150, reos_filter=None, pains1_filter=None, pains2_filter=None, pains3_filter=None)¶
Adds DEFAULT_VSDB properties to the provided structure if it appears to be a ligand. Adds ION_CLASS_VSDB only if the structure contains the property EPIK_IONIZATION_PENALTY. Runs REOS and/or PAINS filters and stores the corresponding properties if those filters are provided.
- Parameters
st (structure.Structure) – Structure to which properties are to be added
max_atoms (int) – Properties are not added if the number of atoms exceeds this value
reos_filter – REOS filter
pains1_filter (filter.SmartsFilter or NoneType) – PAINS1 filter
pains2_filter (filter.SmartsFilter or NoneType) – PAINS2 filter
pains3_filter (filter.SmartsFilter or NoneType) – PAINS3 filter
- Returns
1 if properties were successfully added; 0 if not. This convention facilitates counting the number of successful adds.
- Return type
int
- schrodinger.application.phase.shape_screen_reporter.prop_utils.add_physicochemical_properties_to_hits(hits_file_in, hits_file_out, max_atoms=150, reos=False, pains=False)¶
Calls add_physicochemical_properties for each structure in hits_file_in and writes the resulting structures to hits_file_out.
- Parameters
hits_file_in (str) – Input Maestro/SD file of hits
hits_file_out (str) – Output Maestro/SD file
max_atoms (int) – Properties are not added if the number of atoms exceeds this value
reos (bool) – Whether to run REOS filter and store the pass/fail result in PASSES_REOS_VSDB.
pains (bool) – Whether to run PAINS filters and store the pass/fail results in PASSES_PAINS1_VSDB, PASSES_PAINS2_VSDB and PASSES_PAINS3_VSDB
- Returns
tuple of total structures read, total structures to which properties were successfully added
- Return type
int, int
- schrodinger.application.phase.shape_screen_reporter.prop_utils.is_ligand(st, max_atoms)¶
Returns True if the number of atoms in the provided structure is less than or equal to max_atoms and the structure is not a pharmacophore hypothesis.
- Parameters
st (structure.Structure) – The structure in question
max_atoms (int) – Cutoff on the total number of atoms
- schrodinger.application.phase.shape_screen_reporter.prop_utils.read_property_filters(source, delim=',')¶
Reads property filters and returns a phase.PhpDbPropertyQuery object that can be used to query a phase.PhpDbPropertyTable. Each line/element of source must contain a single property filter in the following format, assuming comma delimiters:
<property>,<operator>,<value1>[,<value2>…]
Where,
<property> is an m2io-style property name
<operator> is ‘=’, ‘<’, ‘>’, ‘<=’, ‘>=’, ‘<>’, ‘BETWEEN’, ‘LIKE’ or ‘IN’
<value1>[,<value2>…] is a list of the appropriate number of values. Must be exactly 2 values in the case of BETWEEN, 1 or more values for IN and exactly 1 value for all other operators.
For example:
i_vsdb_Stereo_Centers,<,2 r_vsdb_AlogP,BETWEEN,2.0,5.0 s_vsdb_Ion_Class,LIKE,%Basic s_vsdb_Property_Class,IN,Druglike,Near-Druglike,Leadlike
- Parameters
source – Name of file containing the property filters or an iterable object of property filter strings
delim (str) – Delimiter that separates values in each string
- Returns
Property filter query
- Return type
phase.PhpDbPropertyQuery
- Raise
ValueError if source is formatted incorrectly, or if any filter is invalid
- schrodinger.application.phase.shape_screen_reporter.prop_utils.read_property_filters_from_iterable(source, delim=',')¶
Reads property filters from an iterable of strings and returns a phase.PhpDbPropertyQuery.
- Parameters
source (Iterable of str) – Iterable that contains property filters as delimited strings. Blank strings and strings that start with or contain only the comment character ‘#’ are skipped.
delim (str) – Delimiter that separates values in each string
- Returns
Property filter query
- Return type
phase.PhpDbPropertyQuery
- Raise
ValueError if a filter is formatted incorrectly, or if a filter is invalid
- schrodinger.application.phase.shape_screen_reporter.prop_utils.summarize_properties(property_table, newline=False)¶
Returns a string containing the names and ranges of the properties in the provided property table.
- Parameters
property_table (phase.PhpDbPropertyTable) – Table of integer, real and string properties
newline (bool) – Whether to add a newline to the end of the summary
- Returns
Summary of the properties
- Return type
str
- schrodinger.application.phase.shape_screen_reporter.prop_utils.get_filter_path(filter_file: str) str ¶
Returns the full path to a filter file in mmshare-vX.Y/data/canvas.
- schrodinger.application.phase.shape_screen_reporter.prop_utils.get_numeric_property_range(property_name: str, reporter: phase.PhpShapeScreenReporter) Tuple[Union[int, float]] ¶
Return the value range of a numeric property.
- Parameters
property_name – The property name to evaluate
reporter – The shape screen reporter containing property data