Package schrodinger :: Package application :: Package matsci :: Module builderwidgets :: Class TMLigandRowMixin
[hide private]
[frames] | no frames]

Class TMLigandRowMixin

object --+
         |
        TMLigandRowMixin


A mixin class that takes care of minimizing bidentate transition metal
complex ligand structures so that they remain planar through the R1-...-R2
bond path.

Should be used with ItemRow classes. Example use:
    class LigandRow(TMLigandRowMixin, ItemRow):
        ...

Instance Methods [hide private]
 
findAttachmentMarkers(self, set_dentation=True)
Find the atoms that mark attachment points and determine the mono/bi-dentation of the ligand.
 
prepareStructureForMinimization(self)
Prepare the structure for minimization.
 
modifyMinimizer(self, mizer)
Add torsion constraints to the minimizer to keep the coordination sphere planar and with torsions of 0.
 
postTreatMinimizedStructure(self)
Undo the modifications to the structure that we made before minimization.

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __init__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

findAttachmentMarkers(self, set_dentation=True)

 

Find the atoms that mark attachment points and determine the mono/bi-dentation of the ligand. The index of each marker atom is stored in self.markers.

Parameters:
  • set_dentation (bool) - Whether to set the dentation_type property based on the current number of marker atoms of the structure

prepareStructureForMinimization(self)

 

Prepare the structure for minimization.

The location of the first marker is important, because that determines the ligand-metal bond vector - so minimizing that atom position is a good thing. The location of the second marker is not important, and may interfere with the location of the first marker (since in the complex there won't be two competing atoms). Remove the second marker if it exists, and make the first one a hydrogen, just for the minimization. That ensures that the metal is in a good bidentate binding pocket.

modifyMinimizer(self, mizer)

 

Add torsion constraints to the minimizer to keep the coordination sphere planar and with torsions of 0.

Parameters:
  • mizer (schrodinger.structutils.minimizer.Minimizer) - The Minimizer object that will minimize the structure.

postTreatMinimizedStructure(self)

 

Undo the modifications to the structure that we made before minimization. This means we add back the second marker and point it at the first marker. The location of the second marker actually doesn't really matter, but pointed at the first marker is as good a place as any.