schrodinger.application.desmond.smarts module¶
SMARTS matching utility using MMPATTY. This utility is used in Desmond setup and should not be modified to use canvaslib due to the lack of support for zeor-order-bond patterns.
- schrodinger.application.desmond.smarts.evaluate_matched_list(matched_list)¶
Function to flatten and de-duplicate atoms matched in multiple SMARTS pattern. Atom indices are sorted in ascending values.
- Parameters
matched_list (list) – List of atom sets each matches a SMARTS pattern
- Return type
list
- Returns
A list of non-duplicate atom indices representing the union of multiple SMARTS pattern.
- schrodinger.application.desmond.smarts.evaluate_net_smarts(structure, smarts_list, excl_smarts_list, verbose=False)¶
Search for substructures in
Structure
structure
matching the SMARTS patternsmarts_expression
.Returns a list of lists of ints. Each list of ints is a list of atom indices matching the SMARTS pattern while not in the exclusion SMARTS pattern
- Parameters
structure (
Structure
) – Structure to search for matching substructures.smarts_list (list) – List of SMARTS strinsg used to match substructures.
excl_smarts_list (list) – List of SMARTS strings whose matched atoms will be excluded from the returned match.
verbose (bool) – If True, print additional progress reports from the C implementation.
- Return type
list
- Returns
A list of atom indices matching the SMARTS pattern and not in the exclusion SMARTS pattern.