schrodinger.application.matsci.etarotamers module¶
Utilities for creating rotamers of eta-complexes.
Copyright Schrodinger, LLC. All rights reserved.
- exception schrodinger.application.matsci.etarotamers.EtaRotamersException¶
- Bases: - Exception
- schrodinger.application.matsci.etarotamers.find_metal(struct)¶
- Find the metal atom in the structure and ensure there is exactly one - Parameters
- struct ( - schrodinger.structure.Structure) – The structure containing all the atoms
- Raises
- EtaRotamersException – if there is an issue 
- Return type
- int 
- Returns
- The index of the single metal atom 
 
- class schrodinger.application.matsci.etarotamers.HapticLigand(struct, num)¶
- Bases: - object- Manages manipulation of a haptic ligand - __init__(struct, num)¶
- Create a HapticLigand object - Parameters
- struct ( - schrodinger.structure.Structure) – The structure containing the ligand
- num (int) – The value of the LIGNUM_PROP property for atoms in this ligand 
 
 
 - addRotationAtoms()¶
- We add two atoms that help define the torsion for rotation.
- 1) The centroid of the ring. We’ll rotate the ring about the centroid-metal axis 2) A fake atom as the same location as one of the ring atoms. We’ll rotate the ring a number of degrees relative to this atom 
 
 - defineTorsionIndexes()¶
- Define the torsion as the four atoms in the following order:
- An arbitrary haptic atom in this ligand 
- The centroid of this ligand 
- The metal atom 
- An arbitrary haptic atom in the other ligand 
 
 
 - createRotatedStructures(base_title, n_rotamers=None, restrain_idxs=None)¶
- Create all the rotated ligand structures by rotating the ring. - Parameters
- base_title (str) – The base title for the structures 
- n_rotamers (int or None) – the number of rotamers to return, if None then it is determined as twice the number of ring atoms 
- restrain_idxs (list or None) – if present contains indices of restrain atoms 
 
- Return type
- list 
- Returns
- Each item of the list is a rotated structure 
 
 - getRotamers(base_title, n_rotamers=None, restrain_idxs=None)¶
- Return the rotamers. - Parameters
- base_title (str) – The base title for the structures 
- n_rotamers (int or None) – the number of rotamers to return, if None then it is determined as twice the number of ring atoms 
- restrain_idxs (list or None) – if present contains indices of restrain atoms 
 
- Return type
- list 
- Returns
- Each item of the list is a rotated structure 
 
 
- schrodinger.application.matsci.etarotamers.create_rotated_complexes(struct, lignums, base_title, rotate_both_ligands=True, n_rotamers=None, restrain_idxs=None)¶
- Create a series of complexes by rotating one haptic ligand around its centroid-metal axis - Parameters
- struct ( - schrodinger.structure.Structure) – The complex
- lignums (list) – The LIGNUM_PROP vals for atoms in haptic ligands 
- base_title (str) – The base title for the structures 
- rotate_both_ligands (bool) – whether to rotate both ligands 
- n_rotamers (int or None) – the number of rotamers per ligand, if None then it is determined as twice the number of ring atoms 
- restrain_idxs (list or None) – if present contains indices of restrain atoms 
 
- Return type
- list 
- Returns
- Each item of the list is a rotated structure 
 
- schrodinger.application.matsci.etarotamers.get_rotatable_haptic_ligands(st, only_rings=True)¶
- Return rotatable haptic ligand molecules in the given structure. - Parameters
- st (schrodinger.structure.Structure) – the structure 
- only_rings (bool) – if True then only allow rotation of eta-bound rings, if False then also allow rotation of ligands where the eta-bound motif is acyclic, for example ethene, etc. 
 
- Return type
- list 
- Returns
- contains schrodinger.structure._Molecule 
 
- schrodinger.application.matsci.etarotamers.get_rotamers(struct, only_rings=True, rotate_both_ligands=True, n_rotamers=None, metal_index=None, restrain_idxs=None)¶
- Return the rotamers for the given eta-complex. - Parameters
- struct (schrodinger.structure.Structure) – the structure 
- only_rings (bool) – if True then only allow rotation of eta-bound rings, if False then also allow rotation of ligands where the eta-bound motif is acyclic, for example ethene, etc. 
- rotate_both_ligands (bool) – whether to rotate both ligands 
- n_rotamers (int or None) – the number of rotamers per ligand, if None then it is determined as twice the number of ring atoms 
- metal_index (int or None) – index of the metal atom around which to generate eta-rotamers, if None and the structure has a single metal atom then that index will automatically be used 
- restrain_idxs (list or None) – if present contains indices of restrain atoms 
 
- Raises
- EtaRotamersException – if there is an issue 
- Return type
- list 
- Returns
- contains schrodinger.structure.Structure of rotamers