schrodinger.application.matsci.sculptcomplex module¶
Utilities for sculpt complex.
Copyright Schrodinger, LLC. All rights reserved.
- class schrodinger.application.matsci.sculptcomplex.SiteAtom(entry_id, element, entry_index, ws_index)¶
Bases:
tuple
- element¶
Alias for field number 1
- entry_id¶
Alias for field number 0
- entry_index¶
Alias for field number 2
- ws_index¶
Alias for field number 3
- exception schrodinger.application.matsci.sculptcomplex.SculptingError¶
Bases:
Exception
- class schrodinger.application.matsci.sculptcomplex.CoordinationInfo¶
Bases:
object
Holds and yields information about atoms and groups that coordinate at specific sites
- __init__()¶
Create a CoordinationInfo object
- addSite(site)¶
Add information about the next site. Information should be added in the order of the sites i.e. add information about site 1 first, then site 2…
- Parameters
site (
SiteAtom
or str) – For sites occupied by ligand atoms, pass in the SiteAtom for the ligand atom. For sites occupied by capping groups, pass in the str name of the capping group.
- ligandSites()¶
A generator over all the sites attached to the ligand
- Return type
(int,
SiteAtom
)- Returns
Iterates over pairs of index number (zero-based) and the SiteAtom object associated with that site
- cappedSites()¶
A generator over all the sites capped by capping groups
- Return type
(int, str)
- Returns
Iterates over pairs of index number (zero-based) and the name of the capping group. The name will be a key to the FRAG_DICT dictionary
- allGroupsAreCapping()¶
Check if all sites are capped (i.e. there are no ligand attachments)
- Return type
bool
- Returns
True if all sites are capped
- schrodinger.application.matsci.sculptcomplex.validate_coord_flag(coordinators)¶
Validate that the -coord flag argument is correct and parse its information
- Parameters
coordinators (str) – The command line argument for the -coord flag
- Return type
(
CoordinationInfo
, list[str])- Returns
The CoordinationInfo object with the command line information and strings of corresponding VSEPR geometries. The strings will be from the buildcomplex geometry constants (OCTAHEDRAL, etc.)
- Raises
argparse.ArgumentTypeError – If something is wrong with the input
- class schrodinger.application.matsci.sculptcomplex.Sculptor(element, coordination_info, geometry, del_h, title, enumerating)¶
Bases:
object
Does the work of sculpting a ligand around a metal atom and capping open valences with small capping groups.
- __init__(element, coordination_info, geometry, del_h, title, enumerating)¶
- Parameters
element (str) – The atomic symbol of the central atom
coordination_info (
CoordinationInfo
) – The CoordinationInfo that gives the information about each coordination sitegeometry (str) – One of the VSEPR string constants from schrodinger.application.matsci.buildcomplex (OCTAHEDRAL, etc.)
del_h (bool) – Whether to delete H atoms at the ligand coordination sites
title (str) – The base title for structures created by this Sculptor.
enumerating (bool) – True if enumerating multiple ligand structures
- sculpt(ligstruct, optimize=True)¶
Create a sculpted complex from the given ligand structure
- Parameters
ligstruct (
schrodinger.structure.Structure
) – The structure of the ligandoptimize (bool) – whether to perform a standard geometry optimization on the final sculpted complex
- Raises
SculptingError – Too many metal-to-ligand bonds
- Return type
- Returns
The structure of the complex
- getLigandStructure(struct)¶
Fix up struct to prepare it for binding in the complex
- Parameters
struct (
schrodinger.structure.Structure
) – The raw structure of the ligand- Return type
list
- Returns
The fixed up struct. A list is returned to maintain API compatibitily with code that was implemented for self.getLigandsFromMultiStructures. Left this way in case we implement multiple ligand entries in the future.
- coordinatingAtoms(struct)¶
A generator over all the atoms in the structure that bind or will bind to the metal
- Parameters
struct (
schrodinger.structure.Structure
) – The structure containing the atoms. Can be either a ligand or the full complex.- Return type
schrodinger.structure._StructureAtom
, int- Returns
An atom that binds/will bind to the metal and the coordination site it occupies/will occupy
- fixLocations()¶
Reorder the ideal locations list to correspond to the reordered coordination sites in the siteselectors.
- Return type
list
- Returns
The list of ideal coordination sitess reordered the to same order as shown in the GUI site selection diagrams. Each item of the list is an XYZ tuple giving the coordination site if the metal is at (0, 0, 0)
- alignLigands()¶
Align the ligands to good binding location, ensuring that the coordinating atoms are near (as possible) to the coordination sites and that the ligand is flipped to a reasonable orientation
- createBasicStructure()¶
Create the basic structure of the complex - metal atom plus ligands without the ligands actually bound to the metal and without optimizing their positions
- Return type
- Returns
The basic complex structure
- addCappingLigands()¶
Add capping groups to the requested positions
- bondLigandsToMetal()¶
Bond the ligands to the metal atom
- addIdealAnchors()¶
Add dummy atoms at each of the ideal coordination locations
- minimizeIdealComplex(ligname)¶
Minimize the complex using the passed in minimizer
- Parameters
ligname (str) – The title of the ligand structure
- Return type
schrodinger.structutils.minimize.Minimzer
- Returns
The minimizer with structure and restraints set
- deleteAnchors()¶
Delete the dummy atoms that mark the ideal coordination sites