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

__init__(*args, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

args
with_traceback()

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

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:
  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)

Create all the rotated ligand structures by rotating the ring. The number of rotations is equal to N_ROTAMERS_F * num_ring_atoms and each rotation is 360 / (N_ROTAMERS_F * num_ring_atoms) degrees.

Parameters

base_title (str) – The base title for the structures

Return type

list

Returns

Each item of the list is a rotated structure

getRotamers(base_title)

Return the rotamers.

Parameters

base_title (str) – The base title for the structures

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)

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

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)

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.

Raises

EtaRotamersException – if there is an issue

Return type

list

Returns

contains schrodinger.structure.Structure of rotamers