schrodinger.application.matsci.etarotamers module

Utilities for creating rotamers of eta-complexes.

Copyright Schrodinger, LLC. All rights reserved.

exception schrodinger.application.matsci.etarotamers.EtaRotamersException[source]

Bases: Exception

__init__(*args, **kwargs)
args
with_traceback()

Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.

schrodinger.application.matsci.etarotamers.find_metal(struct)[source]

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)[source]

Bases: object

Manages manipulation of a haptic ligand

__init__(struct, num)[source]

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()[source]
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()[source]
Define the torsion as the four atoms in the following order:
  1. An arbitrary haptic atom in this ligand

  2. The centroid of this ligand

  3. The metal atom

  4. An arbitrary haptic atom in the other ligand

createRotatedStructures(base_title, n_rotamers=None)[source]

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

Return type

list

Returns

Each item of the list is a rotated structure

getRotamers(base_title, n_rotamers=None)[source]

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

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)[source]

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

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)[source]

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)[source]

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

Raises

EtaRotamersException – if there is an issue

Return type

list

Returns

contains schrodinger.structure.Structure of rotamers