schrodinger.application.jaguar.autots_bonding module

Methods to handle structure reading and bonding in AutoTS.

schrodinger.application.jaguar.autots_bonding.clean_st(st, mmjag=True, cov_offset=0.4)

Clean up a st via redefining bonding.

We also delete formal charges because they get in the way of the SMARTS pattern based matching used in many places.

Parameters:
  • st (schrodinger.structure.Structure intance) – structure to clean
  • mmjag (boolean) – if True use mmjag, else use schrodinger.application.matsci.nano.xtal.connect_atoms
  • cov_offset (float) – additional value to add to covalent radii, applicable only if mjag=False
Rtype st:

schrodinger.structure.Structure instance

Returns:

the cleaned up structure

schrodinger.application.jaguar.autots_bonding.canonicalize_atom_names(st)

Canonicalize the atom names

Parameters:st (Structure) – Structure containing atoms to name
class schrodinger.application.jaguar.autots_bonding.ReactiqStructureReader(*args, **kwargs)

Bases: schrodinger.structure.StructureReader

Local version of StructureReader which redefines bonding when reading

schrodinger.application.jaguar.autots_bonding.copy_autots_atom_properties(st1, st2)

copy all known atom-level AutoTS-specific properties from st1 to st2. Atoms in st1 and st2 must be in the same order.

schrodinger.application.jaguar.autots_bonding.copy_autots_st_properties(st1, st2)

copy all known structure-level AutoTS-specific properties from st1 to st2.

schrodinger.application.jaguar.autots_bonding.copy_autots_bond_properties(st1, st2)

copy all known bond-level AutoTS-specific properties. Atoms in st1 and st2 must be in the same order but the bonds do not. However, a bond with the same atom indexes and bond order must exist in order to copy the properties.

schrodinger.application.jaguar.autots_bonding.copy_autots_properties(st1, st2)

copy all known atom-, bond- and st-level AutoTS-specific properties from st1 to st2. Atoms in st1 and st2 must be in the same order.

schrodinger.application.jaguar.autots_bonding.clear_autots_atom_properties(st)

clear all known atom-level AutoTS-specific properties.

schrodinger.application.jaguar.autots_bonding.clear_autots_st_properties(st, exceptions=('i_m_Molecular_charge', 'i_m_Spin_multiplicity'))

Copy all known structure-level AutoTS-specific properties. Any properties in exceptions are not cleared (charge and mult by default)

schrodinger.application.jaguar.autots_bonding.clear_autots_bond_properties(st)

clear all known bond-level AutoTS-specific properties.

schrodinger.application.jaguar.autots_bonding.clear_autots_properties(st)

Remove all known atom-, bond- and st-level AutoTS specific properties.

schrodinger.application.jaguar.autots_bonding.zero_order_metal_bonds(st)

Set the order of bonds containing metals to zero.

Parameters:st (Structure instance) – the structure containing metal bonds
schrodinger.application.jaguar.autots_bonding.delete_ghosts(st)

Delete ghost/dummy atoms from the structure and return the modified structure.

Ghosts are identified by the attribute _StructureAtom.atomic_number = 0. The original structure is unmodified.

Parameters:st (Structure instance) – the structure with the ghost atoms
Return type:Structure instance
Returns:the structure without the ghost atoms
schrodinger.application.jaguar.autots_bonding.get_mmlewis_bonding(st, require_charge_conservation=True, debug=False)

Get bonding from mmlewis. Do it molecule by molecule.

Parameters:
  • st (Structure instance) – the structure to get bond orders for (must be connected)
  • require_charge_conservation (boolean) – if True we require the sum of formal charges after running through mmlewis to equal the total charge. (defined either by PROPERTY_KEY_CHARGE or by the sum of formal charges).
schrodinger.application.jaguar.autots_bonding.simplify_structure(st)

Make all bonds single bonds and remove all charges.

Parameters:st (schrodinger.structure.Structure) – a structure
schrodinger.application.jaguar.autots_bonding.remove_formal_charges(st)
schrodinger.application.jaguar.autots_bonding.active_reactant_atom_pairs(reactant, product)

return active atom pairs in reactant structure as a list of pairs of integers

schrodinger.application.jaguar.autots_bonding.active_atom_pairs(reactant, product)

Determine active bonds and return them as lists of pairs of atoms

schrodinger.application.jaguar.autots_bonding.copy_bonding(st1, st2)

Impose the bonding and formal charges of st1 onto st2 The two structures must have the same number of atoms or a ValueError is raised.

class schrodinger.application.jaguar.autots_bonding.Coordinate(value, *args)

Bases: object

An internal coordinate. The value and indexes are stored as data “value” and “indices”.

similar_coordinate(other)

A similar coordinate is one that describes the same degree of freedom. For example, the torsion 1 2 3 4 and torsion 1 2 3 6 describe rotation about the same bond.

Parameters:other (Coordinate) – the other coordinate for comparison

:return True if the other coordinate is similar, else False

adjust(st)

adjust this coordinate for a structure If coordinate is in a ring no adjustment is made

setValue(st)

Set value of coordinate using structure

schrodinger.application.jaguar.autots_bonding.examine_constraints(constraints, st, tol=0.01, enforce=True)

Examine the satisfaction of constraints. Returns a list of Coordinate instances representing the error in any constraints which are not satisfied to a specified tolerance.

@type constraints: list of Coordinate @param constraints: the constraints @type st: Structure @param st: structure which should satisfy constraints @type tol: float @param tol: tolerance @type enforce: boolean @param enforce: if True attempt to enforce constraints with Structure.adjust

schrodinger.application.jaguar.autots_bonding.get_static_constraints(constraints)

Convert a list of constraints into static constraints. This just means returning a list of constraints with the value set to None

Parameters:constraints (list) – list of Coordinate instances

:return : a list of Coordinates

schrodinger.application.jaguar.autots_bonding.atoms_in_ring(st, i, j)

Determine if two atoms are in the same ring :type st: Structure :param st: structure :type i: int :param i: atom index :type j: int :param j: atom index

schrodinger.application.jaguar.autots_bonding.coord_in_ring(st, *args)

Determine whether or not an internal coordinate is in a ring.

For a bond: returns True if both atoms are in the same ring. For an angle: returns True if all three atoms are in the same ring. For a torsion: returns True if the two central atoms are in the same ring.

Parameters:
  • st (Structure) – Structure used to test if indexes are in the same ring
  • args (tuple/list) – indexes of the coordinate.