Substituent class#

class AaronTools.substituent.Substituent(sub=None, name=None, targets=None, end=None, conf_num=None, conf_angle=None, detect=True)#

Attributes:

  • name

  • atoms

  • end the atom substituent is connected to

  • conf_num number of conformers

  • conf_angle angle to rotate by to make next conformer

__init__(sub=None, name=None, targets=None, end=None, conf_num=None, conf_angle=None, detect=True)#

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

static weighted_sterimol(substituents, energies, temperature, *args, **kwargs)#

returns Boltzmann-averaged sterimol parameters for the substituents

Parameters:
  • substituents (list(Substituent)) – list of Substituent instances

  • energies (np.ndarray) – energies in kcal/mol; ith energy corresponds to ith substituent

  • temperature (float) – temperature in K

  • args

  • kwargs – passed to Substituent.sterimol()

classmethod from_string(name, conf_num=None, conf_angle=None, form='smiles', debug=False, strict_use_rdkit=False)#

creates a substituent from a string

Parameters:
  • name (str) – identifier for substituent

  • conf_num (int) – number of conformers expected for hierarchical conformer generation

  • conf_angle (int) – angle between conformers

  • form (str) – type of identifier (smiles, iupac)

copy(end=None, **kwargs)#

creates a new copy of the geometry parameters:

Parameters:
  • end (Atom) – atom substituent is connected to

  • kwargs – passed to super().copy

classmethod list(include_ext=False)#

list substituents available from AaronTools or the user’s library

detect_sub()#

detects conformer information for a substituent by searching the substituent library

sterimol(return_vector=False, radii='bondi', old_L=False, **kwargs)#
Returns:

sterimol parameter values in a dictionary keys are B1, B2, B3, B4, B5, and L

see Verloop, A. and Tipker, J. (1976), Use of linear free energy related and other parameters in the study of fungicidal selectivity. Pestic. Sci., 7: 379-390. (DOI: 10.1002/ps.2780070410)

Parameters:
  • return_vector (bool) – returns dict of tuple(vector start, vector end) instead

  • radii (str|dict) –

    radii to use

    • ”bondi” - Bondi vdW radii

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

  • old_L (bool) –

    True: use original L (ideal bond length between first substituent atom and hydrogen + 0.40 angstrom

    False: use AaronTools definition

AaronTools’ definition of the L parameter is different than the original STERIMOL program. In STERIMOL, the van der Waals radii of the substituent is projected onto a plane parallel to the bond between the molecule and the substituent. The L parameter is 0.40 Å plus the distance from the first substituent atom to the outer van der Waals surface of the projection along the bond vector. This 0.40 Å is a correction for STERIMOL using a hydrogen to represent the molecule, when a carbon would be more likely. In AaronTools the substituent is projected the same, but L is calculated starting from the van der Waals radius of the first substituent atom instead. This means AaronTools will give the same L value even if the substituent is capped with something besides a hydrogen. When comparing AaronTools’ L values with STERIMOL (using the same set of radii for the atoms), the values usually differ by < 0.1 Å.

align_to_bond(bond)#

align substituent to a bond vector

sub_rotate(angle=None, reverse=False)#

rotates substituent about bond w/ rest of geometry

Parameters:

angle (float) – in radians