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 structureasl (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 structureasl (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 ofout_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 structureasl (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