schrodinger.livedesign.substructure module

Substructure searching and alignment

Copyright Schrodinger LLC, All Rights Reserved.

class schrodinger.livedesign.substructure.QueryOptions(adjust_conjugated_five_rings: bool = False, adjust_single_bonds_between_aromatic_atoms: bool = False, adjust_single_bonds_to_degree_one_neighbors: bool = False, tautomer_insensitive: bool = False, stereospecific: bool = True)[source]

Bases: tuple

Variables
  • adjust_conjugated_five_rings – whether to set bond queries in conjugated five-member rings to SINGLE|DOUBLE|AROMATIC

  • adjust_single_bonds_between_aromatic_atoms – whether to sets non-ring single bonds between two aromatic atoms to SINGLE|AROMATIC

  • adjust_single_bonds_to_degree_one_neighbors – whether to set single bonds bewteen aromatic atoms and degree-one neighbors to SINGLE|AROMATIC

  • tautomer_insensitive – whether to consider tautomer insensitivity

  • stereospecific – whether to consider stereochemistry and chirality

adjust_conjugated_five_rings: bool

Alias for field number 0

adjust_single_bonds_between_aromatic_atoms: bool

Alias for field number 1

adjust_single_bonds_to_degree_one_neighbors: bool

Alias for field number 2

tautomer_insensitive: bool

Alias for field number 3

stereospecific: bool

Alias for field number 4

__contains__(key, /)

Return key in self.

__len__()

Return len(self).

count(value, /)

Return number of occurrences of value.

index(value, start=0, stop=9223372036854775807, /)

Return first index of value.

Raises ValueError if the value is not present.

schrodinger.livedesign.substructure.replace_generic_h_queries(query)[source]

Replaces QH, AH, MH, and XH queries with something which works in the RDKit. Reminder: - QH = “any atom except carbon” - AH = “any atom, including H” - MH = “any metal, or H” - XH = “halogen or H”

schrodinger.livedesign.substructure.expand_query(base_query: rdkit.Chem.rdchem.Mol, options: schrodinger.livedesign.substructure.QueryOptions) Generator[rdkit.Chem.rdchem.Mol, None, None][source]

Expands a given query, accounting for tautomer matching, link nodes, and variable bonds. If the substructure options dictate it, each generated query is also adjusted.

schrodinger.livedesign.substructure.substructure_matches(mol: rdkit.Chem.rdchem.Mol, query_mol: rdkit.Chem.rdchem.Mol, options: Optional[schrodinger.livedesign.substructure.QueryOptions] = None)[source]

Generates all substructure matches against a given query mol

schrodinger.livedesign.substructure.apply_substructure_coordinates(mol: rdkit.Chem.rdchem.Mol, template_mol: rdkit.Chem.rdchem.Mol, options: Optional[schrodinger.livedesign.substructure.QueryOptions] = None)[source]

Applies coordinates from the provided template to the input mol; used for compound alignment requests in image generation.

NOTE: If the substructure match to the template fails, the alignment is skipped altogether, leaving the input mol coordinates as they were