Package schrodinger :: Package application :: Package matsci :: Module buildcomplex
[hide private]
[frames] | no frames]

Module buildcomplex

Classes [hide private]
  Ligand
Stores information about a ligand structure
  ComplexBuilder
A class used to build an organometallic complex
Functions [hide private]
 
fix_metal_bond_orders(struct, index)
Fix all the bonds to atom index to be either single or dative depending on whether the other atom has a full valence without this bond or not.
 
transmute_atom(atom, element, color=None)
Transmute atom from its current element to a new element.
list
find_atoms_to_remove(struct, keep_atom, root_atom)
Return a list of atoms bound to root atom (and recursively all atoms bound to those atoms, ad infinitum).
Variables [hide private]
  __doc__ = ...
  MONODENTATE = 'Monodentate'
Name for ligands that have a single coordination site
  BIDENTATE = 'Bidentate'
Name for ligands that have two coordination sites
  OCTAHEDRAL = 'Octahedral'
VESPR geometry with 6 coordination sites around a central atom
  TETRAHEDRAL = 'Tetrahedral'
VESPR geometry with 4 coordination sites around a central atom
  SQUARE_PLANAR = 'Square planar'
VESPR geometry with 4 coordination sites around a central atom
  SUPPORTED_GEOMETRIES = [OCTAHEDRAL, TETRAHEDRAL, SQUARE_PLANAR]
VESPR geometries that can be build by this module
  FACIAL = 'facial'
Octahedral complex with identical atoms on the face of the octahedron
  MERIDIONAL = 'meridional'
Octahedral complex with identical atoms on the meridion of the octahedron
  NO_ISOMER = "none"
No specific isomer
  CIS = 'cis'
Square planar complex with identical atoms in adjacent sites
  TRANS = 'trans'
Square planar complex with identical atoms in opposite sites
  OCTAHEDRAL_LOCATIONS = [(2.0, 0.0, 0.0), (0.0, 2.0, 0.0), (0.0...
XYZ coordinates of the octahedral coordination sites
  SQUARE_PLANAR_LOCATIONS = [(2.0, 0.0, 0.0), (0.0, 2.0, 0.0), (...
XYZ coordinates of the square planar coordination sites
  TETRAHEDRAL_LOCATIONS = [(0.0, 2.0, 0.0), (1.88562,-0.66667, 0...
XYZ coordinates of the tetrahedral coordination sites
  AXES = {0: transform.X_AXIS, 1: transform.Y_AXIS, 2: transform...
  ATTACHMENT_PROPERTY = 'b_matsci_cbuilder_attacher'
  SLOT_ORDER = {}
  IDEAL_SLOTS = {}
  ALLOWED_ISOMERS = {}
Function Details [hide private]

fix_metal_bond_orders(struct, index)

 

Fix all the bonds to atom index to be either single or dative depending on whether the other atom has a full valence without this bond or not. Full valence without this bond = dative bond, otherwise bond order = number of open valences. Formal charges are also set to 0 for the metal atom and bonded neighbors.

Note - no bonds are added or removed by this function, only bond orders are changed.

Parameters:
  • struct (schrodinger.structure.Structure) - The structure to operate on - bonds are modified on this structure directly, not a copy
  • index (int) - The atom index of the metal atom with bonds to adjust

transmute_atom(atom, element, color=None)

 

Transmute atom from its current element to a new element. The new name will be element + index (ex. H17), and the new color if not supplied will be the Maestro default (or purple if no Maestro default).

Parameters:
  • atom (schrodinger.structure._StructureAtom) - The atom object to transmute to a new element
  • element (str) - The atomic symbol of the new element
  • color (str) - The new color of the atom in a format accepted by the _StructAtom.color property. The default is to use Maestro's default color for the new element, or purple if the default color is not defined.
Raises:
  • ValueError - if element is not a recognized atomic symbol

find_atoms_to_remove(struct, keep_atom, root_atom)

 

Return a list of atoms bound to root atom (and recursively all atoms bound to those atoms, ad infinitum). keep_atom and all atoms recursively bound to it will not be added to the list.

If keep_atom and root_atom are part of the same ring system, root_atom will be the only atom returned in the list.

For structure A-B-C-D-E, if keep_atom=B and root_atom=C, the returned list will be [C, D, E].

Parameters:
  • struct (schrodinger.structure.Structure) - The structure to use
  • keep_atom (int) - The index of the atom to keep
  • root_atom (int) - The index of the first atom to remove. All neighbors of this atom that are not keep_atom will be added to the list.
Returns: list
A list of all atoms recursively bound to root atom. keep_atom and all atoms bound to it are excluded from the list.

Variables Details [hide private]

__doc__

Value:
"""
This module assists in building organometallic complexes.  Given one o\
r more
ligands, these ligands will be arranged around a central atom.

Copyright Schrodinger, LLC. All rights reserved.
"""

OCTAHEDRAL_LOCATIONS

XYZ coordinates of the octahedral coordination sites

Value:
[(2.0, 0.0, 0.0), (0.0, 2.0, 0.0), (0.0, 0.0, 2.0), (0.0,-2.0, 0.0), (\
-2.0, 0.0, 0.0), (0.0, 0.0,-2.0)]

SQUARE_PLANAR_LOCATIONS

XYZ coordinates of the square planar coordination sites

Value:
[(2.0, 0.0, 0.0), (0.0, 2.0, 0.0), (0.0,-2.0, 0.0), (-2.0, 0.0, 0.0)]

TETRAHEDRAL_LOCATIONS

XYZ coordinates of the tetrahedral coordination sites

Value:
[(0.0, 2.0, 0.0), (1.88562,-0.66667, 0.0), (-0.94281,-0.66667,-1.63299\
), (-0.94281,-0.66667, 1.63299)]

AXES

Value:
{0: transform.X_AXIS, 1: transform.Y_AXIS, 2: transform.Z_AXIS}