schrodinger.application.desmond.packages.analysis module¶
Classes and functions for trajectory-based analysis
Copyright Schrodinger, LLC. All rights reserved.
-
schrodinger.application.desmond.packages.analysis.is_small_struc(atoms)¶ A simple API to determine whether a molecular structure is small. :type atoms:
list:param atoms: A list of atoms in the structure. The atoms can be atom IDsor atom-class instances.
-
class
schrodinger.application.desmond.packages.analysis.Pbc(box)¶ Bases:
object-
__init__(box)¶ This implementation supports the general triclinic cell.
Parameters: box ( numpy.ndarray) – 3x3 matrix whose ROWS are primitive cell vectors. For amsys.Systeminstance, you can callmsys_model.cellto get this matrix. For atraj.Frameinstance, you can callfr.boxto get it. For aCmsinstance, you can callnumpy.reshape(cms_model.box, [3, 3])to get it.
-
box¶
-
volume¶
-
inv_box¶
-
calcMinimumImage(ref_pos, pos)¶ Calculates the minimum image of a position vector
posrelative to another position vectorref_pos.posandref_poscan also be arrays of 3D vectors. In this case, they must be of the same size, and minimum images will be calculated for each element inposandref_pos.Parameters: - ref_pos (
numpy.ndarray. Either 1x3 or Nx3.) – Reference position vector(s) - pos (
numpy.ndarray. Either 1x3 or Nx3.) – Position vector(s) of which we will calculate the minimum image.
Return type: numpy.ndarrayReturns: The position vector(s) of the mininum image. This function does NOT mutate any of the input vectors.
- ref_pos (
-
calcMinimumDiff(from_pos, to_pos)¶ Calculates the difference vector from
from_posto the minimum image ofto_pos.posandref_poscan also be arrays of 3D vectors. In this case, they must be of the same size, and minimum image difference will be calculated for each element inposandref_pos.Parameters: - from_pos (
numpy.ndarray. Either 1x3 or Nx3) – Reference position vector(s) - to_pos (
numpy.ndarray. Either 1x3 or Nx3) – Position vector(s) of which we will calculate the minimum image.
Return type: numpy.ndarrayReturns: The difference vector(s). This function does NOT mutate any of the input vectors.
- from_pos (
-
wrap(pos)¶ Puts a coordinate back into the box. If the coordinate is already in the box, this function will return a new position vector that equals the original vector.
Return type: numpy.ndarrayReturns: A new position vector which is within the box. This function does NOT mutate and return the input vector pos.
-
isWithinCutoff(pos0, pos1, cutoff_sq)¶ Return True if any of pos0 and pos1 are within the cutoff distance.
Parameters: cutoff_sq ( float) – = cutoff x cutoff
-
-
class
schrodinger.application.desmond.packages.analysis.Vector(msys_model, cms_model, from_xid, to_xid)¶ Bases:
schrodinger.application.desmond.packages.staf.GeomAnalyzerBaseCalculate the vector between two xids. Result is a vector for each trajectory frame.
-
__init__(msys_model, cms_model, from_xid, to_xid)¶
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.Distance(msys_model, cms_model, xid0, xid1)¶ Bases:
schrodinger.application.desmond.packages.staf.GeomAnalyzerBaseCalculate the distance between two xids. Result is a scalar (distance in Angstroms) for each trajectory frame.
-
__init__(msys_model, cms_model, xid0, xid1)¶
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.Angle(msys_model, cms_model, xid0, xid1, xid2)¶ Bases:
schrodinger.application.desmond.packages.staf.GeomAnalyzerBaseCalculate the angle formed between three xids. Result is a scalar (angle in degrees) for each trajectory frame.
-
__init__(msys_model, cms_model, xid0, xid1, xid2)¶ The angle is formed by the vectors
xid1`==>`xid0andxid1`==>`xid2.
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.Torsion(msys_model, cms_model, xid0, xid1, xid2, xid3)¶ Bases:
schrodinger.application.desmond.packages.staf.GeomAnalyzerBaseCalculate the torsion formed between four xids. Result is a scalar (dihedral angle in degrees) for each trajectory frame.
-
__init__(msys_model, cms_model, xid0, xid1, xid2, xid3)¶ The torsion is defined by the four atoms:
- 0 o o 3
- /
- /
1 o—–o 2
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.PlanarAngle(msys_model, cms_model, xid0, xid1, xid2, xid3, xid4, xid5)¶ Bases:
schrodinger.application.desmond.packages.staf.GeomAnalyzerBaseCalculate acute planar angle formed among six xids. The first three xids define the first plane and the latter three xids define the second plane.
-
__init__(msys_model, cms_model, xid0, xid1, xid2, xid3, xid4, xid5)¶ Initialize self. See help(type(self)) for accurate signature.
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.CenterOf(gids, weights=None, return_unwrapped_atompos=False)¶ Bases:
schrodinger.application.desmond.packages.staf.GeomAnalyzerBaseN.B.: The calculated center is an unwrapped coordinate.
-
__init__(gids, weights=None, return_unwrapped_atompos=False)¶ Parameters: return_unwrapped_atompos – if False, return the unwrapped center. Otherwise return both unwrapped center and the unwrapped positions of the selected atoms.
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.Com(msys_model, cms_model, asl=None, gids=None, return_unwrapped_atompos=False)¶ Bases:
schrodinger.application.desmond.packages.analysis.CenterOfClass for computing averaged position weighted by atomic mass, under the periodic boundary condition.
- Basic usage:
- ana = Com(msys_model, cms_model, gids=[1, 23, 34, 5, 6]) results = analyze(tr, ana)
where
tris a trajectory, andresultscontain alistof unwrapped centers of mass asfloats, onefloatfor each frame. If return_unwrapped_atompos isTrue,resultscontain a list of 2-tuples: (unwrapped-center-of-mass, [unwrapped-positions-of-involved-atoms]), and each 2-tuple in the list corresponds to a trajectory frame.-
__init__(msys_model, cms_model, asl=None, gids=None, return_unwrapped_atompos=False)¶ Parameters: - asl (
str) – ASL expression to specify the atom selection - gids (
listof `int`s) – GIDs of atoms - return_unwrapped_atompos – if
False, return the unwrapped center. Otherwise return both unwrapped center and the unwrapped positions of the selected atoms.
Both
msys_modelandcms_modelmust be previously obtained through theread_cmsfunction. They both should have the same atom coordinates and the same simulation box matrix.cms_modelis used to obtain atom GIDs from ASL selection.msys_modelis used to retrieve atom attribute from GIDs.Either
aslorgidsmust be specified, but not both.- asl (
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
class
schrodinger.application.desmond.packages.analysis.Coc(msys_model, cms_model, asl=None, gids=None, return_unwrapped_atompos=False)¶ Bases:
schrodinger.application.desmond.packages.analysis.ComClass for computing center of charge under periodic boundary condition. Pseudo atoms are included.
For each frame, the results will be the unwrapped-center-of-charge. If return_unwrapped_atompos is
True, the results will be a 2-tuple: (unwrapped-center-of-charge, [unwrapped-positions-of-involved-atoms]).-
__init__(msys_model, cms_model, asl=None, gids=None, return_unwrapped_atompos=False)¶ Refer to the docstring of
Com.__init__.
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.Centroid(msys_model, cms_model, asl=None, gids=None, return_unwrapped_atompos=False)¶ Bases:
schrodinger.application.desmond.packages.analysis.CenterOfClass for computing centroid under periodic boundary condition.
For each frame, the results will be the unwrapped centroid. If return_unwrapped_atompos is
True, the results will be a 2-tuple: (unwrapped-centroid, [unwrapped-positions-of-involved-atoms]).-
__init__(msys_model, cms_model, asl=None, gids=None, return_unwrapped_atompos=False)¶ Refer to the docstring of
Com.__init__.
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.Gyradius(msys_model, cms_model, asl=None, gids=None)¶ Bases:
schrodinger.application.desmond.packages.staf.CompositeAnalyzerClass for computing radius of gyration under periodic boundary condition.
For each frame, the result is the radius of gyration as
float-
__init__(msys_model, cms_model, asl=None, gids=None)¶ Initialize self. See help(type(self)) for accurate signature.
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.MassAvgVel(msys_model, cms_model, asl=None, gids=None, return_unwrapped_atompos=False)¶ Bases:
schrodinger.application.desmond.packages.analysis.ComClass for computing mass-averaged velocity. The trajectory should contain velocities data.
For each frame, the result is
numpy.ndarrayof `float`s-
__init__(msys_model, cms_model, asl=None, gids=None, return_unwrapped_atompos=False)¶ Parameters: - asl (
str) – ASL expression to specify the atom selection - gids (
listof `int`s) – GIDs of atoms - return_unwrapped_atompos – if
False, return the unwrapped center. Otherwise return both unwrapped center and the unwrapped positions of the selected atoms.
Both
msys_modelandcms_modelmust be previously obtained through theread_cmsfunction. They both should have the same atom coordinates and the same simulation box matrix.cms_modelis used to obtain atom GIDs from ASL selection.msys_modelis used to retrieve atom attribute from GIDs.Either
aslorgidsmust be specified, but not both.- asl (
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.PosTrack(msys_model, cms_model, asl=None, gids=None)¶ Bases:
schrodinger.application.desmond.packages.staf.GeomAnalyzerBaseClass for tracking positions of selected atoms in a trajectory. Pseudo atoms are included.
Since periodic boundary condition is assumed in the MD simulation, the atom positions are wrapped back into the simulation box when they move out of the box. The PosTrack class unwraps the atom positions with respect to their positions in the previous frame. It can be used when atom positions need to be tracked over time, such as diffusion.
-
__init__(msys_model, cms_model, asl=None, gids=None)¶ Refer to the docstring of
Com.__init__.
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
schrodinger.application.desmond.packages.analysis.RadiusOfGyration¶ alias of
schrodinger.application.desmond.packages.analysis.Gyradius
-
schrodinger.application.desmond.packages.analysis.CenterOfMotion¶ alias of
schrodinger.application.desmond.packages.analysis.MassAvgVel
-
schrodinger.application.desmond.packages.analysis.Position¶ alias of
schrodinger.application.desmond.packages.analysis.PosTrack
-
class
schrodinger.application.desmond.packages.analysis.Ramachandran(msys_model, cms_model, asl)¶ Bases:
schrodinger.application.desmond.packages.analysis._RamachandranCalculate the Phi and Psi torsions for selected atoms.
Usage example:
ana = Ramachandran(msys_model, cms_model, ‘protein and res.num 20-30’) results = analyze(tr, ana)where
tris a trajectory, andresultsis alist, and each element in thelistis alist: [(phi_0, psi_0), (phi_1, psi_1),] for the corresponding trajectory frame.-
__init__(msys_model, cms_model, asl)¶ Parameters: asl ( str) – ASL expression to specify the residues
-
reduce(results, *_, **__)¶
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.PosAlign(msys_model, cms_model, aids, fit_aids, fit_ref_pos)¶ Bases:
schrodinger.application.desmond.packages.staf.CenteredSoluteAnalysisThis analyzer first aligns the geometric center of the solute atoms to that of
cms_model, then calculates the rotation/translation transformation for converting the structure (fit_aids) of a centered trajectory frame to a given geometry (fit_ref_pos) and finally applies the transformation to a position array of only the selected atoms (aids).If
fit_ref_posis not provided, perform centering.-
__init__(msys_model, cms_model, aids, fit_aids, fit_ref_pos)¶ Parameters: fit_ref_pos (Mx3 numpy.ndarrayorNone) – positions of reference conformer structure for translation/rotation calculationBoth
msys_modelandcms_modelmust be previously obtained through theread_cmsfunction.
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.RMSD(msys_model, cms_model, aids, ref_pos, fit_aids=None, fit_ref_pos=None, in_place=False)¶ Bases:
schrodinger.application.desmond.packages.analysis.PosAlignRoot Mean Square Deviation from reference positions, with optional alignment fitting.
If spikes are seen, call
topo.make_glued_topology, see DESMOND-7129.-
__init__(msys_model, cms_model, aids, ref_pos, fit_aids=None, fit_ref_pos=None, in_place=False)¶ See
PosAlignfor parameters.Parameters: - ref_pos (Nx3
numpy.ndarray) – positions of reference conformer structure - in_place – if
True, calculate RMSD without applying transformations onref_pos
Typically,
aidsandfit_aidscome from a common source whereasref_posandfit_ref_poscome from another common source.- ref_pos (Nx3
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.RMSF(msys_model, cms_model, aids, fit_aids, fit_ref_pos, in_place=False)¶ Bases:
schrodinger.application.desmond.packages.analysis.PosAlignRoot Mean Square Fluctuation from reference positions (averaged position over the trajectory) for each atom, with optional alignment fitting.
If spikes are seen, call
topo.make_glued_topology, see DESMOND-7129.-
__init__(msys_model, cms_model, aids, fit_aids, fit_ref_pos, in_place=False)¶ Parameters: - fit_ref_pos (Mx3
numpy.ndarray) – positions of reference conformer structure for translation/rotation calculation - in_place – if
True, calculate RMSF without applying alignment transformations
Both
msys_modelandcms_modelmust be previously obtained through theread_cmsfunction.- fit_ref_pos (Mx3
-
reduce(pos_t, *_, **__)¶ Temporal average of the RMSF over the trajectory
Return type: length N numpy.ndarray
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.LigandRMSD(msys_model, cms_model, aids, ref_pos, fit_aids=None, fit_ref_pos=None)¶ Bases:
schrodinger.application.desmond.packages.analysis.PosAlignLigand Root Mean Square Deviation from reference positions, with optional alignment fitting. Taking conformational symmetry into account.
-
__init__(msys_model, cms_model, aids, ref_pos, fit_aids=None, fit_ref_pos=None)¶ see
RMSD.__init__for parameters
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
schrodinger.application.desmond.packages.analysis.get_pdb_protein_bfactor(fsys_ct, aids)¶ Calculate per-residue b-factor from pdb data for the selected atoms.
Parameters: aids ( listofint) – Atom selectionsReturn type: numpy.ndarrayoffloat
-
class
schrodinger.application.desmond.packages.analysis.ProteinRMSF(msys_model, cms_model, aids, fit_aids, fit_ref_pos, in_place=False)¶ Bases:
schrodinger.application.desmond.packages.analysis.RMSFRoot Mean Square Fluctuation from reference positions (averaged positions over the trajectory) for each residue, with optional alignment fitting
-
__init__(msys_model, cms_model, aids, fit_aids, fit_ref_pos, in_place=False)¶ see
RMSF.__init__for parameters
-
reduce(pos_t, *_, **__)¶ :rtype : list[string], list[float] :return: residue tags and RMSF for each residue
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.Dipole(msys_model, cms_model, aids)¶ Bases:
schrodinger.application.desmond.packages.staf.CompositeAnalyzerElectric dipole moment of the selected atoms, in unit of debye.
The result may not be reliable when the structure of the selected atoms are large compared to the simulation box. The unwrapping with respect to periodic boundary condition provided by
CenterOfis based on circular mean and may not be adequate.-
EA2DEBYE= 4.802813198¶
-
__init__(msys_model, cms_model, aids)¶ Initialize self. See help(type(self)) for accurate signature.
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.AxisDirector(axis)¶ Bases:
schrodinger.application.desmond.packages.staf.GeomAnalyzerBaseBasis vector of 3D axis
-
__init__(axis)¶ Parameters: axis ( str) – axis name, ‘X’, ‘Y’ or ‘Z’
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.MomentOfInertia(msys_model, cms_model, aids)¶ Bases:
schrodinger.application.desmond.packages.staf.CompositeAnalyzerMoment of inertia tensor
Result is 3x3
numpy.ndarray-
__init__(msys_model, cms_model, aids)¶
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.MomentOfInertiaDirector(msys_model, cms_model, asl)¶ Bases:
schrodinger.application.desmond.packages.staf.CompositeDynamicAslAnalyzerThis class calculates the principal moment-of-inertia for each of the selected molecules.
Result: A list of vectors
-
__init__(msys_model, cms_model, asl)¶
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.SmartsDirector(msys_model, cms_model, asl, smarts)¶ Bases:
schrodinger.application.desmond.packages.staf.CompositeDynamicAslAnalyzerDirection of atom pairs from SMARTS pattern. The SMARTS pattern should pick bonds, i.e., atom pairs, e.g.,
smarts='CC'.Convention: The vector is pointing from the first atom to the second.
-
__init__(msys_model, cms_model, asl, smarts)¶
-
reduce_vec(n, m)¶ Calculate Legendre polynomial P2 using the inner product of n and m as the input.
Parameters: m (N’x3 numpy.arraywhere N’ is the number of chemical bonds.) – Output ofSmartsDirectorfor one frame
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.SystemDipoleDirector(msys_model, cms_model, asl)¶ Bases:
schrodinger.application.desmond.packages.staf.CompositeDynamicAslAnalyzerDirection of electric dipole moment of all the selected atoms
-
__init__(msys_model, cms_model, asl)¶
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.DipoleDirector(msys_model, cms_model, asl)¶ Bases:
schrodinger.application.desmond.packages.analysis.SystemDipoleDirectorDipole direction for each molecule in the selection
-
__init__(msys_model, cms_model, asl)¶
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.LipidDirector(msys_model, cms_model, asl, tail_type)¶ Bases:
schrodinger.application.desmond.packages.staf.CompositeAnalyzerDirection of CH bond for carbon atoms on lipid tail
-
__init__(msys_model, cms_model, asl, tail_type)¶ Parameters: tail_type – ‘sn1’, ‘sn2’, ‘all’
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
schrodinger.application.desmond.packages.analysis.reduce_vec(n, m)¶ Calculate Legendre polynomial P2 using the inner product of n and m as the input.
-
schrodinger.application.desmond.packages.analysis.reduce_vec_list(n, m)¶ Calculate Legendre polynomial P2 using the inner product of n and m as the input.
-
class
schrodinger.application.desmond.packages.analysis.OrderParameter(vec1, vec2, reducer)¶ Bases:
schrodinger.application.desmond.packages.staf.GeomAnalyzerBaseGiven the director (local or global), and the descriptor (local or global), calculate the order parameter <P2> for each frame
S = 1/N sum_i ((3 * (n dot m_i)^2 -1) / 2)Where n is the director vector and m is the descriptor vector. For example, n is the z axis and m is the electric dipole moment.
- Typical usage includes
- Director Descriptor result Axis Lipid avg over carbon type Axis Smarts avg over bond type Axis Dipole avg over molecule SystemDipole Dipole avg over molecule Dipole Smarts avg over bond type
To extend its functionality, implement to the
GeomAnalyzerBaseinterface and provide the reduction rule as callable.-
__init__(vec1, vec2, reducer)¶ Parameters: - vec1 – a
GeomAnalyzerBasethat computes director - vec2 – a
GeomAnalyzerBasethat computes descriptor
Typically both director and descriptor return Nx3 vectors for each frame, where N depends on the context. In this case, one should make sure that the orders of these vectors match. For example, if both director and descriptor give one vector per molecule, then the implementation should guarantee the molecule orders are the same in vec1() and vec2().
For axis director which returns 1x3 vector, reduction with descriptor is taken care of by numpy broadcasting. For more complicated cases where director and descriptor have incompatible dimensions, the user needs to provide special-purpose reduce function, see
SmartsDirector.reduce_vecfor example.- vec1 – a
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
class
schrodinger.application.desmond.packages.analysis.MoleculeWiseCom(msys_model, cms_model, asl)¶ Bases:
schrodinger.application.desmond.packages.staf.CompositeDynamicAslAnalyzerCalculate the center-of-mass for each of the selected molecules.
Result: A list of Nx3 numpy arrays, where N is the number of molecules. Note that the array size N may vary from frame to frame if the ASL is dynamic.
-
__init__(msys_model, cms_model, asl)¶
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.AtomicPosition(msys_model, cms_model, asl=None)¶ Bases:
schrodinger.application.desmond.packages.staf.DynamicAslAnalyzerExtract the positions of the selected atoms.
Result: A list of Nx3 numpy arrays, where N is the number of atoms. Note that the array size N may vary from frame to frame if the ASL is dynamic.
-
__init__(msys_model, cms_model, asl=None)¶
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.SecondaryStructure(msys_model, cms_model, aids)¶ Bases:
schrodinger.application.desmond.packages.staf.MaestroAnalysisCalculate the secondary-structure property for selected atoms. The result is a list of
intnumbers, each of which corresponds to a selected atoms and is one of the following values:SecondaryStructure.NONE SecondaryStructure.LOOP SecondaryStructure.HELIX SecondaryStructure.STRAND SecondaryStructure.TURNThe selected atoms can be obtained by calling the
aidsmethod.-
NONE= -1¶
-
LOOP= 0¶
-
HELIX= 1¶
-
STRAND= 2¶
-
TURN= 3¶
-
__init__(msys_model, cms_model, aids)¶ Parameters: aids ( listof `int`s) – IDs of atoms to calculate the secondary-structure property for
-
reduce(results, *_, **__)¶
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.SolventAccessibleSurfaceAreaByResidue(msys_model, cms_model, asl, resolution=None)¶ Bases:
schrodinger.application.desmond.packages.staf.MaestroAnalysisCalculate the relative SASA broken down by residues. The values are relative to the average SASAs as given by
SolventAccessibleSurfaceAreaByResidue.DIPEPTIDE_SASA.The result is a 2-tuple: ([residue-names], [relative-SASAs]).
-
DIPEPTIDE_SASA= {'ACE': (115.4897, 3.5972), 'ALA': (128.7874, 4.715), 'ARG': (271.5978, 9.5583), 'ASH': (175.7041, 5.1167), 'ASN': (179.5393, 4.632), 'ASP': (173.4664, 6.9882), 'CYS': (158.1909, 5.3923), 'CYX': (99.3829, 10.7089), 'GLH': (203.2443, 6.2765), 'GLN': (208.6171, 6.5794), 'GLU': (201.466, 6.9328), 'GLY': (94.1021, 5.1977), 'HID': (208.8269, 5.9202), 'HIE': (218.799, 5.6097), 'HIP': (221.1223, 8.3364), 'HIS': (208.8269, 5.9202), 'ILE': (207.2248, 5.0012), 'LEU': (211.8823, 5.149), 'LYN': (235.5351, 6.8589), 'LYS': (242.8734, 9.351), 'MET': (218.5396, 6.9879), 'NMA': (97.3748, 4.0446), 'PHE': (243.4793, 5.9699), 'PRO': (168.783, 5.5848), 'SER': (140.6706, 4.9089), 'THR': (169.0046, 4.9049), 'TRP': (287.0895, 6.892), 'TYR': (256.8637, 6.2782), 'UNK': (189.961, 6.3732), 'VAL': (181.2543, 4.864)}¶
-
__init__(msys_model, cms_model, asl, resolution=None)¶ Initialize self. See help(type(self)) for accurate signature.
-
reduce(results, *_, **__)¶
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.MolecularSurfaceArea(msys_model, cms_model, asl, grid_spacing=None)¶ Bases:
schrodinger.application.desmond.packages.staf.CenteredSoluteAnalysisCalculate the molecular surface area. The result is a single scalar number.
-
__init__(msys_model, cms_model, asl, grid_spacing=None)¶ Parameters: asl ( str) – ASL expression to select atoms whose secondary-structure property is of interest.
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.SolventAccessibleSurfaceArea(msys_model, cms_model, asl, exclude_asl=None, resolution=None)¶ Bases:
schrodinger.application.desmond.packages.staf.MaestroAnalysisCalculate solvent accessible surface area for selected atoms.
-
__init__(msys_model, cms_model, asl, exclude_asl=None, resolution=None)¶ Initialize self. See help(type(self)) for accurate signature.
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.PolarSurfaceArea(msys_model, cms_model, asl, resolution=None)¶ Bases:
schrodinger.application.desmond.packages.staf.CenteredSoluteAnalysisCalculate polar surface area for selected atoms.
N.B.: Only O and N atoms are considered as polar atoms in this implementation.
-
__init__(msys_model, cms_model, asl, resolution=None)¶ Initialize self. See help(type(self)) for accurate signature.
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.HydrogenBondFinder(msys_model, cms_model, aids1, aids2, max_dist=2.8, min_donor_angle=120.0, min_acceptor_angle=90.0, max_acceptor_angle=180.0)¶ Bases:
schrodinger.application.desmond.packages.staf.MaestroAnalysisFind hydrogen bonds between two sets of atoms. The result is a
listoftuples, where each tuple is a pair of `schrodinger.structure._StructureAtom`s, i.e., (acceptor, donor).Basic usage:
ana = HydrogenBondFinder(msys_model, cms_model, aids1, aids2) results = analyze(tr, ana)-
__init__(msys_model, cms_model, aids1, aids2, max_dist=2.8, min_donor_angle=120.0, min_acceptor_angle=90.0, max_acceptor_angle=180.0)¶
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.HalogenBondFinder(msys_model, cms_model, aids1, aids2, max_dist=3.5, min_donor_angle=140.0, min_acceptor_angle=90.0, max_acceptor_angle=170.0)¶ Bases:
schrodinger.application.desmond.packages.staf.MaestroAnalysisFind halogen bonds between two sets of atoms. The result is a
listoftuples, where each tuple is a pair of `schrodinger.structure._StructureAtom`s, i.e., (acceptor, donor).Basic usage:
ana = HalogenBondFinder(msys_model, cms_model, protein_aids, ligand_aids) results = analyze(tr, ana)-
__init__(msys_model, cms_model, aids1, aids2, max_dist=3.5, min_donor_angle=140.0, min_acceptor_angle=90.0, max_acceptor_angle=170.0)¶
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
schrodinger.application.desmond.packages.analysis.get_ligand_fragments(lig_ct)¶ Decompose the ligand in several fragments using the murcko rules.
Returns: ligand fragments Return type: list. Each element is alistof `int`s.
-
class
schrodinger.application.desmond.packages.analysis.HydrophobicInter(msys_model, cms_model, prot_asl, lig_asl, contact_cutoff=6.0, hydrophobic_search_cutoff=3.2, hbond_cutoff=2.8)¶ Bases:
schrodinger.application.desmond.packages.staf.CompositeAnalyzerCalculate hydrophobic interactions between protein and ligand, with hbonds and pi-pi interactions excluded.
Returns a
listofdict. The length of thislistis the number of frames. Thedictkey is ‘HydrophobicResult’, and the value is alistof_HydrophobicInter.Result, where ca_aid is the AID of alpha carbon, frag_idx is the index of ligand fragment. There are also keys of ‘PiPiResult’, ‘PiCatResult’, ‘HBondResult’ withProtLigPiInter,ProtLigHbondInterresults as values.-
__init__(msys_model, cms_model, prot_asl, lig_asl, contact_cutoff=6.0, hydrophobic_search_cutoff=3.2, hbond_cutoff=2.8)¶ Initialize self. See help(type(self)) for accurate signature.
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.SaltBridgeFinder(msys_model, cms_model, aids1, aids2, cutoff=5.0)¶ Bases:
schrodinger.application.desmond.packages.staf.MaestroAnalysisFind salt bridges present between two sets of atoms. This class wraps around the get_salt_bridges() function.
Return a
listoftuples, where each tuple is a pair of `schrodinger.structure._StructureAtom`s, i.e., (anion atom, cation atom).-
__init__(msys_model, cms_model, aids1, aids2, cutoff=5.0)¶ Initialize self. See help(type(self)) for accurate signature.
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.ProtLigPolarInter(msys_model, cms_model, prot_asl, lig_asl, contact_cutoff=6.0, salt_bridge_cutoff=5.0, hbond_cutoff=2.8)¶ Bases:
schrodinger.application.desmond.packages.staf.CompositeAnalyzerCalculate polar interactions between protein and ligand, with hbonds and water bridges excluded.
Returns a
listofdict. The length of thislistis the number of frames. Thedictkey is ‘PolarResult’, and the value is alistof_ProtLigSaltBridges.Result, where prot_aid and lig_aid are the AID of the protein atom and ligand atom, polar_type is a string that denotes the side chain/backbone information, distance is the distance between the protein atom and the ligand atom. It also contains keys of ‘HBondResult’ and ‘WaterBridgeResult’ withProtLigHbondInterandWaterBridgesresults as values.-
__init__(msys_model, cms_model, prot_asl, lig_asl, contact_cutoff=6.0, salt_bridge_cutoff=5.0, hbond_cutoff=2.8)¶ Initialize self. See help(type(self)) for accurate signature.
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.MetalInter(msys_model, cms_model, prot_asl, lig_asl, metal_asl=None, contact_cutoff=6.0, metal_cutoff=3.4)¶ Bases:
schrodinger.application.desmond.packages.staf.CompositeAnalyzerInteractions between metal elements and protein/ligand atoms.
Returns a
listofdict. The length of thislistis the number of frames. Thedictkey is ‘MetalResult’, and the value is alistof either_MetalInter.MetalPor_MetalInter.MetalLobjects, where ion_aid, prot_aid and lig_aid are the AID of the ion atom, protein atom and ligand atom, ion_ele is the ion element string, distance is the distance between the ion atom and the protein/ligand atom.-
MetalP¶ alias of
_MetalP
-
MetalL¶ alias of
_MetalL
-
__init__(msys_model, cms_model, prot_asl, lig_asl, metal_asl=None, contact_cutoff=6.0, metal_cutoff=3.4)¶ Initialize self. See help(type(self)) for accurate signature.
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
schrodinger.application.desmond.packages.analysis.ProtLigPiInter¶ Compute pi-pi and pi-cation interations between protein and ligand.
Returns a
listofdict. The length of thislistis the number of frames. Thedictkeys are ‘PiPiResult’, and ‘PiCatResult’. The value is alistofProtLigPiInter.Pipi,ProgLigPiInter.PiLCatP, orProgLigPiInter.PiPCatLobjects, where frag_idx is the index of the ligand fragment, ca_aid is the AID of alpha carbon, prot_aid and lig_aid are the AID of the protein atom and ligand atom, ring_idx is the ligand ring index, type could be ‘f2f’ or ‘e2f’, distance and angle describe the geometry of the corresponding interaction.
-
schrodinger.application.desmond.packages.analysis.ProtLigHalogenBondInter¶ Find Halogen Bonds for protein ligand interactions. Return results in a human readable format
-
schrodinger.application.desmond.packages.analysis.ProtLigHbondInter¶ Compute protein-ligand hydrogen bonds.
Returns a
listofdict. The length of thislistis the number of frames. Thedictkey is ‘HBondResult’, and the value is alistofProtLigHbondInter.Result, where prot_aid is the AID of the protein atom, prot_type is a string that denotes the acceptor/donor, backbone/side chain information, lig_aid is the AID of ligand atom.
-
class
schrodinger.application.desmond.packages.analysis.WatLigFragDistance(msys_model, cms_model, prot_asl, lig_asl, contact_cutoff=6.0, hbond_cutoff=2.8)¶ Bases:
schrodinger.application.desmond.packages.staf.CompositeAnalyzerDistance between water oxygen atom and its closest ligand fragment, with water bridges excluded.
Returns a
listofdict. The length of thislistis the number of frames. Thedictkey is ‘LigWatResult’, and the value is alistof_WatLigFragDistance.Result, where frag_idx is the index of the ligand fragment, wat_res_num is the water residue number, distance is the distance between water oxygen atom and ligand fragment centroid. It also contains the key of ‘WaterBridgeResult’ withWaterBridgesresults as value.-
__init__(msys_model, cms_model, prot_asl, lig_asl, contact_cutoff=6.0, hbond_cutoff=2.8)¶ Initialize self. See help(type(self)) for accurate signature.
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
schrodinger.application.desmond.packages.analysis.WaterBridges¶ Find water bridges between protein and ligand
Returns a
listofdict. The length of thislistis the number of frames. Thedictkey is ‘WaterBridgeResult’, and the value is alistofWaterBridges.Result, where prot_aid and lig_aid are the AID of the protein atom and ligand atom, prot_type and lig_type are strings that denotes the acceptor/donor information, wat_res_num is the water residue number.
-
class
schrodinger.application.desmond.packages.analysis.ProtLigInter(msys_model, cms_model, prot_asl, lig_asl, metal_asl=None)¶ Bases:
schrodinger.application.desmond.packages.staf.CompositeAnalyzerComposition of various protein ligand interactions.
Returns a
listofdict. The length of thislistis the number of frames. Thedictkeys are ‘WaterBridgeResult’, ‘LigWatResult’, ‘HBondResult’, ‘PiPiResult’, ‘PiCatResult’, ‘MetalResult’, ‘PolarResult’.-
__init__(msys_model, cms_model, prot_asl, lig_asl, metal_asl=None)¶ Parameters: - prot_asl (
str) – ASL expression to specify protein atoms - lig_asl (
str) – ASL expression to specify ligand atoms - metal_asl (
strorNone) – ASL expression to specify metal atoms. IfNone, use default values.
- prot_asl (
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.VolumeMapper(cms_model, asl=None, aids=None, spacing=(1.0, 1.0, 1.0), length=(10.0, 10.0, 10.0), center=(0.0, 0.0, 0.0), normalize=True)¶ Bases:
schrodinger.application.desmond.packages.staf.GeomAnalyzerBaseThis class calculates the 3D histogram of selected atoms over a trajectory.
- Note: The trajectory provided for this method should already be centered,
- and aligned on the selection of interest. The returned histogram has origin in its central bin.
- Basic usage:
- ana = VolumeMapper(cms_model, ‘mol.num 1’) results = analyze(tr, ana)
-
__init__(cms_model, asl=None, aids=None, spacing=(1.0, 1.0, 1.0), length=(10.0, 10.0, 10.0), center=(0.0, 0.0, 0.0), normalize=True)¶ Parameters: asl ( str) – The ASL selection for which volumetric density map will be constructed
-
reduce(pos_t, *_, **__)¶
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
schrodinger.application.desmond.packages.analysis.progress_report_frame_number(i, *_)¶
-
schrodinger.application.desmond.packages.analysis.analyze(tr, analyzer, *arg, **kwarg)¶ Do analyses on the given trajectory
tr, and return the results. The analyses are specified as one or more positional arguements. Each analyzer should satisfy the interface requirements (see the docstring ofGeomCalc.addAnalyzer).Parameters: - tr (
listof `traj.Frame`s) – The simulation trajectory to analyze - arg – A list of analyzer objects
- kwarg["progress_feedback"] (callable, e.g., func(i, fr, tr), where
iis the current frame index,frthe current frame,trthe whole trajectory.) – This function will be called at start of analysis on the current frame. This function is intended to report the progress of the analysis.
Return type: listReturns: For a single analyzer, this function will return a list of analysis results, and each element in the list corresponds to the result of the corresponding frame. For multiple analyzers, this function will return a list of lists, and each element is a list of results of the corresponding analyzer. If an analyzer has a
reducemethod, the reduce method will be called, and its result will be returned.- tr (
-
schrodinger.application.desmond.packages.analysis.rmsd_matrix(msys_model, tr, rmsd_gids, fit_gids)¶ For all pairs of frames in the trajectory
tr, we first superimpose the structures from the two frames on the atoms as specified byfit_gids, and then we calculate the RMSD for atoms as specified byrmsd_gids.Parameters: Return type: numpy.ndarrayof `float`sReturns: A symmetric square matrix of RMSDs
-
schrodinger.application.desmond.packages.analysis.cluster(affinity_matrix)¶ Do clustering using the affinity propagation method.
Parameters: affinity_matrix ( numpy.ndarrayof `float`s) – A square matrix of affinity/similarity values:rtype (
list-of-int`s, `list-of-`int`s) :return: The first list is the sample indices of the clusters’ centers, thesecond list is a cluster label of all samples.
-
class
schrodinger.application.desmond.packages.analysis.Rdf(msys_model, cms_model, asl0, asl1=None, pos_type0='atom', pos_type1='atom', dr=0.1, rmax=12.0)¶ Bases:
schrodinger.application.desmond.packages.staf.CompositeAnalyzerCalculate radial distribution function (RDF) of provided selection.
-
__init__(msys_model, cms_model, asl0, asl1=None, pos_type0='atom', pos_type1='atom', dr=0.1, rmax=12.0)¶ This analyzer calculates the radial distribution function [RDF, also known as g(r)] of specified positions in the system.
In general, we need two groups of positions. The first group are the reference positions, whereas the second the distance group. For example, say we want to calculate the RDF of the distances of water hydrogen atoms with respect to water oxygen atoms, the first group will be all water oxygen atoms’ positions, and the second group all water hydrogen atoms’ positions. The reference and distance groups can be the same, for example, in the case of the RDF of water oxygen atoms.
Each position doesn’t have to be an atom’s position, and it could be a derived position such as the center of mass of the molecule.
Parameters: - asl0 (
str) – Atom selection for the reference group - asl1 (
strorNone) – Atom selection for the distance group. If it’sNone, it will default toasl0. - pos_type0 (
str) – Type of positions of the reference group: “atom” : Use atom’s position directly “com” : Use molecular center of mass “coc” : Use molecular center of charge “centroid”: Use molecular centroid - pos_type1 (
str) – Type of positions of the distance group. Values are the same as those ofpos_type0 - dr (
float) – Bin width in the unit of Angstroms - rmax (
float) – Maximum distance in the unit in Angstroms. The RDF will be calculated untilrmax.
- asl0 (
-
reduce(*_, **__)¶ Aggregates the frame-based results (histograms) and returns the final RDF results.
Return type: (list, list)Returns: Returns the RDF (the first list), and the integral (the second list).
-
bins()¶
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.ProtProtPiInter(msys_model, cms_model, asl)¶ Bases:
schrodinger.application.desmond.packages.staf.MaestroAnalysisProtein-protein Pi interaction finder.
Returns a
dictwith two keys: pi-pi and pi-cat. Values arelistof 2-element `tuple`s-
__init__(msys_model, cms_model, asl)¶ Parameters: asl ( str) – ASL expression to select protein atoms
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.ProtProtHbondInter(msys_model, cms_model, asl)¶ Bases:
schrodinger.application.desmond.packages.staf.CompositeAnalyzerProtein-protein hydrogen bond finder.
Returns a
dictwith four keys: hbond_bb, hbond_sb, hbond_bs, hbond_ss, b for backbone and s for sidechain. Values arelistof 2-element `tuple`s (donor AID, acceptor AID).-
__init__(msys_model, cms_model, asl)¶ Initialize self. See help(type(self)) for accurate signature.
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-
-
class
schrodinger.application.desmond.packages.analysis.ProtProtInter(msys_model, cms_model, asl)¶ Bases:
schrodinger.application.desmond.packages.staf.CompositeAnalyzerProtein-protein interactions.
Return summary over the whole trajectory. For the same frame, results are unique up to residue level, e.g., even if there are multiple salt-bridges between residue A and B, only 1 is recorded.
-
__init__(msys_model, cms_model, asl)¶ Parameters: asl ( str) – ASL expression to select protein atoms
-
disableDyncalc()¶ Disable the execution of _dyncalc(). This is used to avoid redundant _precalc() calculations delegated in _dyncalc().
-
isDynamic()¶
-