schrodinger.application.matsci.etatoggle module

Utilities for toggle eta style.

Copyright Schrodinger, LLC. All rights reserved.

class schrodinger.application.matsci.etatoggle.Maker(struct, asl='metals', center_idxs=None)

Bases: object

Base class for classes that change eta complex bonding.

__init__(struct, asl='metals', center_idxs=None)

Create an instance.

Parameters
  • struct (schrodinger.structure.Structure) – the structure

  • asl (str) – the ASL for finding center indices, ignored if they are given

  • center_idxs (list) – atom indices of atoms to be considered as centering atoms, overrides the asl argument

class schrodinger.application.matsci.etatoggle.PerAtomMaker(dummies, *args, **kwargs)

Bases: schrodinger.application.matsci.etatoggle.Maker

Class that changes Eta bonding to have one bond per atom

__init__(dummies, *args, **kwargs)

Create a PerAtomMaker instance

Parameters

dummies (list) – The atom objects of each dummy atom in the structure

convert()

Convert the complex to have one bond per atom

Raises

ValueError – Too many metal-to-ligand bonds

class schrodinger.application.matsci.etatoggle.DummyMaker(struct, asl='metals', center_idxs=None)

Bases: schrodinger.application.matsci.buildcomplex.EtaFindingMixin, schrodinger.application.matsci.etatoggle.Maker

Class that changes Eta bonding to have one dummy bond per Eta ligand

createDummies()

Create the dummy atoms and fix bonding

convert()

Convert Eta bonds in the structure to dummy-style

__init__(struct, asl='metals', center_idxs=None)

Create an instance.

Parameters
  • struct (schrodinger.structure.Structure) – the structure

  • asl (str) – the ASL for finding center indices, ignored if they are given

  • center_idxs (list) – atom indices of atoms to be considered as centering atoms, overrides the asl argument

findEtaGroups(dummy_style=True)

Find each Eta group

We define an Eta group as 2 or more atoms that are bound together and also bound to a metal atom

Parameters

dummy_style (bool) – Whether to also find eta ligands that are bound by bonding all the ligand atoms to a dummy and then the dummy to the metal. If False, only those ligands that have all eta atoms bound directly to the metal will be found.

Note

The function assumes that the self.metals property is set to a list of metal atoms and it creates the self.eta_groups and self_all_eta_atoms properties

schrodinger.application.matsci.etatoggle.get_dummy_atoms(struct)

Find all dummy atoms in the structure

Parameters

struct (schrodinger.structure.Structure) – The structure containing the dummy atoms

Return type

list

Returns

The atom objects of the dummy atoms in the structure

schrodinger.application.matsci.etatoggle.toggle_structure(struct, out_rep=None)

Toggle the Eta bonding between dummy style and per atom style

Parameters
  • struct (schrodinger.structure.Structure) – The structure to toggle the style of

  • out_rep (str or None) – if None then the conversion is to the opposite of the given representation, eta to centroid or centroid to eta, if a string then must be either module constant parserutils.CENTROID or parserutils.ETA in which case the conversion will always provide an output representation of the given type

Return type

bool

Returns

True if the style has changed False otherwise

schrodinger.application.matsci.etatoggle.is_haptic(st, asl='metals', center_idxs=None)

Return True if the given structure has haptic ligands.

Parameters
  • st (schrodinger.structure.Structure) – the structure

  • asl (str) – the ASL for finding center indices, ignored if they are given

  • center_idxs (list) – atom indices of atoms to be considered as centering atoms, overrides the asl argument

Return type

bool

Returns

True if the structure has haptic ligands