Component class#

class AaronTools.component.Component(structure, name='', comment=None, tag=None, to_center=None, key_atoms=None, detect_backbone=True, **kwargs)#

class for parts of a Geometry (e.g. ligands) Attributes:

  • name str

  • comment str

  • atoms list(Atom)

  • other dict()

  • substituents list(Substituent) substituents detected

  • backbone list(Atom) the backbone atoms

  • key_atoms list(Atom) the atoms used for mapping

__init__(structure, name='', comment=None, tag=None, to_center=None, key_atoms=None, detect_backbone=True, **kwargs)#

comp is either a file, a geometry, or an atom list

classmethod list(name_regex=None, coordinating_elements=None, denticity=None, include_ext=False)#

returns a list of ligand names in the library

c2_symmetric(to_center=None, tolerance=0.1)#

determine if center-key atom axis is a C2 axis

sterimol(to_center=None, bisect_L=False, **kwargs)#

calculate ligand sterimol parameters for the ligand

Parameters:
  • to_center (Atom) – atom the ligand is coordinated to

  • bisect_L (bool) –

    L axis will bisect (or analogous for higher denticity ligands) the L-M-L angle

    Default - center to centroid of key atoms

  • kwargs

    • arguments passed to Geometry.sterimol

copy(atoms=None, name=None, comment=None)#

creates a new copy of the geometry

parameters: :param atoms list(Atom): atoms to copy defaults to all atoms :param name str: defaults to NAME_copy

get_frag_list(targets=None, max_order=None)#

find fragments connected by only one bond (both fragments contain no overlapping atoms)

detect_backbone(to_center=None)#

Detects backbone and substituents attached to backbone Will tag atoms as ‘backbone’ or by substituent name

Parameters:

to_center (list(Atom)) – the atoms connected to the metal/active center

minimize_sub_torsion(geom=None, **kwargs)#

rotates substituents to minimize LJ potential

Parameters:

geom (None|Geometry) – calculate LJ potential between self and another geometry-like object, instead of just within self

cone_angle(center=None, method='exact', return_cones=False, return_individual=False, radii='umn')#

returns cone angle in degrees

Parameters:
  • center (Atom) – that this component is coordinating used as the apex of the cone

  • method (str) –

    can be:

    • ’Tolman’ - Tolman cone angle for unsymmetric ligands

      See J. Am. Chem. Soc. 1974, 96, 1, 53–60 (DOI: 10.1021/ja00808a009)

      NOTE:

      this does not make assumptions about the geometry

    • ’exact’ - cone angle from Allen et. al.

      See Bilbrey, J.A., Kazez, A.H., Locklin, J. and Allen, W.D. (2013), Exact ligand cone angles. J. Comput. Chem., 34: 1189-1197. (DOI: 10.1002/jcc.23217)

  • return_cones (bool) –

    return cone apex, center of base, and base radius list the sides of the cones will be 5 angstroms long

    for Tolman cone angles, multiple cones will be returned, one for each substituent coming off the coordinating atom

  • return_individual (bool) – return the angles for each individual Tolman cone

  • radii (str|dict) –

    • ‘bondi’ - Bondi vdW radii

    • ’umn’ - vdW radii from Mantina, Chamberlin, Valero, Cramer, and Truhlar

    • dict() with elements as keys and radii as values

solid_angle(center, radii='umn', grid=5810, return_solid_cone=False)#

calculate the solid angle of a ligand

Parameters:
  • center (Atom) – atoms or point to denote the center of the sphere

  • radii (str|dict) – “umn”, “bondi”, or a dictionary with elements as the keys and radii as the values

  • grid (int) – number of points in lebedev grid

  • return_solid_cone (bool) – return solid ligand cone angle (degrees) instead of solid angle (steradians)