Trajectory Analysis Quick Reference
You can execute various trajectory analyzers in three different environments:
- Maestro’s Trajectory Player
- The analyze_simulation.py script, which reads an
st2file containing a list of analyzers and their parameters - The Schrödinger Python API
|
Type |
Trajectory Player |
st2 file contents |
Python API |
|
Required for all analyzers |
|
Keywords = [
{Analyzer1}
{Analyzer2}
]
|
from schrodinger.application.desmond.packages import topo
from schrodinger.application.desmond.packages import traj_util
from schrodinger.application.desmond.packages import analysis
msys_model, cms_model, tr =
traj_util.read_cms_and_traj("example-out.cms")
|
|
Distance |
|
{Distance = {
a1 = 24
a2 = 115
}
}
|
dist = analysis.Distance(msys_model, cms_model, 24, 115) results = analysis.analyze(tr, dist) |
|
Angle |
|
{Angle = {
a1 = 24
a2 = 115
a3 = 127
}
}
|
angle = analysis.Angle(msys_model, cms_model, 24, 115, 127) results = analysis.analyze(tr, angle) |
|
Dihedral |
|
{Dihedral = {
a1 = 24
a2 = 115
a3 = 127
a4 = 131
}
}
|
dihedral = analysis.Torsion(msys_model, cms_model, 24, 115, 127, 131) results = analysis.analyze(tr, dihedral) |
|
Ligand RMSD |
|
{RMSD = {
ASL = "ligand"
Frame = 0
Type = "Ligand"
}
}
|
ref_frame = 0
ligand_aids = cms_model.select_atom("ligand")
ligand_gids = topo.aids2gids(cms_model, ligand_aids,
include_pseudoatoms=False)
ligand_ref_pos = tr[ref_frame].pos(ligand_gids)
lig_rmsd = analysis.LigandRMSD(msys_model, cms_model,
ligand_aids, ligand_ref_pos)
results = analysis.analyze(tr, lig_rmsd)
|
|
Ligand RMSD; align on protein backbone |
|
{RMSD = {
ASL = "ligand"
FitBy = "protein
and backbone"
Frame = 0
Type = "Ligand"
}
}
|
ref_frame = 0
ligand_aids = cms_model.select_atom("ligand")
ligand_gids = topo.aids2gids(cms_model, ligand_aids,
include_pseudoatoms=False)
ligand_ref_pos = tr[ref_frame].pos(ligand_gids)
protein_aids = cms_model.select_atom("protein and backbone")
protein_gids = topo.aids2gids(cms_model, protein_aids,
include_pseudoatoms=False)
protein_ref_pos = tr[ref_frame].pos(protein_gids)
lig_rmsd = analysis.LigandRMSD(msys_model, cms_model,
ligand_aids, ligand_ref_pos,
fit_aids=protein_aids,
fit_ref_pos=protein_ref_pos)
results = analysis.analyze(tr, lig_rmsd)
|
|
Protein backbone RMSD |
|
{RMSD = {
ASL = "backbone"
Frame = 0
}
}
|
ref_frame = 0
protein_aids = cms_model.select_atom("backbone")
protein_gids = topo.aids2gids(cms_model, protein_aids,
include_pseudoatoms=False)
protein_ref_pos = tr[ref_frame].pos(protein_gids)
protein_rmsd = analysis.RMSD(msys_model, cms_model,
protein_aids, protein_ref_pos)
results = analysis.analyze(tr, protein_rmsd)
|
|
Protein Backbone RMSF |
|
{RMSF = {
ASL = "backbone"
Frame = 0
Tab = "p_rmsf_tab"
}
}
|
ref_frame = 0
protein_aids = cms_model.select_atom("backbone")
protein_gids = topo.aids2gids(cms_model, protein_aids,
include_pseudoatoms=False)
protein_ref_pos = tr[ref_frame].pos(protein_gids)
protein_rmsf = analysis.ProteinRMSF(msys_model, cms_model,
protein_aids,
protein_aids,
protein_ref_pos)
results = analysis.analyze(tr, protein_rmsf)
|
|
Ligand atoms RMSF |
|
{RMSF = {
ASL = "ligand"
Frame = 0
}
}
|
ref_frame = 0
ligand_aids = cms_model.select_atom("ligand")
lig_rmsf = analysis.RMSF(msys_model, cms_model, ligand_aids,
None, None)
results = analysis.analyze(tr, lig_rmsf)
|
|
Radius of gyration of a ligand |
|
{Rad_Gyration = {
ASL = "ligand"
}
}
|
rgyr = analysis.Gyradius(msys_model, cms_model, asl="ligand") results = analysis.analyze(tr, rgyr) |
|
Molecular surface area of a ligand |
|
{Molecular_Surface_Area = {
ASL = "ligand"
}
}
|
molsa = analysis.MolecularSurfaceArea(msys_model, cms_model, "ligand") results = analysis.analyze(tr, molsa) |
|
Polar surface area of a ligand |
|
{Polar_Surface_Area = {
ASL = "ligand"
}
}
|
psa = analysis.PolarSurfaceArea(msys_model, cms_model, "ligand") results = analysis.analyze(tr, psa) |
|
Solvent Accessible surface area of a ligand |
|
{SA_Surface_Area = {
ASL = "ligand"
Exclude_ASL = "water"
}
}
|
sasa = analysis.SolventAccessibleSurfaceArea( msys_model, cms_model, "ligand", exclude_asl="water") results = analysis.analyze(tr, sasa) |
|
Count the number of hydrogen bonds between protein and a ligand |
|
{HBonds = {
ASL1 = "protein"
ASL2 = "ligand"
}
}
|
hbonds = analysis.HydrogenBondFinder(msys_model, cms_model, "protein", "ligand") results = analysis.analyze(tr, hbonds) |