IMP logo
IMP Reference Guide  develop.cd20b1e321,2019/12/14
The Integrative Modeling Platform
IMP::spb Namespace Reference

Classes, functions and executables for modeling of the Spindle Pole Body. More...

Detailed Description

Classes, functions and executables for modeling of the Spindle Pole Body.

Integrative Modeling of the Spindle Pole Body Core

Here we determine the molecular architecture of the yeast spindle pole body (SPB), the structural and functional equivalent of the metazoan centrosome. Data from in vivo FRET and yeast two-hybrid, along with SAXS, X-ray crystallography, and electron microscopy were integrated by a Bayesian structure modeling approach.

This module provides classes, functions and executables for running the sampling, analysis, clustering and density calculation for this project.

Prerequisites:

MPI must be used to compile the IMP code so that replica exchange can be used.

Note:

For detailed information on inputs, outputs and how to run each executable, refer to the README and files in the SPB biosystems page.

Here's a brief description of the command line executables.

spb

This is the main executable for running sampling using Well-Tempered Ensemble Replica Exchange, based on FRET, yeast two-hybrid and other restraints.

spb_analysis

After running sampling, we need to rescore the final ensemble (all models at 1 K) based on the EM2D score. This step performs the rescoring and attaches a weight to each model (higher the better) based on the Well-tempered ensemble Replica Exchange method.

spb_cluster

Models are clustered taking their weight into account. Distance threshold-based clustering is performed with a 1.5 nm threshold.

spb_density

Localization density is calculated per protein for models of a given cluster.

spb_density_perbead

To better localize the protein termini, localization density is calculated per bead per protein for a given cluster.

spb_test_score

Code to output the restraint values of a model. Takes 2 RMFs as input: one containing structural coordinations and another containing ISD values.

Info

Author(s): Massimiliano Bonomi, Shruthi Viswanath

Maintainer: shruthivis

License: LGPL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Publications:

  • S. Viswanath*, M. Bonomi*, S.J. Kim, V.A. Klenchin, K.C. Taylor, K.C. Yabut, N.T. Umbreit, H.A. Van Epps, J. Meehl, M.H. Jones, D. Russel, J.A. Velazquez-Muriel, M. Winey, I. Rayment, T.N. Davis, A. Sali, and E.G. Muller. The molecular architecture of the yeast spindle pole body core determined by Bayesian integrative modeling. Mol Biol Cell 28, 3298-3314, 2017.
  • See main IMP papers list.

Classes

class  AttributeDistancePairScore
 Apply a function to an attribute. More...
 
class  BoxedMover
 Move a particle and keep it in a box. More...
 
class  CellMover
 Apply a mover that moves particles inside the unit cell. More...
 
class  ChiSquareMetric
 
class  ContactMapMetric
 
class  DiameterRgyrRestraint
 Diameter and radius of gyration Restraint. More...
 
class  DistanceRMSDMetric
 
class  DistanceTerminiRestraint
 A distance restraint between protein termini. More...
 
class  EM2DRestraint
 
class  Gaussian
 Gaussian function (symmetric about the mean) More...
 
class  HelixDecorator
 Add helix parameters to a particle. More...
 
class  ISDRestraint
 Apply an NOE distance restraint between two particles. More...
 
class  KinkPairScore
 Score on the crossing angles between two helices. More...
 
class  MolecularDynamicsWithWte
 Simple molecular dynamics optimizer. More...
 
class  MonteCarloWithWte
 MonteCarlo in the Well-Tempered Ensemble. More...
 
class  NuisanceRangeModifier
 Ensure that a Nuisance stays within its set range. More...
 
class  PbcBoxedMover
 Move a particle and keep it in a box. More...
 
class  PbcBoxedRigidBodyMover
 Modify the transformation of a rigid body. More...
 
class  RigidBodyNewMover
 Modify the transformation of a rigid body. More...
 
class  RigidBodyPackingScore
 Score on the crossing angles between two helices. More...
 
class  RMSDMetric
 
class  SameParticlePairFilter
 
class  SameRigidBodyPairFilter
 
class  TiltSingletonScore
 Apply a function to the distance to a fixed point. More...
 
class  TransformationSymmetry
 Set the coordinates of a particle to be a transformed version of a reference. More...
 
class  TwoStateGoModelRestraint
 Two-state Go-Model Restraint. More...
 
class  UniformBoundedRestraint
 

Typedefs

typedef IMP::Vector
< IMP::Pointer
< AttributeDistancePairScore > > 
AttributeDistancePairScores
 
typedef IMP::Vector
< IMP::WeakPointer
< AttributeDistancePairScore > > 
AttributeDistancePairScoresTemp
 
typedef IMP::Vector
< HelixDecorator
HelixDecorators
 
typedef IMP::Vector
< IMP::Pointer< KinkPairScore > > 
KinkPairScores
 
typedef IMP::Vector
< IMP::WeakPointer
< KinkPairScore > > 
KinkPairScoresTemp
 
typedef IMP::Vector
< IMP::Pointer
< RigidBodyPackingScore > > 
RigidBodyPackingScores
 
typedef IMP::Vector
< IMP::WeakPointer
< RigidBodyPackingScore > > 
RigidBodyPackingScoresTemp
 

Functions

void add_BallMover (Particles ps, double dx, core::MonteCarloMovers &mvs)
 
void add_bayesian_layer_restraint (RestraintSet *allrs, container::ListSingletonContainer *lsc, Particle *a, Particle *b)
 
void add_diameter_rgyr_restraint (RestraintSet *allrs, const atom::Hierarchy &h, std::string protein, double diameter, double rgyr, double kappa)
 
void add_GFP_restraint (Model *m, RestraintSet *allrs, const atom::Hierarchy &h, double kappa)
 
void add_internal_restraint (Model *m, RestraintSet *allrs, std::string name, atom::Molecule protein_a, atom::Molecule protein_b, double kappa, double dist)
 
std::map< std::string,
IMP::Pointer< Particle > > 
add_ISD_particles (Model *m, RestraintSet *allrs, spb::SPBParameters mydata, core::MonteCarloMovers &mvs)
 
void add_layer_restraint (RestraintSet *allrs, container::ListSingletonContainer *lsc, FloatRange range, double kappa)
 
void add_link (Model *m, RestraintSet *allrs, const atom::Hierarchy &h, std::string protein_a, std::string residues_a, atom::Hierarchies &hs, std::string protein_b, IntRange residues_b, double kappa)
 
void add_link (Model *m, RestraintSet *allrs, const atom::Hierarchy &h, std::string protein_a, std::string residues_a, atom::Hierarchies &hs, std::string protein_b, std::string residues_b, double kappa)
 
void add_my_connectivity (Model *m, RestraintSet *allrs, std::string name, atom::Molecule protein, double kappa)
 
void add_NuisanceMover (Particle *p, double dp, core::MonteCarloMovers &mvs)
 
void add_PbcBoxedMover (Particles ps, double dx, algebra::Vector3Ds centers, algebra::Transformation3Ds trs, core::MonteCarloMovers &mvs, Particle *SideXY, Particle *SideZ)
 
void add_PbcBoxedRigidBodyMover (Particles ps, double dx, double dang, algebra::Vector3Ds centers, algebra::Transformation3Ds trs, core::MonteCarloMovers &mvs, Particle *SideXY, Particle *SideZ)
 
void add_restrain_coiledcoil_to_cterm (Model *m, RestraintSet *allrs, const atom::Hierarchy &hs, std::string protein_a, Particle *dist, double sigma0_dist)
 
void add_restrain_protein_length (RestraintSet *allrs, const atom::Hierarchy &hs, std::string protein_a, Particle *dist, double sigma0_dist)
 
void add_SPBexcluded_volume (Model *m, RestraintSet *allrs, atom::Hierarchies &hs, bool GFP_exc_volume, double kappa)
 
void add_stay_close_restraint (Model *m, RestraintSet *allrs, const atom::Hierarchy &h, std::string protein, double kappa)
 
void add_stay_close_restraint (Model *m, RestraintSet *allrs, const atom::Hierarchy &h, std::string protein, int residue, double kappa)
 
void add_stay_on_plane_restraint (Model *m, RestraintSet *allrs, const atom::Hierarchy &h, std::string protein, int residue, double kappa)
 
void add_symmetry_restraint (Model *m, atom::Hierarchies &hs, algebra::Transformation3Ds transformations, Particle *SideXY, Particle *SideZ)
 
void add_tilt (Model *m, RestraintSet *allrs, const atom::Hierarchy &h, std::string name, IntRange range, double tilt, double kappa)
 
void add_tilt_restraint (Model *m, RestraintSet *allrs, Particle *p, FloatRange trange, double kappa)
 
atom::Molecules create_coiled_coil (Model *m, std::string name, std::string filename_A, std::string filename_B, int nbeads, display::Color colore, int copy, algebra::Vector3D x0, int offset=0)
 
atom::Molecule create_GFP (Model *m, std::string name, int copy, container::ListSingletonContainer *lsc, algebra::Vector3D x0, core::MonteCarloMovers &mvs, spb::SPBParameters mydata, Particle *SideXY, Particle *SideZ)
 
statistics::PartitionalClusteringcreate_gromos_clustering (statistics::Metric *d, double cutoff)
 
int * create_indexes (int nrep)
 
atom::Molecule create_merged_protein (Model *m, RestraintSet *allrs, std::string name, atom::Molecules proteins, int copy, double kappa, double dist=-1.0)
 
atom::Molecule create_protein (Model *m, RestraintSet *allrs, std::string name, double mass, int nbeads, display::Color color, int copy, double kappa, algebra::Vector3D x0, bool use_connectivity, int start_residue=1, int length=-1)
 
atom::Molecule create_protein (Model *m, std::string name, std::string filename, int nbeads, display::Color colore, int copy, algebra::Vector3D x0, int offset=0, bool makerigid=true)
 
atom::Hierarchies create_representation (Model *m, RestraintSet *allrs, spb::SPBParameters mydata, container::ListSingletonContainer *CP_ps, container::ListSingletonContainer *IL2_ps, core::MonteCarloMovers &mvs, Particle *SideXY, Particle *SideZ, int iseed)
 
double * create_temperatures (double tmin, double tmax, int nrep)
 
IMP::Pointer
< container::MinimumPairRestraint
do_bipartite_mindist (Model *m, Particles p1, Particles p2, IMP::Pointer< core::SphereDistancePairScore > sps, bool filter=true)
 
IMP::Pointer
< container::MinimumPairRestraint
do_bipartite_mindist (Model *m, Particles p1, Particles p2, IMP::Pointer< core::DistancePairScore > sps, bool filter=true)
 
IMP::Pointer< spb::EM2DRestraintem2d_restraint (atom::Hierarchies &hs, std::string protein, EM2DParameters EM2D, Particle *Sigma)
 
IMP::Pointer< spb::EM2DRestraintem2d_restraint (atom::Hierarchies &hs, std::string protein, EM2DParameters EM2D, Floats sigma_grid, Floats fmod_grid)
 
IMP::Pointer< isd::FretRestraintfret_restraint (atom::Hierarchies &hs, std::string protein_a, std::string residues_a, std::string protein_b, std::string residues_b, double fexp, FretParameters Fret, std::string cell_type, bool use_GFP, Particle *Kda, Particle *Ida, Particle *R0, Particle *Sigma0, Particle *pBl)
 
IMP::Pointer< isd::FretRestraintfret_restraint (atom::Hierarchies &hs, std::string protein_a, std::string residues_a, std::string protein_b, int residues_b, double fexp, FretParameters Fret, std::string cell_type, bool use_GFP, Particle *Kda, Particle *Ida, Particle *R0, Particle *Sigma0, Particle *pBl)
 
IMP::Pointer< isd::FretRestraintfret_restraint (atom::Hierarchies &hs, std::string protein_a, int residues_a, std::string protein_b, std::string residues_b, double fexp, FretParameters Fret, std::string cell_type, bool use_GFP, Particle *Kda, Particle *Ida, Particle *R0, Particle *Sigma0, Particle *pBl)
 
bool get_acceptance (double score0, double score1, double delta_wte, double T0, double T1)
 
int get_friend (int *index, int myrank, int step, int nrep)
 
IMP::Pointer
< core::DistancePairScore
get_pair_score (FloatRange dist, double kappa)
 
std::vector< core::RigidBodyget_rigid_bodies (Particles ps)
 
SPBParameters get_SPBParameters (IMP::TextInput in, std::string suffix)
 
IMP::Pointer
< core::SphereDistancePairScore
get_sphere_pair_score (FloatRange dist, double kappa)
 
IMP::Pointer
< core::SphereDistancePairScore
get_sphere_pair_score (double dist, double kappa)
 
void load_restart (atom::Hierarchies &all_mol, spb::SPBParameters mydata)
 
double radians (double d)
 
void recenter_rb (core::RigidBody &rb, core::XYZRs &rbps, algebra::Vector3D x0, bool coiledcoil=false)
 
IMP::Pointer< core::MonteCarlosetup_SPBMonteCarlo (Model *m, core::MonteCarloMovers &mvs, double temp, spb::SPBParameters myparam)
 
std::map< std::string,
IMP::Pointer< RestraintSet > > 
spb_assemble_restraints (Model *m, RestraintSet *allrs, spb::SPBParameters &myparam, atom::Hierarchies &all_mol, container::ListSingletonContainer *CP_ps, container::ListSingletonContainer *IL2_ps, std::map< std::string, IMP::Pointer< Particle > > ISD_ps)
 
IMP::Pointer
< container::MinimumPairRestraint
y2h_restraint (Model *m, const atom::Hierarchy &ha, std::string protein_a, IntRange residues_a, atom::Hierarchies &hb, std::string protein_b, IntRange residues_b, double kappa)
 
IMP::Pointer
< container::MinimumPairRestraint
y2h_restraint (Model *m, const atom::Hierarchy &ha, std::string protein_a, std::string residues_a, atom::Hierarchies &hb, std::string protein_b, std::string residues_b, double kappa)
 
IMP::Pointer
< container::MinimumPairRestraint
y2h_restraint (Model *m, const atom::Hierarchy &ha, std::string protein_a, IntRange residues_a, atom::Hierarchies &hb, std::string protein_b, std::string residues_b, double kappa)
 
IMP::Pointer
< container::MinimumPairRestraint
y2h_restraint (Model *m, const atom::Hierarchy &ha, std::string protein_a, std::string residues_a, atom::Hierarchies &hb, std::string protein_b, IntRange residues_b, double kappa)
 

Standard module functions

All IMP modules have a set of standard functions to help get information about the module and about files associated with the module.

std::string get_module_version ()
 
std::string get_module_name ()
 
std::string get_data_path (std::string file_name)
 Return the full path to one of this module's data files. More...
 
std::string get_example_path (std::string file_name)
 Return the full path to one of this module's example files. More...
 

Typedef Documentation

A vector of reference-counting object pointers.

Definition at line 49 of file AttributeDistancePairScore.h.

A vector of weak (non reference-counting) pointers to specified objects.

See Also
AttributeDistancePairScore

Definition at line 49 of file AttributeDistancePairScore.h.

Pass or store a set of HelixDecorator .

Definition at line 60 of file HelixDecorator.h.

A vector of reference-counting object pointers.

Definition at line 40 of file KinkPairScore.h.

A vector of weak (non reference-counting) pointers to specified objects.

See Also
KinkPairScore

Definition at line 40 of file KinkPairScore.h.

A vector of reference-counting object pointers.

Definition at line 41 of file RigidBodyPackingScore.h.

A vector of weak (non reference-counting) pointers to specified objects.

See Also
RigidBodyPackingScore

Definition at line 41 of file RigidBodyPackingScore.h.

Function Documentation

std::string IMP::spb::get_data_path ( std::string  file_name)

Return the full path to one of this module's data files.

To read the data file "data_library" that was placed in the data directory of this module, do something like

std::ifstream in(IMP::spb::get_data_path("data_library"));

This will ensure that the code works both when IMP is installed or if used via the setup_environment.sh script.

Note
Each module has its own data directory, so be sure to use this function from the correct module.
std::string IMP::spb::get_example_path ( std::string  file_name)

Return the full path to one of this module's example files.

To read the example file "example_protein.pdb" that was placed in the examples directory of this module, do something like

std::ifstream in(IMP::spb::get_example_path("example_protein.pdb"));

This will ensure that the code works both when IMP is installed or if used via the setup_environment.sh script.

Note
Each module has its own example directory, so be sure to use this function from the correct module.