IMP logo
IMP Reference Guide  develop.cb6747d2d1,2024/03/28
The Integrative Modeling Platform
IMP.pmi1.restraints.crosslinking.AtomicCrossLinkMSRestraint Class Reference

Setup cross-link distance restraints at atomic level The "atomic" aspect is that it models the particle uncertainty with a Gaussian The noise in the data and the structural uncertainty of cross-linked amino-acids is inferred using Bayes' theory of probability. More...

+ Inheritance diagram for IMP.pmi1.restraints.crosslinking.AtomicCrossLinkMSRestraint:

Detailed Description

Setup cross-link distance restraints at atomic level The "atomic" aspect is that it models the particle uncertainty with a Gaussian The noise in the data and the structural uncertainty of cross-linked amino-acids is inferred using Bayes' theory of probability.

ote Wraps an IMP::isd::AtomicCrossLinkMSRestraint

Note
This class is only available in Python.

Definition at line 495 of file /restraints/crosslinking.py.

Public Member Functions

def __init__
 Constructor. More...
 
def create_restraints_for_rmf
 create dummy harmonic restraints for each XL but don't add to model Makes it easy to see each contribution to each XL in RMF More...
 
def get_best_stats
 return the probability, best distance, two coords, and possibly the psi for each xl More...
 
def get_particles_to_sample
 Get the particles to be sampled by the IMP.pmi1.sampler object. More...
 
def load_nuisances_from_stat_file
 Read a stat file and load all the sigmas. More...
 
def plot_violations
 Create CMM files, one for each state, of all crosslinks. More...
 
- Public Member Functions inherited from IMP.pmi1.restraints.RestraintBase
def __init__
 Constructor. More...
 
def add_to_model
 Add the restraint to the model. More...
 
def evaluate
 Evaluate the score of the restraint. More...
 
def get_output
 Get outputs to write to stat files. More...
 
def get_particles_to_sample
 Get any created particles which should be sampled. More...
 
def get_restraint
 Get the primary restraint set. More...
 
def get_restraint_for_rmf
 Get the restraint for visualization in an RMF file. More...
 
def get_restraint_set
 Get the primary restraint set. More...
 
def set_label
 Set the unique label used in outputs and particle/restraint names. More...
 
def set_weight
 Set the weight to apply to all internal restraints. More...
 

Constructor & Destructor Documentation

def IMP.pmi1.restraints.crosslinking.AtomicCrossLinkMSRestraint.__init__ (   self,
  root_hier,
  xldb,
  atom_type = 'NZ',
  length = 10.0,
  slope = 0.01,
  nstates = None,
  label = None,
  nuisances_are_optimized = True,
  sigma_init = 5.0,
  psi_init = 0.01,
  one_psi = True,
  filelabel = None,
  weight = 1.0 
)

Constructor.

Automatically creates one "sigma" per crosslinked residue and one "psis" per pair. Other nuisance options are available.

ote Will return an error if the data+extra_sel don't specify two particles per XL pair.

Parameters
root_hierThe root hierarchy on which you'll do selection
xldbCrossLinkDataBase object
atom_typeCan either be "NZ" or "CA"
lengthThe XL linker length
slopeLinear term to add to the restraint function to help when far away
nstatesThe number of states to model. Defaults to the number of states in root.
labelThe output label for the restraint
nuisances_are_optimizedWhether to optimize nuisances
sigma_initThe initial value for all the sigmas
psi_initThe initial value for all the psis
one_psiUse a single psi for all restraints (if False, creates one per XL)
filelabelautomatically generated file containing missing/included/excluded cross-links will be labeled using this text
weightWeight of restraint

Definition at line 517 of file /restraints/crosslinking.py.

Member Function Documentation

def IMP.pmi1.restraints.crosslinking.AtomicCrossLinkMSRestraint.create_restraints_for_rmf (   self)

create dummy harmonic restraints for each XL but don't add to model Makes it easy to see each contribution to each XL in RMF

Definition at line 752 of file /restraints/crosslinking.py.

def IMP.pmi1.restraints.crosslinking.AtomicCrossLinkMSRestraint.get_best_stats (   self,
  limit_to_state = None,
  limit_to_chains = None,
  exclude_chains = '',
  use_CA = False 
)

return the probability, best distance, two coords, and possibly the psi for each xl

Parameters
limit_to_stateOnly examine contributions from one state
limit_to_chainsReturns the particles for certain "easy to visualize" chains
exclude_chainsEven if you limit, don't let one end be in this list. Only works if you also limit chains
use_CALimit to CA particles

Definition at line 944 of file /restraints/crosslinking.py.

def IMP.pmi1.restraints.crosslinking.AtomicCrossLinkMSRestraint.get_particles_to_sample (   self)

Get the particles to be sampled by the IMP.pmi1.sampler object.

Definition at line 777 of file /restraints/crosslinking.py.

def IMP.pmi1.restraints.crosslinking.AtomicCrossLinkMSRestraint.load_nuisances_from_stat_file (   self,
  in_fn,
  nframe 
)

Read a stat file and load all the sigmas.

This is potentially quite stupid. It's also a hack since the sigmas should be stored in the RMF file. Also, requires one sigma and one psi for ALL XLs.

Definition at line 803 of file /restraints/crosslinking.py.

def IMP.pmi1.restraints.crosslinking.AtomicCrossLinkMSRestraint.plot_violations (   self,
  out_prefix,
  max_prob_for_violation = 0.1,
  min_dist_for_violation = 1000000000.0,
  coarsen = False,
  limit_to_chains = None,
  exclude_chains = '' 
)

Create CMM files, one for each state, of all crosslinks.

will draw in GREEN if non-violated in all states (or if only one state) will draw in PURPLE if non-violated only in a subset of states (draws nothing elsewhere) will draw in RED in ALL states if all violated (if only one state, you'll only see green and red)

Parameters
out_prefixOutput xlink files prefix
max_prob_for_violationIt's a violation if the probability is below this
min_dist_for_violationIt's a violation if the min dist is above this
coarsenUse CA positions
limit_to_chainsTry to visualize just these chains
exclude_to_chainsTry to NOT visualize these chains

Definition at line 824 of file /restraints/crosslinking.py.


The documentation for this class was generated from the following file: