schrodinger.glide module¶
This module provides Python wrappers to the Glide backend C++ library, as well as some helper functions to make use of the library more Pythonic.
- class schrodinger.glide.AtomPhob¶
schrodinger::glide::AtomPhob Phobic atom structure.
- __init__(*args, **kwargs)¶
- atom_id¶
0-based index of ligand atom.
- atom_score¶
Product of angular and radial score.
- class schrodinger.glide.Config(glide_job=None)¶
Glide job configuration; holds the values of all the keywords from the Glide input file (.in), and default values for unspecified keywords.
This class has a generic
get()method that works for all types, but only for official keywords. For unofficial keywords, use the type-specific methods inherited from the parent class (getInt, getDouble, getString, getBool, getIntArray, getDoubleArray, getStringArray, getBoolArray), which also take an optional default value as a second argument (use of the second argument is strongly encouraged unless you can be certain that the keyword will be present in the input config).- __init__(glide_job=None)¶
- Parameters:
glide_job (Union[schrodinger.application.glide.glide.GlideJob, dict,str,None]) – SIF input filename, keyword dict, GlideJob object, or None, where None means use default settings for docking.
- Raises:
ValueError – job uses unsupported features
- get(keyword: str)¶
Return the value of an official keyword (i.e., one listed in mmim_keywords.yaml).
- Parameters:
keyword – keyword name
- Return type:
Union[int, float, str, bool, list]
- Throw:
KeyError if keyword is unknown. Note that this is unlike dict.get!
- getUpdated(additional_keywords: dict)¶
Return a new Config object with the keywords updated according to the input dictionary. Note that this method does not validate the input keywords for potential keyword conflicts or unsupported features.
- Parameters:
additional_keywords (Dict[str, Union[int, float, str, bool, list]]) – dictionary of keyword-value pairs
- Return type:
- getInt(*args)¶
- getBool(*args)¶
- getDouble(*args)¶
- getString(*args)¶
- getIntArray(*args)¶
- getBoolArray(*args)¶
- getDoubleArray(*args)¶
- getStringArray(*args)¶
- getType(keyword)¶
- class schrodinger.glide.Conformer¶
schrodinger::glide::Conformer A Conformer encodes the information needed to create the full XYZ coordinates of all atoms starting from a ConformerTemplate and a list of dihedral angles for the rotatable bonds. Each Conformer object actually represents a family of rotamers (conformers differing only in the state of the peripheral rotatable bonds); to get the different rotamer states associated with each peripheral bond, see getRotamers().
- __init__(*args, **kwargs)¶
- adjustTorsion(self, idx, value) Conformer¶
Create a new conformer that is a copy of this one, except for a change to one torsion.
- calcScore(self, calc)¶
Calculate the score and store it in the Conformer object.
- getDiameterAtomIndices(self) std::pair< int,int >¶
Get the indices of the two core atoms that are furthest apart.
- getEnergy(self) double¶
Model energy based on adding up the local minima from each rotatable bond; used during confgen to discard high-energy conformers.
- getId(self) int¶
Unique ID for this conformer.
- getRotamerAngles(self) _TplDoubleListList¶
For each peripheral rotatable bond, the optimized minima in radians. NOTE: the angles are relative to the Conformer, not the ConformerTemplate.
- getRotamerStructures(self) std::vector< schrodinger::Structure,std::allocator< schrodinger::Structure > >¶
Get the rotamers for this conformer as Structure objects. Unlike getRotamers(), this is a flat list instead of one list per rotamer group; also, duplicate occurrences of the parent Conformer are omitted. (The first state of each RotamerGroup is the parent Conformer, but it would be repetitive to have that in a flat list.)
- getRotamers(self, std) _TplRotamerGroupList¶
- getRotamers(self, std_conf_xyz) _TplRotamerGroupList
Return the rotamer group information for each peripheral bond. This includes XYZ coordinates for the peripheral atoms in each rotamer state, based on the coordinates from
std_conf.
- getScore(self) double¶
Score used to determine which conformers to keep.
- getStandardOrientation(self) schrodinger::Structure¶
- getStandardOrientation(self, xyz) None
Overload 1: Create a new Structure with the coordinates of this conformer in the standard orientation, meaning that the ligand center is at the origin and the ligand diameter is along the Z axis.
Overload 2: An overload of getStandardOrientation() that modifies the provided xyz array, for when speed is important and a Structure is not needed.
- getStructure(self) schrodinger::Structure¶
Create a new Structure with the coordinates of this conformer.
- getTemplate(self) std::shared_ptr< schrodinger::glide::ConformerTemplate >¶
Template used to create the conformer.
- getTorsions(self) std::vector< double,std::allocator< double > >¶
Get a copy of the values of the dihedral angles for the rotatable bonds.
- class schrodinger.glide.ConformerEnsemble¶
schrodinger::glide::ConformerEnsemble A ConformerEnsemble holds the overall output of the conformational search. It owns both the templates and the conformers.
- __init__(*args, **kwargs)¶
- getConformerStructures(self) std::vector< schrodinger::Structure,std::allocator< schrodinger::Structure > >¶
Return a vector of all conformer structures
- getConformers(self) _TplConformerList¶
Return a vector to the conformer shared pointers constituting the ensemble.
- getLigand(self) std::shared_ptr< schrodinger::glide::Ligand const >¶
Ligand used to construct the ensemble.
- getRotamerStructures(self) std::vector< schrodinger::Structure,std::allocator< schrodinger::Structure > >¶
Return a vector of all conformers rotamer structures
- getTemplateStructures(self) std::vector< schrodinger::Structure,std::allocator< schrodinger::Structure > >¶
Return a vector of all conformers template structures
- getTemplates(self) _TplConformerTemplateList¶
Return a reference to the conformer templates.
- static makeSingleConformer(lig, config) std::shared_ptr< schrodinger::glide::ConformerEnsemble const >¶
Generate an ensemble of size 1, where the only conformer has the ligand input structure. Used for rigid docking.
- static readEnsemble(filename, lig, config) std::shared_ptr< schrodinger::glide::ConformerEnsemble const >¶
Read a JSON file containing a serialized ConformerEnsemble.
- static runConfgen()¶
schrodinger::glide::ConformerEnsemble::runConfgen(lig, config) -> std::shared_ptr< schrodinger::glide::ConformerEnsemble const > runConfgen(lig, config, constraints) -> std::shared_ptr< schrodinger::glide::ConformerEnsemble const >
Generate the conformers for a ligand. This is a compute-intensive call. Requires docking license.
- static runConfgenFromTemplates(lig, templates, config, constraints) std::shared_ptr< schrodinger::glide::ConformerEnsemble const >¶
Like runConfgen(), but uses the provided templates and bypasses the usual ring sampling. Requires docking license.
- class schrodinger.glide.ConformerTemplate¶
schrodinger::glide::ConformerTemplate A ConformerTemplate is the starting point for conformational sampling of rotatable bonds. It is the outcome of “non-rotatable-bond sampling”, such as ring sampling, nitrogen inversions, enhanced sampling perturbations, or core constraint snapping.
ConformerTemplates have full XYZ coordinates for all atoms, unlike Conformer which only needs to keep track of dihedral values for rotatable bonds.
- __init__(*args, **kwargs)¶
- calculateForceFieldEnergy(self, torsions, grad=None) double¶
Compute the full intramolecular energy using the OPLS force field. This is slower than calculateInternalEnergy(), but also more accurate.
- calculateInternalEnergy(self, torsions, grad=None) double¶
Compute the “internal energy”, as defined by Glide, for a conformer. Adds up the contribution from each rotatable bond based on the precomputed torsion potentials held by the conformer template, and also adds the contact penalties.
- calculateTorsionEnergy(self, torsions, grad=None) double¶
Calculate the torsion energy of a conformer by adding up the contribution from each rotatable bond, interpolating in the table of energies for the template.
- getCentralAtoms(self) boost::dynamic_bitset< > const &¶
Flags central atoms (atoms that are not moved by any peripheral bond). These used to be called “core atoms”, but were renamed to avoid ambiguity with the CORE_ATOMS keyword use for core constraints and RMSD measurement.
- getCentralInteractingAtomIndices(self) std::vector< int,std::allocator< int > >¶
Atom indices of the central atoms that can form hydrogen bonds or coordinate with metals.
- getCoreRestraintIndex(self) std::optional< int >¶
If using core constraints, which core match produced this template.
- getCoreRotbondIndices(self) std::vector< int,std::allocator< int > >¶
Return the indices of the core rotatable bonds (for lookup into the
rotatable_bondsarray).
- getEnergies(self) _TplDoubleListList¶
Approximate energy, in kcal/mol, tabulated for each rotatable bond.
- getGroundStateEnergy(self) double¶
Return the torsional energy, in kcal/mol, of the conformer for which every rotatable bond is at its global minimum.
- getId(self) int¶
Unique template identifier (confgen uses sequential numbering from 1).
- getLigand(self) std::shared_ptr< schrodinger::glide::Ligand const >¶
Ligand for which this template applies.
- getMinima(self) _TplMinimaList¶
Minima for each rotatable bond obtained by scanning the torsional angle of the rotatable bond using a simplified energy function. The minima are sorted by increasing energy.
- getNumPeripheralRotbonds(self) int¶
Return the number of peripheral rotatable bonds.
- getRingEnergy(self) double¶
Return the energy of the template structure, in kcal/mol, as reported by the underlying ring sampling library (e.g., mmconf or fast3d).
- getRotamerGroupIndices(self) std::vector< int,std::allocator< int > >¶
For each atom (by 1-based index), the index of the rotamer group where it belongs. For central (i.e., non-rotamer) atoms, -1.
- getRotatableBonds(self) std::shared_ptr< schrodinger::glide::RotatableBonds const >¶
A copy of the Ligand::rotatable_bonds, possibly modified due to core constraints.
- getStructure(self) schrodinger::Structure¶
Return a new Structure with the coordinates of this template.
- getXYZ(self) std::vector< Eigen::Vector3d,std::allocator< Eigen::Vector3d > > const &¶
Coordinates of all ligand atoms.
- class schrodinger.glide.ConstraintWithAtom¶
- schrodinger::glide::ConstraintWithAtom
Used by RefinedPose to keep track of which atom should be used during minimization, for computing the restraining potential to try to satisfy a given Constraint.
- __init__(*args, **kwargs)¶
- atom_idx¶
- constraint¶
- class schrodinger.glide.CoreDefinition¶
schrodinger::glide::CoreDefinition Core constraints configuration for the current ligand.
- __init__(*args, **kwargs)¶
- addProperties(self, st, pose)¶
Add core-related properties to the structure, such as r_i_glide_rmsd.
- getBestMatchAndRmsd(self, xyz) std::pair< int,double >¶
Like measureRmsd, but return the best match index as well as the RMSD.
- getCoreAtoms(self) std::vector< int,std::allocator< int > > const &¶
Return the indices of the core atoms in the reference ligand.
- getCoreIndices(self) std::vector< int,std::allocator< int > > const &¶
Get an array paralleling CORE_ATOMS, where each item is the zero-based core index (only possible values are 0 and 1, because we only support up to two cores) of the corresponding core atom. For example, if CORE_ATOMS = {1,2,3,4,5,11,12,13,14,15,16}, for a two-core system, the return value might be {0,0,0,0,0,1,1,1,1,1,1}.
- getCoreRestraintIndex(self, pose) std::optional< int >¶
Return the index of the core constraint match applicable to the pose. When using tight core constraints, the match was determined during confgen when setting up the ConformerTemplate; otherwise the index that results in the lowest RMSD is used.
- getCoreSmarts(self) std::string¶
Get the SMARTS string used for the core of the current ligand. Will be empty for “CORE_DEFINITION atomlist” or when there was no match. (In which case the core is not in a valid state for measuring RMSD.)
- getMatches(self) _TplIntListList¶
SMARTS matches, but selected and reordered to correspond to CORE_ATOMS.
- getNumCores(self) int¶
Return the number of cores, meaning contiguous subgraphs consisting only of core atoms. Only 1 or 2 cores are supported; a different number results in an exception in the constructor.
- getRefCoords(self) std::vector< Eigen::Vector3d,std::allocator< Eigen::Vector3d > > const &¶
XYZ coordinates for each of the CORE_ATOMS.
- getTolerance(self) double¶
Core RMSD tolerance (from CORE_POS_MAX_RMSD keyword).
- hasMatch(self) bool¶
Return true if the object is in a valid state for measuring RMSD or applying core constraints.
- measureRmsd(self, xyz) double¶
- measureRmsd(self, pose) double
- measureRmsd(self, pose) double
- measureRmsd(self, conf) double
Return the RMSD of the best match held by the CoreDefinition.
- class schrodinger.glide.DataFiles¶
schrodinger::glide::DataFiles A DataFiles object establishes a context that is valid for the duration of a Glide “job” (not necessarily a job in the job control sense, though). It contains the data from data files that only need to be read once per job. The files are read lazily and cached. Data files are normally read from the data directory in the installation, but may be overridden by the user by placing a file with the right name in the CWD or ~/.schrodinger/glide.
- __init__(*args, **kwargs)¶
- getDirections(self, ndir) std::vector< Eigen::Vector3d,std::allocator< Eigen::Vector3d > > const &¶
Get a geodesic polyhedron of unit vectors to use as initial directions for docking with at least ndir directions. Comes from the grid.pts data file.
- class schrodinger.glide.Docker¶
schrodinger::glide::Docker A Docker keeps track of the state needed during the rough docking stage. The class is centered on a capped priority queue that keeps the best MAXKEEP poses seen so far, and it also aggregates the data needed by the various docking predictates and the greedy scoring function.
An instance of this class can be reused for docking different conformer ensembles (e.g., different ligands) because it doesn’t keep any ligand state.
- __init__(*args, **kwargs)¶
- dockConformerEnsemble(self, confs, ligandConstraintData) std::shared_ptr< schrodinger::glide::RefinedPoseEnsemble >¶
Dock and refine all the conformers in an ensemble. Wraps roughDockConformerEnsemble and refine_rough_poses.
- Raises:
SkipLigand if no poses were kept.
- roughDockConformerEnsemble(self, confs, ligand_constraint_data) std::shared_ptr< schrodinger::glide::RoughPoseEnsemble >¶
Dock all the conformers in an ensemble. Will return an empty RoughPoseEnsemble if using tight core constraints.
- schrodinger.glide.DockingLicense(config=None)¶
Context manager to check out a docking license, and checking it in on exit. :raise schrodinger.infra.licensing.LicenseCheckoutError: can’t check out
- class schrodinger.glide.EnergyComponents¶
schrodinger::glide::EnergyComponents Breakdown of the energy components computed by get_intermolecular_energy(). The += operator is provided for use by functions that need to accumulate energy components. For example, get_intermolecular_energy() itself accumulates over atoms; other functions might accumulate corrections from different sources.
- __init__(*args, **kwargs)¶
- coul¶
- e_xvol¶
- isValid(self) bool¶
- restraint¶
- total(self) double¶
- vdw¶
- class schrodinger.glide.EnergyOptions¶
schrodinger::glide::EnergyOptions Options controlling the energy evaluation.
- __init__(*args, **kwargs)¶
- charge_correction¶
Charge correction is only used for scoring.
- core_restraint_index¶
If using core constraints, which core match to use.
- coul_weight¶
Scale Coulmb energy by this factor (used by nucleic acid mode)
- denscore_gaussian_resolution¶
Resolution (in Å) of the simulated density that is created to calculate the cross-correlation.
- denscore_radius¶
Consider density points within this distance in Å of each atom when computing denscore.
- density_weight¶
Scale self-density term by this factor (FACEDEN kwd, used by FITDEN)
- dielco¶
Dielectric constant.
- hard¶
Hard potential (true) is used for scoring and for the latter stages of minimization; soft potential (false) is used for initial minimization.
- ligand_constraint_data¶
Per-ligand and per-job constraint data needed to apply restraining potentials. Only used for minimizations.
- out_of_box_treatment¶
What to do in the energy function when an atom is outside the box?
- use_electron_density_forces¶
Use denscore function (typically during PDM only, since it’s expensive)
- use_shape_constraints¶
Use shape constraints typically during PDM only
- use_smooth_scaling¶
Logarithmically scales coloumb and vdw energy (used by peptide mode)
- vdw_weight¶
Scale van der Waals energy by this factor (used by nucleic acid mode)
- class schrodinger.glide.FullMinimizer¶
schrodinger::glide::FullMinimizer Class to do a full minimization of the Cartesian coordinates of each atom in the field of the receptor. Used for post-docking minimization.
- __init__(*args, **kwargs)¶
- minimize(self, pose) MinimizerResult¶
Minimize the pose in-place.
- class schrodinger.glide.GridArchive¶
schrodinger::glide::GridArchive A Grid archive bundles together all of the grid information and has high-level functions for generating the grids and reading or writing grid files.
- __init__(*args, **kwargs)¶
- cloneWithNewCoords(self, new_coords, datafiles=schrodinger::glide::DataFiles()) std::shared_ptr< schrodinger::glide::GridArchive const >¶
Create a new GridArchive by going through the whole gridgen workflow, reusing the configuration and receptor from the original call to runGridgen(), but with new receptor coordinates. The use case is when only a relatively small fraction of atoms have moved; in one test where 3% out of 5K atoms moved, this was almost 4 times faster than runGridgen(). Requires gridgen license.
- getInfo(self) std::string¶
Get a human-readable description of the gridgen output.
- getNumDirections(self) size_t¶
- getStructure(self) schrodinger::Structure¶
Get a copy of the receptor structure.
- getWaterStructure(self) schrodinger::Structure¶
Get a Structure where each water in the box is represented by a helium atom with its display radius set to the water sphere radius. Atoms have the i_glide_water_layer property set to the value of Water::layer.
- hasConstraints(self) bool¶
- hasXvolGrids(self) bool¶
- isEqual(self, archive, tolerance=1e-6) bool¶
Function to compare 2 archives.
- static readArchive(gridfile) std::shared_ptr< schrodinger::glide::GridArchive const >¶
Create a new GridArchive by reading existing grid files.
- Raises:
InputError
- static runGridgen(recep, config, datafiles=schrodinger::glide::DataFiles()) std::shared_ptr< schrodinger::glide::GridArchive const >¶
Create a new GridArchive by going through the whole gridgen workflow. Requires gridgen license.
- write(self, gridpath) std::vector< std::string,std::allocator< std::string > >¶
Convenience function that dispatches to writeZip() when the filename extension is .zip, or to writeMembers() otherwise.
- writeMembers(self, basepath) std::vector< std::string,std::allocator< std::string > >¶
Write the dozen or so uncompressed grid files. Returns the filenames.
- writeZip(self, gridpath) std::string¶
Write the .zip grid archive. Returns the filename.
- schrodinger.glide.GridgenLicense()¶
Context manager to check in a docking license, and checking it in on exit. :raise schrodinger.infra.licensing.LicenseCheckoutError: can’t check out
- class schrodinger.glide.GroupPhobscorePacking¶
schrodinger::glide::GroupPhobscorePacking Group Phobic score packing. Contains all the atoms in the group, the residues they interact with, and the group score.
- __init__(*args, **kwargs)¶
- atoms_phob¶
- group_score¶
- residue_nums¶
- class schrodinger.glide.HBond¶
schrodinger::glide::HBond An intermolecular hydrogen bond defined by ligand and receptor heavy atoms, its geometry, charge type, geometry_score [0.0, 1.0], and a weighed score which also depends on formal charges.
- __init__(*args, **kwargs)¶
- angle¶
D-H…A angle in degrees.
- donor_atom¶
The donor atom may belong either to the pose or the receptor.
- geometry_score¶
A score in the range [0.0, 1.0] based on how close to an “ideal” hydrogen bond the distance and angle are.
- getLigDonorOrAcceptor(self) PoseAtom¶
Return a reference to the ligand atom that is directly involved in the hydrogen bond, whether it is a donor or an acceptor.
- getRecepDonorOrAcceptor(self) ReceptorAtom¶
Return a reference to the receptor atom that is directly involved in the hydrogen bond, whether it is a donor or an acceptor.
- lig_atom¶
Ligand heavy atom; it may be the acceptor or the donor’s parent, depending on the “direction” of the hydrogen bond.
- recep_atom¶
Acceptor heavy atom; it may be the acceptor or the donor’s parent, depending on the “direction” of the hydrogen bond.
- type¶
- weighed_score¶
The geometry_score scaled by a factor that depends on type and charges; see weigh_score().
- class schrodinger.glide.HBondData¶
schrodinger::glide::HBondData Contains the data for a hbond score. The atoms are the ones directly involved in the bond (can be hydrogens).
- __init__(*args, **kwargs)¶
- ligand_atom¶
1-base index
- receptor_atom¶
- score¶
- class schrodinger.glide.HBonds¶
schrodinger::glide::HBonds Hydrogen bond scoring information: holds the list of H-bonds as well as the aggregate score contributions.
- __init__(*args, **kwargs)¶
- charged_charged¶
Total hydrogen bond scoring descriptor for charged-charged hydrogen bonds.
- hbonds¶
- neutral_charged¶
- neutral_neutral¶
- exception schrodinger.glide.InputError¶
An input file or configuration setting is invalid and the job cannot proceed.
- class schrodinger.glide.IntermolecularAtomPair¶
schrodinger::glide::IntermolecularAtomPair Contains the data for a special hbond pair.
- __init__(*args, **kwargs)¶
- ligand_atom¶
1-base index
- receptor_atom¶
- class schrodinger.glide.JobConstraintData¶
schrodinger::glide::JobConstraintData Constraint information that is dependent on the docking job configuration but is otherwise constant throughout a job.
- __init__(*args, **kwargs)¶
- getCoreAtoms(self) std::vector< int,std::allocator< int > > const &¶
Gets core atoms with 1-based indexing.
- getIonicRadii(self) std::vector< double,std::allocator< double > > const &¶
Gets element ionic radii indexed by atomic number.
- getReferenceLigand(self) std::optional< schrodinger::Structure >¶
Get a copy of the reference ligand, if any.
- getShapeReferenceLigand(self) std::optional< schrodinger::Structure >¶
Get a copy of the current shape reference ligand if it is set. If not, fall back on the reference ligand that was set using setReferenceLigand() or the REF_LIGAND_FILE keyword, if any.
- setReferenceLigand(self, st)¶
Set the reference ligand. Normally this is unnecessary since the constructor already does this based on the job configuration, but some workflows may want to change reference ligands in the middle of a job. If CORE_ATOMS is empty, CORE_DEFINITION is “smarts”, and the SMARTS pattern has a single match to the reference ligand (not counting permutations), the match is used to determine the default CORE_ATOMS.
- setShapeReferenceLigand(self, st)¶
Sets the shape reference ligand. Is called during JobConstraintData creation.
- class schrodinger.glide.LicenseManager¶
schrodinger::glide::LicenseManager Weak singleton class that keeps tracks of license checkouts and checkins. By “weak”, we mean that only one instance can exist at a time, but if no one is holding a shared pointer to the instance, the instance gets destroyed and the licenses are checked in. If the instance() function gets called after that, a new instance is created.
Licenses can also be checked in explicitly if desired.
A typical pattern is for a high-level function (e.g., main()) to get an instance and use it to check out licenses; lower level functions get the instance just to confirm that the licenses have been checked out.
- __init__(*args, **kwargs)¶
- checkInLicenses(self)¶
Check in all currently checked out licenses.
- checkOutDocking(self, config=schrodinger::glide::Config(), auto_retry=True)¶
Check out the GLIDE_MAIN and GLIDE_SP_DOCKING licenses needed for scoring or docking jobs. If a license is already checked out, it won’t be checked out again.
NOTE: this is not an atomic transaction! If the GLIDE_MAIN checkout succeeds but the GLIDE_SP_DOCKING checkout fails, the former remains checked out.
Depending on the Config and various environment variables, alternative licenses may be checked out. This is used when Glide runs as part of a workflow such as IFD, ePharmacophors, or PrimeX.
If the checkout attempt fails because the license is temporarily unavailable, the licensing infrastructure retries automatically for a while. These retries can be disabled by setting auto_retry=false.
- Raises:
schrodinger::licensing::LicenseCheckoutError on failure.
- checkOutGridgen(self)¶
Check out the GLIDE_MAIN license needed for grid generation. If the license is already checked out, this is a no-op. :raises: schrodinger::licensing::LicenseCheckoutError on failure.
- hasDocking(self) bool¶
Are the licenses needed for docking checked out?
- hasFitden(self) bool¶
Are the licenses needed for FITDEN checked out?
- hasGridgen(self) bool¶
Are the licenses needed for gridgen checked out?
- static instance()¶
- schrodinger::glide::LicenseManager::instance() -> std::shared_ptr< schrodinger::glide::LicenseManager >
Return a shared pointer to the existing instance, or create one if needed.
- class schrodinger.glide.Ligand¶
schrodinger::glide::Ligand A Ligand represents the input structure for a docking job, and unlike Pose, it is immutable. It extends GlideStructure by holding relevant information about the ligand that is independent of the atom coordinates (i.e., the pose). For example, rings, rotatable bonds, and other graph-related data structures which may be reused by many different poses of the same ligand.
- __init__(*args, **kwargs)¶
- static fromSmiles(smiles, config=schrodinger::glide::Config(), datafiles=schrodinger::glide::DataFiles()) std::shared_ptr< schrodinger::glide::Ligand const >¶
Create a ligand from SMILES (for tests that don’t require coordinates).)
- static fromStructure()¶
- schrodinger::glide::Ligand::fromStructure(st, config=schrodinger::glide::Config(), datafiles=schrodinger::glide::DataFiles()) -> std::shared_ptr< schrodinger::glide::Ligand const >
Create a ligand from a Structure.
- getNumCoreRotbonds(self) int¶
Return the number of core rotatable bonds.
- getNumRotbondsBetween(self, atom1, atom2) int¶
Return the number of rotatable bonds in the path connecting two atoms. Only paths up to length 9 are considered.
- getRotatableBonds(self) _TplRotBondList¶
Return a copy of the rotatable bonds.
- class schrodinger.glide.LigandAtom¶
schrodinger::glide::LigandAtom Extends GlideAtom by adding ring-related features.
- __init__(*args, **kwargs)¶
- getRingSystemIndex(self) int¶
The index of the ring system the atom belongs to. Zero means none.
- getSigmaScaled(self) double¶
Half the Lennard-Jones sigma parameter, after applying user-defined scaling criteria (e.g., LIG_VSCALE, LIG_CCUT keywords) following the “per-type” convention.
- class schrodinger.glide.LigandConstraintData¶
schrodinger::glide::LigandConstraintData Constraint information that is preprocessed for each ligand.
- __init__(*args, **kwargs)¶
- addProperties(self, st, pose, score_info)¶
Add constraint-related properties to the structure.
- canRestrainCore(self) bool¶
Return true if the ligand can and should be subject to core constraints. This depends on the job config but also on whether the ligand had a match to the reference ligand core.
- canSnapCore(self) bool¶
Return true if the ligand can and should be subject to tight core constraints. This depends on the job config but also on whether the ligand had a match to the reference ligand core.
- getCoreDefinition(self) std::shared_ptr< schrodinger::glide::CoreDefinition const >¶
Return the CoreDefinition that defines core constraints or core RMSD measurements, if any. May be nullptr if the job config does not use a reference ligand.
- getIonicRadii(self) std::vector< double,std::allocator< double > > const &¶
Gets element ionic radii indexed by atomic number.
- getJobConstraintData(self) std::shared_ptr< schrodinger::glide::JobConstraintData const >¶
Return the JobConstraintData that was used to instatiate the LigandConstraintData.
- getLigand(self) std::shared_ptr< schrodinger::glide::Ligand const >¶
Get ligand used to create this object.
- getTorsionalConstraints(self) std::shared_ptr< schrodinger::glide::TorsionalRestraintCalculator const >¶
Get the torsional constraint calculator. May be null.
- hasCore(self) bool¶
Return true if the ligand has a core that can be used for core constraints or for core RMSD measurements.
- hasLigandDensity(self) bool¶
- hasReceptorBasedConstraints(self) bool¶
Return true if the job has receptor-based constraints.
- hasReceptorBasedFiltersAndRestraints(self) bool¶
Return true if the job should apply docking filters and minimization restraints. This means that the job has receptor-based constraints and does not have the GLIDE_CONS_FINALONLY keyword.
- hasReferenceShape(self) bool¶
Return true if the ligand has reference shape defined.
- hasShapeConstraints(self) bool¶
Return true if SHAPE_RESTRAIN is true and the ligand has a reference shape defined.
- hasTorsionalConstraints(self) bool¶
Return true if the ligand has torsional constraints defined.
- satisfiesReceptorBasedConstraints(self, pose) bool¶
Return true if the receptor-based constraints for the job are satisfied by the pose.
- class schrodinger.glide.LoggerConfig¶
schrodinger::glide::LoggerConfig
- __init__(*args, **kwargs)¶
- configure(self, config_str)¶
Parse a logger configuration string and set the config state. Syntax is described at the top of logger.h.
- disableCapture(self)¶
Stop capturing log messages in a string buffer; future messages will go to the default logging stream (std::cout).
- enableCapture(self)¶
Capture future log messages in a string buffer instead of printing them out.
- static getCurrentConfig() LoggerConfig¶
Get a reference to the current global logger configuration.
- getMessages(self) std::string¶
Return the captured messages and clear the message buffer.
- setDefaultMain(self, level)¶
Set the main logging level, but only if it’s not already set; can be overriden for specific functions.
- setDefaultNonRecursive(self, name, level)¶
Set level for a nonrecursive logger, but only if it’s not already set.
- setDefaultRecursive(self, name, level)¶
Set level for a recursive logger, but only if it’s not already set.
- setMain(self, level)¶
Set the main logging level; can be overriden for specific functions.
- setNonRecursive(self, name, level)¶
Set level for a nonrecursive logger.
- setRecursive(self, name, level)¶
Set level for a recursive logger.
- schrodinger.glide.LoggerContext(levels: Optional[Dict[str, int]] = None, capture: Optional[bool] = None, main_level: Optional[int] = None, default_main_level: Optional[int] = None) ContextManager¶
Context manager to set default logging levels and capturing for a given scope. Returns the new LoggerConfig, which can be used for further configuration or to fetch the captured messages.
- Parameters:
levels – dict of {name: level} to set the logging level for specific loggers. If a name has a “+” suffix, the setting will be recursive (apply to the logger’s children).
capture – If True, enable capture; if False, disable capture; if None, keep the current capture setting.
main_level – change the main logging level, with applies to functions that are not covered by any of the keys in
levels.default_main_level – change the default for the main level, but only if the global default level is not already set, for example by the SCHRODINGER_GLIDE_LOG environment variable or by an enclosing LoggerContext.
- Yield:
LoggerConfig
- class schrodinger.glide.LoggerManager¶
schrodinger::glide::LoggerManager The logging manager singleton. The manager holds a stack of LoggerConfig, where each config defines what to log and where. The configuration states can be saved and restored by calling saveConfig() and restoreConfig().
- __init__(*args, **kwargs)¶
- getConfig(self) LoggerConfig¶
Return the current logger configuration state.
- static instance() std::shared_ptr< schrodinger::glide::LoggerManager >¶
Get the logger manager singleton.
- restoreConfig(self)¶
Restore the last saved configuration. Does nothing if there are no saved configuration.
- saveConfig(self) LoggerConfig¶
Save the current logger configuration and return a reference to the new configuration, which starts as a copy of the previous one.
- class schrodinger.glide.MinimizerResult¶
- schrodinger::glide::MinimizerResult
Result of a energy minimization.
- __init__(*args, **kwargs)¶
- energy¶
Final energy (kcal/mol)
- num_evals¶
Number of energy function evaluations
- status¶
Did the optimization succeed, or why not?
- class schrodinger.glide.Minimum¶
schrodinger::glide::Minimum An angle and its corresponding energy for a local minimum in the torsion energy scan of a rotatable bond.
- __init__(*args, **kwargs)¶
- angle¶
radians
- energy¶
kcal/mol
- class schrodinger.glide.PhobscoreData¶
schrodinger::glide::PhobscoreData Phobic score contributions. Contains all the groups that contribute to the phobscore.
- __init__(*args, **kwargs)¶
- groups¶
- phobscore¶
- class schrodinger.glide.Placement¶
schrodinger::glide::Placement The “six degrees of freedom” for a rigid ligand: position and orientation.
- __init__(*args, **kwargs)¶
- ijk¶
- phi¶
- psi¶
- theta¶
- xyz¶
Coordinates of ligand center
- class schrodinger.glide.Pose¶
schrodinger::glide::Pose A Pose is a Ligand that has been docked and optionally scored. It keeps a reference to the Ligand that was used to create it, but has its own coordinates, because unlike Ligands, Poses are generally mutable.
- __init__(*args, **kwargs)¶
- computeScore(self, archive, config, datafiles=schrodinger::glide::DataFiles()) std::shared_ptr< schrodinger::glide::ScoreInfo >¶
Compute the score and return it as a shared pointer.
- getAtom(self, index) PoseAtom¶
- getAtom(self, index) PoseAtom
Overload 1: Get an atom by index.
Overload 2: Get an atom by index.
- getAtomicNumber(self, atom_index) int¶
Get atomic number by atom index.
- getAtoms(self, _from, to) schrodinger::glide::GlideAtomRange< schrodinger::glide::Pose,schrodinger::glide::PoseAtom >¶
- getAtoms(self) schrodinger::glide::GlideAtomRange< schrodinger::glide::Pose,schrodinger::glide::PoseAtom >
- getAtoms(self, _from, to) schrodinger::glide::GlideAtomRange< schrodinger::glide::Pose const,schrodinger::glide::PoseAtom const >
- getAtoms(self) schrodinger::glide::GlideAtomRange< schrodinger::glide::Pose const,schrodinger::glide::PoseAtom const >
Overload 1: Return a range to iterate over a range of atoms [from, to).
Overload 2: Return a range to iterate over all atoms.
Overload 3: Return a range to iterate over a range of atoms [from, to).
Overload 4: Return a range to iterate over all atoms.
- getConformer(self) std::shared_ptr< schrodinger::glide::Conformer const >¶
Return a pointer to the Conformer upon which this Pose was based. It may be null, for example if the Pose came directly from a Ligand, as is the case in score-in-place jobs.
- getInternalEnergy(self) double¶
Return the confgen model energy relative to the ground-state conformer; this is what goes into the r_i_glide_einternal property. Note that this energy does _not_ change when doing post-docking minimization, and it is nonzero only when the Pose was constructed from a RefinedPose, which comes from a Conformer. In score-in-place jobs, which create a Pose directly from a Ligand, the internal energy is always zero.
- getNumAtoms(self) unsigned int¶
- getRefinedPose(self) RefinedPose¶
Return a non-owning pointer to the RefinedPose used to construct the Pose, if any; otherwise nullptr.
- getScoredStructure(self, archive, config, constraints=schrodinger::glide::LigandConstraintData(), datafiles=schrodinger::glide::DataFiles()) schrodinger::Structure¶
Return a new Structure with its coordinates and properties updated. Computes the score and emodel. If the optional
constraintsargument is provided, constraint-related properties are added as well.
- getStructure(self) schrodinger::Structure¶
Return a new Structure with the pose coordinates.
- getXyzRef(self) std::vector< Eigen::Vector3d,std::allocator< Eigen::Vector3d > > const &¶
- getXyzRef(self) std::vector< Eigen::Vector3d,std::allocator< Eigen::Vector3d > >
- class schrodinger.glide.PoseAtom¶
schrodinger::glide::PoseAtom A PoseAtom is like a LigandAtom but has mutable XYZ coordinates.
- __init__(*args, **kwargs)¶
- getNeighbors(self) _TplPoseAtomList¶
- getXyzRef(self) Eigen::Vector3d const &¶
- getXyzRef(self) Eigen::Vector3d
- isSpecialHydroxyl(self) bool¶
- class schrodinger.glide.Ptype¶
- DSC_PHOBHYD = 0¶
- DSC_PHOBHVY = 1¶
- DSC_DONOR = 2¶
- DSC_ACCEP = 3¶
- DSC_POLAR = 4¶
- DSC_METAL = 5¶
- DSC_MAX_BASE = 5¶
- DSC_HALO_DONOR = 12¶
- DSC_HALO_ACCEP = 13¶
- DSC_DEFAULT = 0¶
- class schrodinger.glide.Receptor¶
schrodinger::glide::Receptor A Receptor extends GlideStructure by adding receptor-specific data and functions for reading and writing grid member files holding receptor data (_recep.mae, .csc, .gsc).
- __init__(*args, **kwargs)¶
- countMetalsInBox(self, archive) int¶
Count the metal atoms in the receptor active site
- static fromStructure()¶
schrodinger::glide::Receptor::fromStructure(st, config, datafiles=schrodinger::glide::DataFiles()) -> std::shared_ptr< schrodinger::glide::Receptor const > Construct a Receptor. The config determines things such as force field and movable atoms.
- getDistanceCell(self, distance) schrodinger::DistanceCell const &¶
Return a distance cell for the given distance, creating it if needed NOTE*: this function is recommended for a limited number of the most
commonly used distances, because the distance cells are cached for the life of the Receptor. Memory used for each distance cell is roughly 1 MB per 25 K atoms.
- isEqual(self, recep, tolerance) bool¶
- class schrodinger.glide.ReceptorAtom¶
schrodinger::glide::ReceptorAtom A ReceptorAtom extends GlideAtom by adding receptor-specific functions related to things such as PDB info, residue order, movable atoms, and constraints.
- __init__(*args, **kwargs)¶
- getHBondEquivalentAtoms(self) _TplReceptorAtomList¶
If the atom is an H-bond donor or acceptor, return the list of equivalent atoms, if any, from the same functional group; for example, the other H in an NH2, or the other O in a CO2-.
- getIndexResOrder(self) int¶
The index that the atom would have if the atoms in the structure were sorted in residue order.
- getLongSaltBridge(self) int¶
Return the index of the receptor atom forming a long salt bridge with this atom, or zero if none.
- getMungedPdbName(self) std::string¶
Get the PDB atom name, after applying some Glide-specific conventions.
- getMungedResidueName(self) resname_t¶
Get the PDB residue name, after applying some Glide-specific conventions.
- getPDBAtomName(self) std::string¶
- getResidueNum(self) int¶
Get the PDB residue number.
- getShortSaltBridge(self) int¶
Return the index of the receptor atom forming a short salt bridge with this atom, or zero if none.
- isMovable(self) bool¶
Is this a movable atom from a “flexible hydroxyl” group?
- class schrodinger.glide.RefinedPose¶
schrodinger::glide::RefinedPose A refined pose is the output of docking after refinement, where the ligand center has a particular set of coordinates and has a particular set of torsional angles for each of its rotatable bonds.
- __init__(*args, **kwargs)¶
- center_xyz¶
The coordinates of the ligand center
- conf¶
The conformer
- constraint_tuple¶
If docking used receptor-based constraints, this will be non-empty and map each constraint to the atom that will be used to restrain it during minimization.
- emodel¶
Used for pose selection
- euler_angles¶
The angles defining the ligand orientation
- static fromConformer(conf) RefinedPose¶
Create a RefinedPose so that it will have exactly the same coordinates as the Conformer. The use case is when the ConformerTemplate is already docked, either because it was based on the input structure (for example for a refinement job, or for the SCORE_INPUT_POSE feature), or has been snapped into place for core constraints.
- static fromRoughPose(rough_pose) RefinedPose¶
Create a RefinedPose so that it will have exactly the same coordinates as the Rough Pose. The use case is for debugging scenarios where you want to bypass refinement.
- getInternalEnergy(self) double¶
Compute the confgen model energy relative to the ground-state conformer; this is what goes into the r_i_glide_einternal property.
- getStructure(self) schrodinger::Structure¶
Return the structure of this pose after applying relative bond rotations, the 3d Euler rotation, and center translation.
- minimized_energy¶
Coul-vdW; used for Emodel
- minimum_ensemble_energy¶
Lowest intermolecular energy in the ensemble of refined poses
- posenum¶
For i_i_glide_posenum property
- rot_bonds_torsions¶
The torsional angles (in radians) for each rotatable bond relative to the torsional angles of the conformer
- score¶
The refined score
- class schrodinger.glide.RefinedPoseEnsemble¶
- schrodinger::glide::RefinedPoseEnsemble
A RefinedPoseEnsemble holds the output of refinement and supports minimizing the poses and ranking them by Emodel.
- __init__(*args, **kwargs)¶
- assignPosenums(self)¶
Assign each pose in the ensemble a sequential index starting from 1; this ultimately goes into the i_i_glide_posenum property.
- calculateSelfDensity(self, archive, jcd)¶
Calculate ligand density to replace the pose score. Sorts the poses in the ensemble by the new score. Requires fitden license.
- clusterSelection(self, archive, ligand_constraint_data)¶
Uses a clustering algorithm to select which poses to keep. Modifies the number of poses in the ensemble.
- computeEmodels(self, archive, config, datafiles, constraints=schrodinger::glide::LigandConstraintData())¶
Compute the Emodel for each pose in the ensemble and sort the poses by Emodel. :raises: std::runtime_error if ensemble has not been minimized.
- copy(self) RefinedPoseEnsemble¶
Return a copy of the RefinedPoseEnsemble. The original ensemble is untouched.
- copyAndCalculateSelfDensity(self, archive, jcd) RefinedPoseEnsemble¶
Return a copy of the RefinedPoseEnsemble with ligand densities replacing the pose score. Sorts poses in the ensemble by the new score. The original ensemble is untouched.
- copyAndClusterSelection(self, archive, ligand_constraint_data) RefinedPoseEnsemble¶
Return a copy of the RefinedPoseEnsemble after clustering the poses. The original ensemble is untouched.
- copyAndComputeEmodels(self, archive, config, datafiles, constraints=schrodinger::glide::LigandConstraintData()) RefinedPoseEnsemble¶
Return a copy of the RefinedPoseEnsemble with emodels calculated. The original ensemble is untouched.
- copyAndCreateConstraintCopies(self, maxref, ligand_constraint_data) RefinedPoseEnsemble¶
Return a copy of the RefinedPoseEnsemble constraint copies to the maxref. The original ensemble is untouched.
- copyAndFilterByCoreRmsd(self, core) RefinedPoseEnsemble¶
Return a copy of the RefinedPoseEnsemble filtered by Core RMSD. The original ensemble is untouched.
- copyAndMinimizePoses(self, archive, config, ligand_constraint_data) RefinedPoseEnsemble¶
Return a copy of the RefinedPoseEnsemble with minimized energies. The original ensemble is untouched.
- copyAndResampleConformers(self, archive, config, ligand_constraint_data, datafiles) RefinedPoseEnsemble¶
Return a copy of the RefinedPoseEnsemble resampled conformers. The original ensemble is untouched.
- copyAndTruncate(self, new_size) RefinedPoseEnsemble¶
Return a copy of the RefinedPoseEnsemble truncated to the new size. The original ensemble is untouched.
- createConstraintCopies(self, maxref, ligand_constraint_data)¶
Filter the ensemble by discarding poses that do not come close enough to satisfy the receptor-based constraints, but also create copies of each pose, where each copy gets assigned a different tuple of ligand atoms that can satisfy the constraint. Later during minimization, these atoms will be used for defining the restraining potential that helps ensure that the constraint remains satisfied.
The number of poses to keep will be determined by
maxref, but scaled up to try to compensate the loss of pose diversity due to the pose copies.
- filterByCoreRmsd(self, core)¶
Filter the ensemble by discarding poses that do not come close enough to satisfying the core constraints. (The value of CORE_POS_MAX_RMSD is scaled up because the poses have not been minimized yet.) :raises: SkipLigand if not poses passed.
- static fromConformerEnsemble(confs) RefinedPoseEnsemble¶
Create a refined pose ensemble from a ConformerEnsemble.
- getMinEnergy(self) double¶
Return the Coulomb-van der Waals energy of the lowest-energy ensemble member. :raises: std::runtime_error if ensemble has not been minimized.
- getPoses(self) _TplRefinedPoseList¶
Return a reference to all the poses in the ensemble.
- getRefinedStructures(self) std::vector< schrodinger::Structure,std::allocator< schrodinger::Structure > >¶
Return a vector of all refined poses structures.
- minimizePoses(self, archive, config, ligand_constraint_data)¶
Minimize each pose in the ensemble, but don’t score them.
- resampleConformers(self, archive, config, ligand_constraint_data, datafiles)¶
Add a few new poses to the ensemble by going through the post-docking conformational resampling protocol, simply called “sampling” in the user manual.
- truncate(self, new_size)¶
Truncate the ensemble by discarding the “worst” poses. If the ensemble has not been minimized and scored yet, the poses are sorted by refinement score; otherwise the poses are sorted by Emodel. (Does nothing if new_size is not smaller than the current size.)
- class schrodinger.glide.Ring¶
- schrodinger::glide::Ring
A ring of ligand atoms.
- __init__(*args, **kwargs)¶
- atoms¶
Atom indices.
- is_terminal¶
Is ring connected to at most one atom with degree > 1?
- class schrodinger.glide.RotamerGroup¶
schrodinger::glide::RotamerGroup A rotamer group is the rotatable bond around which some peripheral atoms are rotated and their rotated coordinates for each torsional minimum.
- __init__(*args, **kwargs)¶
- getCoords(self) std::vector< std::vector< Eigen::Vector3d,std::allocator< Eigen::Vector3d > >,std::allocator< std::vector< Eigen::Vector3d,std::allocator< Eigen::Vector3d > > > >¶
Getter added for SWIG, to get a copy of the coordinates, which is easier and safer to wrap.
- num_rotamers¶
The number of rotamers for this rotamer group.
- rotbond¶
The rotatable bond that generates this rotamer group
- class schrodinger.glide.RotatableBond¶
schrodinger::glide::RotatableBond A rotatable bond, defined by two atoms and classified as core or peripheral.
- __init__(*args, **kwargs)¶
- atom1¶
1-based atom index
- atom2¶
1-based atom index
- moving_atoms¶
List of atom indices that are moved by this rotatable bond.
- num_moving_rotbonds¶
How many other rotatable bonds are moved by this one?
- type¶
Core/peripheral classification.
- class schrodinger.glide.Rotation¶
- schrodinger::glide::Rotation
A Rotation is a set of Euler angles that define the orientation of a ligand.
- __init__(*args, **kwargs)¶
- phi¶
- psi¶
- theta¶
- class schrodinger.glide.RoughPose¶
schrodinger::glide::RoughPose A rough pose is the output of the initial docking, where the ligand center gets placed on a Site, the ligand axis gets placed on a Direction, and the ligand may be rotated by a discrete angle around the ligand axis.
- __init__(*args, **kwargs)¶
- conformer¶
- getStructure(self) schrodinger::Structure¶
Return the structure of the rough pose.
- interacting_greedy_score¶
- placement¶
- refinePose(self, archive, lig, ligand_constraint_data) RefinedPose¶
Refines the rough pose and returns it.
- score¶
- class schrodinger.glide.RoughPoseEnsemble¶
- schrodinger::glide::RoughPoseEnsemble
A RoughPoseEnsemble holds the output of rough scoring.
- __init__(*args, **kwargs)¶
- getPoses(self) _TplRoughPoseList¶
Return a reference to all the poses in the ensemble. Can be empty if tight core constraints are used.
- getRoughStructures(self) std::vector< schrodinger::Structure,std::allocator< schrodinger::Structure > >¶
Return a vector of all rough poses structures.
- class schrodinger.glide.ScoreDescriptors¶
schrodinger::glide::ScoreDescriptors These are the basic descriptors that are used as inputs for the final scoring calculation. They need to be weighed, capped, etc., so unlike the ScoreTerms, they do not simply add up to the total score.
- __init__(*args, **kwargs)¶
- chemscore_clash¶
- electrostatic_reward¶
- energy_components¶
- hbonds¶
- hscore¶
- intrahb_count¶
- lipo_lipo¶
- lipo_nonlipo¶
- mass_reward¶
- mass_weighted_rot_bond¶
- metal¶
- phobic_attractive¶
- phobscore_data¶
- pi_cation¶
- polar_philic¶
- polarscore¶
- site_descs¶
- special_charged_lig_atoms¶
charged ligand atoms involved in bifurcated salt bridges or special hydrogen bonds
- special_hbond_pairs_data¶
- special_hbonds_data¶
- strain_energy¶
- torsion_penalties¶
- torsion_penalty¶
- class schrodinger.glide.ScoreInfo¶
schrodinger::glide::ScoreInfo ScoreInfo bundles together the descriptor, terms, and final GlideScore.
- __init__(*args, **kwargs)¶
- descriptors¶
- error_msg¶
Error message if pose was so bad that scoring failed; otherwise empty.
- gscore¶
- internal_energy¶
- terms¶
- viz_data¶
- class schrodinger.glide.ScoreTerms¶
schrodinger::glide::ScoreTerms These terms offer a breakdown of GlideScore, and therefore add up to the total score.
- __init__(*args, **kwargs)¶
- ecoul¶
- electrostatic_reward¶
- evdw¶
- hbond_charged_charged¶
- hscore¶
- intrahb_reward¶
- lipo¶
- mass_reward¶
- mass_weighted_rot_bond¶
- metal¶
- phobscore¶
- pi_cation¶
- polar_philic¶
- polarscore¶
- special_hbond¶
- special_hbond_pair¶
- strain_energy¶
- torsion_penalty¶
- class schrodinger.glide.SiteGridDescriptors¶
- schrodinger::glide::SiteGridDescriptors
Pose descriptors based on adding up the values of SiteGrid cells containing atoms, depending on each atom’s ptype.
- __init__(*args, **kwargs)¶
- donor_attractive¶
donor atoms in favorable environment
- donor_repulsive¶
donor atoms in unfavorable environment
- phobic_attractive¶
phobic heavy / halogen atoms
- polar_philic¶
polar atoms in favorable environment
- polar_phobic¶
polar atoms in unfavorable environment
- polarscore¶
polar atoms in unfavorable environment meeting additional rules based on element or functional group; this descriptor is used for the SP scoring term of the same name.
- exception schrodinger.glide.SkipLigand(reason, message)¶
Exception class for errors that mean that we cannot proceed with the current ligand, but are otherwise nonfatal. The expectation is that they will be caught and handled by the main ligand loop.
- Variables:
message – specific error message
reason – general reason for skipping the ligand, as one of the members of the SkipReason enum (e.g., SkipReason.CONFGEN)
- __init__(reason, message)¶
- reason: SkipReason¶
- message: str¶
- toJSON()¶
- classmethod fromJSON(json_str: str) SkipLigand¶
- class schrodinger.glide.SkipReason¶
- ATOMIC_NUMBER = 0¶
- ATOM_OVERLAP = 1¶
- BAD_ATOM = 2¶
- CONFGEN = 3¶
- EMPTY_MCS = 4¶
- FORCE_FIELD = 5¶
- LIGAND_DATA = 6¶
- LIGAND_SIZE = 7¶
- MINIMIZATION = 8¶
- NO_ATOMS = 9¶
- NO_GOOD_POSES = 10¶
- NO_MATCH = 11¶
- NO_POSES_STORED = 12¶
- PHASE_DB = 13¶
- PULL = 14¶
- REFINE = 15¶
- ROTBONDS = 16¶
- ROUGH_SCORE = 17¶
- EXCEPTION = 18¶
- class schrodinger.glide.SpecialHBondPairData¶
schrodinger::glide::SpecialHBondPairData Contains the data for a special hbond pair.
- __init__(*args, **kwargs)¶
- all_charged¶
If all atoms involved have formal charges.
- score¶
- special_pair¶
Special hydrogen bond pair
- class schrodinger.glide.SpecialHBondPairsData¶
schrodinger::glide::SpecialHBondPairsData Contains the total score for all special hbond pairs and each contributing hbond pair.
- __init__(*args, **kwargs)¶
- special_hbond_pairs_data¶
- total_score¶
- class schrodinger.glide.SpecialHBondsData¶
schrodinger::glide::SpecialHBondsData Contains the total score for all special hbonds and each contributing hbond.
- __init__(*args, **kwargs)¶
- special_hbonds_data¶
- total_score¶
- class schrodinger.glide.StrainCorrectionOptions¶
- schrodinger::glide::StrainCorrectionOptions
Options that control the energy function used for computing the strain correction.
- __init__(*args, **kwargs)¶
- coul_weight¶
Weight of the Coulomb Energy term. Normally 0.0, unless STRAINELEC is true; then it’s 1.0.
- dielco¶
Dielectric constant.
- class schrodinger.glide.TorsionAndPlacementMinimizer¶
- schrodinger::glide::TorsionAndPlacementMinimizer
A class implementing the “partial” or torsion-and-placement minimization stage of the Glide funnel. A TorsionAndPlacementMinimizer is specific to a given ConformerEnsemble, because the energy function uses the energy profiles that were generated during confgen.
- __init__(*args, **kwargs)¶
- minimize(self, refined_pose, maxeval, energy_options, rigid) MinimizerResult¶
- minimize(self, refined_pose) MinimizerResult
Overload 1: Minimize the placement (center of mass), orientation (Euler angles), and torsions of a ligand in the field of the receptor.
Overload 2: Overload of the above that does a two-stage minimization, first using the soft potentials and then using the hard potentials.
- class schrodinger.glide.TorsionPenalty¶
- schrodinger::glide::TorsionPenalty
Information about a single torsional penalty.
- __init__(*args, **kwargs)¶
- atom1¶
1-based index of atom in rotatable bond
- atom2¶
1-based index of atom in rotatable bond
- name¶
Penalty name
- value¶
Penalty in kcal/mol
- class schrodinger.glide.VisualizationData¶
schrodinger::glide::VisualizationData Supporting information for Epharmacophore and visualization. Scores are already weighed by score parameters.
- __init__(*args, **kwargs)¶
- charged_ligand_atom_score¶
Epharmacophore: r_glide_XP_Electro
- hbonds_data¶
Epharmacophore: m_glide_XPviz_hbonds
- phobscore_data¶
Epharmacophore: m_glide_XPviz_phobpack
- special_charged_lig_atoms¶
Epharmacophore: m_glide_XPviz_hexsp charged ligand atoms involved in bifurcated salt bridges or special hydrogen bonds
- special_hbond_pairs_data¶
Epharmacophore: m_glide_XPviz_hexpairs
- special_hbonds_data¶
Epharmacophore: m_glide_XPviz_phobcon_hb
- class schrodinger.glide.WaterMap¶
schrodinger::glide::WaterMap
- __init__(*args, **kwargs)¶
- getCoords(self, index) Eigen::Vector3d const &¶
Get the coordinates of the water molecule at the given index.
- Parameters:
index: – index of the water molecule. 0-based.
- getDg(self, index) double¶
Get the dg value of the water molecule at the given index.
- Parameters:
index: – index of the water molecule. 0-based.
- getSize(self) size_t¶
Get the number of water molecules in the WaterMap.
- class schrodinger.glide.WmapWater¶
schrodinger::glide::WmapWater
- __init__(*args, **kwargs)¶
- getCoords(self) Eigen::Vector3d const &¶
- getDg(self) double¶
- schrodinger.glide.clear_glide_props(st)¶
Clear all Glide output properties. The following properties are not cleared because they are considered input properties:
b_glide_receptor,i_i_glide_lignum,s_glide_core_smarts,s_glide_core_atoms, andi_glide_molID.
- schrodinger.glide.clear_global_state_file()¶
Clear the global state filename.
- schrodinger.glide.clear_group_properties(st)¶
Clear entry group info from structure.
- schrodinger.glide.compute_strain_energy(pose, config) double¶
Does two minimizations of the pose in a vacuum and returns the difference between the resulting energies. One minimization is free and the other one has torsional constrains on all torsions.
- schrodinger.glide.count_intramolecular_hbonds(pose) int¶
Count intramolecular hydrogen bonds using the default mmct criteria.
- schrodinger.glide.create_constraint_supporting_info(constraints) schrodinger::glide::ConstraintSupportingInfo¶
Creates a ConstraintSupportingInfo
- schrodinger.glide.create_directories(directory_path)¶
Creates the directories if they do not already exist. :raises: InputError if directory can’t be created.
- schrodinger.glide.files_are_equal(stream_1, stream_2, skip=0) bool¶
Check if the files are identical. :type stream_1: std::istream :param stream_1: The istream from the first file. :type stream_2: std::istream :param stream_2: The istream from the second file. :type skip: int, optional :param skip: The number of lines to skip when comparing files. :rtype: boolean :return: bool.
- schrodinger.glide.find_data_file(basename, cwd='') std::string¶
Find a data file in the CWD, the user data directory, or the internal data directory.
- Parameters:
basename: – filename without directory.
cwd: – optionally start the search in the specified directory _instead_ of the CWD.
- Raises:
InputError if not found.
- schrodinger.glide.find_test_file(basename) std::string¶
Find file in test/testfiles/, for use in unit tests. :raises: std::runtime_error if not found.
- schrodinger.glide.generate_templates(lig, starting_st, config) _TplConformerTemplateList¶
- schrodinger.glide.generate_templates(lig, starting_st, config, constraints) _TplConformerTemplateList
- schrodinger.glide.generate_templates(lig, structures, config, constraints) _TplConformerTemplateList
Overload 1:
Generate conformer templates for a ligand, using the XYZ coordinates from
starting_stas a starting point.Overload 2:
Generate conformer templates for a ligand, using the XYZ coordinates from
starting_stas a starting point; this overload also supports core constraints.Overload 3:
This overload uses caller-provided template structures as a starting point, bypassing the usual ring sampling. But the function can still generate additional templates when core constraints are used.
- schrodinger.glide.get_core_idcs(reflig, core_atoms) std::pair< std::vector< int,std::allocator< int > >,int >¶
Group atoms according to which core they belong to, where a core is a connected subgraph of atoms listed in CORE_ATOMS. :return: a pair consisting of:
a list with the core index (0-based) for each atom in the reflig (1-based). Atoms not belonging to any core get assigned -1.
the total number of cores
- schrodinger.glide.get_core_smarts_idcs(reflig, smarts, core_atoms) std::vector< int,std::allocator< int > >¶
Find the first match that includes all of the CORE_ATOMS, and return the SMARTS indices corresponding to the core atoms.
- schrodinger.glide.get_corrected_energy(pose, archive, config) EnergyComponents¶
Convenience function for getting the corrected intermolecular energy (and no forces) in a single step. Calls get_intermolecular_energy_and_forces() followed by get_energy_charge_correction().
- schrodinger.glide.get_energy_charge_correction(pose, recep, evdw_raw, dielco=DEFAULT_DIELCO) EnergyComponents¶
Compute the correction terms for formally charged atoms.
The raw vdW energy is needed because the vdW correction is a function of the uncorrected vdW energy (obtained from get_intermolecular_energy_and_forces().
Requires docking license.
- schrodinger.glide.get_energy_for_strain_corrections(pose, options, calc) std::pair< double,std::vector< Eigen::Vector3d,std::allocator< Eigen::Vector3d > > >¶
Energy function for strain corrections. Applies torsional restrains when
calcis not null.
- schrodinger.glide.get_hbonds(pose, recep) HBonds¶
Find and score the ligand-receptor hydrogen bonds for a given pose.
- schrodinger.glide.get_intermolecular_energy_and_forces(pose, archive, options={}) std::pair< schrodinger::glide::EnergyComponents,std::vector< Eigen::Vector3d,std::allocator< Eigen::Vector3d > > >¶
- schrodinger.glide.get_intermolecular_energy_and_forces(pose, archive, options, total_forces) EnergyComponents
Overload 1:
Return the energy and forces of interaction between a pose and the fields. Requires docking license.
Overload 2:
An overload that takes the forces by mutable reference; used by callers who wish to avoid the allocation of a forces array with each call. Requires docking license.
- schrodinger.glide.get_intramolecular_energy(pose, dielco=DEFAULT_DIELCO) double¶
Get the intramolecular energy of a ligand (stretching, bending, torsion, and intramolecular non-bonded force field terms). :rtype: float :return: energy in kcal/mol
- schrodinger.glide.get_rotated_rotamers(euler, rotamer_groups) _TplRotamerGroupList¶
Get the rotated rotamers for each RotamerGroup
- Parameters:
euler (Eigen::Matrix3d) – the euler matrix
rotamer_groups (std::vector< schrodinger::glide::RotamerGroup,std::allocator< schrodinger::glide::RotamerGroup > >) – the rotamer groups to rotate
- Return type:
std::vector< schrodinger::glide::RotamerGroup,std::allocator< schrodinger::glide::RotamerGroup > >
- Returns:
the rotated rotamer groups
- schrodinger.glide.get_total_energy(pose, archive, options={}) double¶
Get the total energy of a pose. :rtype: float :return: energy in kcal/mol
- schrodinger.glide.get_uncorrected_energy(pose, archive, config) EnergyComponents¶
Convenience function for getting the uncorrected intermolecular energy (and no forces) in a single step.
- schrodinger.glide.get_unsupported_features(glide_job)¶
Check if the job is using any keyword not supported by Skate. (Developer keywords are ignored.)
- Returns:
list of unsupported keyword names used by the job
- Return type:
List(str)
- schrodinger.glide.glide_ws_license_exists() bool¶
Return true if the license needed for running Glide WS exists.
- schrodinger.glide.has_bad_contacts_for_sampling(pose, config) bool¶
Return true if a pose has bad intramolecular contacts: atoms more than 3 bonds apart that are closer than an element-dependent cutoff. This function uses fairly small (that is, very tolerant) cutoffs because it is meant to be used on structures that have not been minimized yet.
- schrodinger.glide.has_bad_contacts_for_scoring(pose, config) bool¶
Return true if a pose has bad intramolecular contacts: atoms more than 3 bonds apart that are closer than an element-dependent cutoff. This function uses larger (that is, less tolerant) cutoffs than has_bad_contacts_for_sampling() because it is used for structures that have already been minimized.
- schrodinger.glide.has_bad_contacts_for_scoring_relaxed(pose, config) bool¶
Return true if a pose has bad intramolecular contacts: atoms more than 3 bonds apart that are closer than an element-dependent cutoff. This function uses the vdW radii of each element to determine the cutoff and it is used when the keyword DOINTRA is supplied. DOINTRA_SCALE is used to manipulate the tolerance with a value between 0.0 and 1.0 increasing the tolerance, while values greater than 1.0 decreasing the tolerance.
- schrodinger.glide.install_signal_handler()¶
Install handler for various fatal signals.
For SIGSEGV, SIGILL, SIGFPE, SIGABRT, and SIGBUS, print a traceback.
For SIGTERM, just print a message with the PID and UID of the sender, since the traceback is not that relevant.
Does not work on Windows (the function may be called but does nothing).
- schrodinger.glide.log(level, message)¶
Log a message. This is meant as a helper function which is callable from Python; for efficiency in the C++ code use the LOG macro instead. The name of the logger used by this function is “log”.
- schrodinger.glide.maybe_uncompress(file_name, file_stream) std::unique_ptr< std::istream >¶
Creates an istream for a file and uncompresses it if it is a .gz file.
- schrodinger.glide.minimize_xyz(pose, archive, maxeval, energy_options) MinimizerResult¶
Minimize the Cartesian coordinates of all ligand atoms in the field of the receptor. Used for post-docking minimization.
For most uses, the FullMinimizer class is simpler because it figures out maxeval and energy_options from the job Config.
- schrodinger.glide.read_and_combine_lines(stream, num_lines) std::string¶
Read the number of lines from the stream and combine them. :type stream: std::istream :param stream: The istream to read from. :type num_lines: int :param num_lines: The number of lines to read and combine. :rtype: string :return: std::string of the combined lines.
- schrodinger.glide.refine_rough_poses(rough_poses, confs, archive, ligand_constraint_data) std::shared_ptr< schrodinger::glide::RefinedPoseEnsemble >¶
Refines the docked rough poses into a refined pose ensemble.
- schrodinger.glide.require_docking_license()¶
Check if the licenses required for docking (GLIDE_MAIN, GLIDE_SP_DOCKING) are currently checked out. :raises: std::invalid_argument if license is not checked out.
- schrodinger.glide.require_fitden_license()¶
Check if the licenses required for FITDEN (GLIDE_PRIMEX_LIGFIT, PRIMEX_MAIN) are currently checked out. :raises: std::invalid_argument if license is not checked out.
- schrodinger.glide.require_gridgen_license()¶
Check if the license required for gridgen (GLIDE_MAIN) is currently checked out. :raises: std::invalid_argument if license is not checked out.
- schrodinger.glide.set_global_lignum(new_lignum)¶
Set the current lignum. If there is a crash, and the state filename has been set, the lignum will be written to the state file.
- schrodinger.glide.set_global_state_file(filename)¶
Set the name of a file to write the current state in the event of a crash. Since this is a global state, the filename can only be set once, unless it is cleared by calling clear_global_state_file().
The state file is a JSON file with a body such as:
{ “aborted”: true, “lignum”: 42, “cpu_user”: 3.14, “cpu_system”: 0.5 }
CPU times are relative to the time when set_global_state_file() was called.
- Raises:
std::runtime_error if state file is already set.
- Raises:
std::invalid_argument if filename is too long.
- schrodinger.glide.skip_lines(stream, n)¶
Ignore everything until next nth EOL.
- schrodinger.glide.validate_smarts_and_core_atoms(reflig, smarts, core_atoms)¶
Check that the SMARTS and CORE_ATOMS make sense for the reference ligand; otherwise throw an InputError.