IMP logo
IMP Reference Guide  2.6.1
The Integrative Modeling Platform
IMP.pmi.tools Namespace Reference

Miscellaneous utilities. More...

Detailed Description

Miscellaneous utilities.

Classes

class  ColorChange
 Change color code to hexadecimal to rgb. More...
 
class  HierarchyDatabase
 Store the representations for a system. More...
 
class  OrderedDefaultDict
 Store objects in order they were added, but with default type. More...
 

Functions

def add_restraint_to_model
 Add a PMI restraint to the model. More...
 
def cross_link_db_filter_parser
 example '"{ID_Score}" > 28 AND "{Sample}" == "%10_1%" OR ":Sample}" == "%10_2%" OR ":Sample}" == "%10_3%" OR ":Sample}" == "%8_1%" OR ":Sample}" == "%8_2%"' More...
 
def get_all_leaves
 Just get the leaves from a list of hierarchies. More...
 
def get_closest_residue_position
 this function works with plain hierarchies, as read from the pdb, no multi-scale hierarchies More...
 
def get_particles_within_zone
 Utility to retrieve particles from a hierarchy within a zone around a set of ps. More...
 
def get_position_terminal_residue
 Get the xyz position of the terminal residue at the given resolution. More...
 
def get_prot_name_from_particle
 Return the component name provided a particle and a list of names. More...
 
def get_random_cross_link_dataset
 Return a random cross-link dataset as a string. More...
 
def get_rbs_and_beads
 Returns unique objects in original order. More...
 
def get_residue_gaps_in_hierarchy
 Return the residue index gaps and contiguous segments in the hierarchy. More...
 
def get_residue_indexes
 Retrieve the residue indexes for the given particle. More...
 
def get_restraint_set
 Get a RestraintSet containing all PMI restraints added to the model. More...
 
def get_terminal_residue_position
 Get the xyz position of the terminal residue at the given resolution. More...
 
def input_adaptor
 Adapt things for PMI (degrees of freedom, restraints, ...) Returns list of list of hierarchies, separated into Molecules if possible. More...
 
def list_chunks_iterator
 Yield successive length-sized chunks from a list. More...
 
def scatter_and_gather
 Synchronize data over a parallel run. More...
 
def scatter_and_gather_dict_append
 Synchronize data over a parallel run. More...
 
def select
 this function uses representation=SimplifiedModel it returns the corresponding selected particles representation_type="Beads", "Res:X", "Densities", "Representation", "Molecule" More...
 
def select_at_all_resolutions
 Perform selection using the usual keywords but return ALL resolutions (BEADS and GAUSSIANS). More...
 
def set_coordinates_from_rmf
 Extract frame from RMF file and fill coordinates. More...
 
def shuffle_configuration
 Shuffle particles. More...
 
def sublist_iterator
 Yield all sublists of length >= lmin and <= lmax. More...
 
def translate_hierarchy
 Apply a translation to a hierarchy along the input vector. More...
 

Function Documentation

def IMP.pmi.tools.add_restraint_to_model (   model,
  restraint 
)

Add a PMI restraint to the model.

Since Model.add_restraint() no longer exists (in modern IMP restraints should be added to a ScoringFunction instead) store them instead in a RestraintSet, and keep a reference to it in the Model.

Note
This function is only available in Python.

Definition at line 37 of file tools.py.

def IMP.pmi.tools.cross_link_db_filter_parser (   inputstring)

example '"{ID_Score}" > 28 AND "{Sample}" == "%10_1%" OR ":Sample}" == "%10_2%" OR ":Sample}" == "%10_3%" OR ":Sample}" == "%8_1%" OR ":Sample}" == "%8_2%"'

Note
This function is only available in Python.

Definition at line 457 of file tools.py.

def IMP.pmi.tools.get_all_leaves (   list_of_hs)

Just get the leaves from a list of hierarchies.

Note
This function is only available in Python.

Definition at line 1556 of file tools.py.

def IMP.pmi.tools.get_closest_residue_position (   hier,
  resindex,
  terminus = 'N' 
)

this function works with plain hierarchies, as read from the pdb, no multi-scale hierarchies

Note
This function is only available in Python.

Definition at line 525 of file tools.py.

def IMP.pmi.tools.get_particles_within_zone (   hier,
  target_ps,
  sel_zone,
  entire_residues,
  exclude_backbone 
)

Utility to retrieve particles from a hierarchy within a zone around a set of ps.

Parameters
hierThe hierarchy in which to look for neighbors
target_psThe particles for zoning
sel_zoneThe maximum distance
entire_residuesIf True, will grab entire residues
exclude_backboneIf True, will only return sidechain particles
Note
This function is only available in Python.

Definition at line 1595 of file tools.py.

def IMP.pmi.tools.get_position_terminal_residue (   hier,
  terminus = 'C',
  resolution = 1 
)

Get the xyz position of the terminal residue at the given resolution.

Parameters
hierhierarchy containing the terminal residue
terminuseither 'N' or 'C'
resolutionresolution to use.
Deprecated:
As of IMP release 2.6. See the IMP Deprecation Policy for more information about deprecation in IMP. Use get_terminal_residue_position() instead.
Note
This function is only available in Python.

Definition at line 556 of file tools.py.

def IMP.pmi.tools.get_prot_name_from_particle (   p,
  list_of_names 
)

Return the component name provided a particle and a list of names.

Note
This function is only available in Python.

Definition at line 980 of file tools.py.

def IMP.pmi.tools.get_random_cross_link_dataset (   representation,
  resolution = 1.0,
  number_of_cross_links = 10,
  ambiguity_probability = 0.1,
  confidence_score_range = [0,
  avoid_same_particles = False 
)

Return a random cross-link dataset as a string.

Every line is a residue pair, together with UniqueIdentifier and XL score.

Note
This function is only available in Python.

Definition at line 349 of file tools.py.

def IMP.pmi.tools.get_rbs_and_beads (   hiers)

Returns unique objects in original order.

Note
This function is only available in Python.

Definition at line 1629 of file tools.py.

def IMP.pmi.tools.get_residue_gaps_in_hierarchy (   hierarchy,
  start,
  end 
)

Return the residue index gaps and contiguous segments in the hierarchy.

Parameters
hierarchyhierarchy to examine
startfirst residue index
endlast residue index
Returns
A list of lists of the form [[1,100,"cont"],[101,120,"gap"],[121,200,"cont"]]
Note
This function is only available in Python.

Definition at line 625 of file tools.py.

def IMP.pmi.tools.get_residue_indexes (   hier)

Retrieve the residue indexes for the given particle.

The particle must be an instance of Fragment,Residue or Atom or else returns an empty list

Note
This function is only available in Python.

Definition at line 1000 of file tools.py.

def IMP.pmi.tools.get_restraint_set (   model)

Get a RestraintSet containing all PMI restraints added to the model.

Note
This function is only available in Python.

Definition at line 49 of file tools.py.

def IMP.pmi.tools.get_terminal_residue_position (   representation,
  hier,
  terminus = 'C',
  resolution = 1 
)

Get the xyz position of the terminal residue at the given resolution.

Parameters
hierhierarchy containing the terminal residue
terminuseither 'N' or 'C'
resolutionresolution to use.
Note
This function is only available in Python.

Definition at line 588 of file tools.py.

def IMP.pmi.tools.input_adaptor (   stuff,
  pmi_resolution = 0,
  flatten = False,
  selection_tuple = None 
)

Adapt things for PMI (degrees of freedom, restraints, ...) Returns list of list of hierarchies, separated into Molecules if possible.

(iterable of ^2) hierarchy -> returns input as list of list of hierarchies, only one entry. (iterable of ^2) PMI::System/State/Molecule/TempResidue -> returns residue hierarchies, grouped in molecules, at requested resolution

Parameters
stuffCan be one of the following inputs: IMP Hierarchy, PMI System/State/Molecule/TempResidue, or a list/set (of list/set) of them. Must be uniform input, however. No mixing object types.
pmi_resolutionFor selecting, only does it if you pass PMI objects. Set it to "all" if you want all resolutions!
flattenSet to True if you just want all hierarchies in one list.

ote since this relies on IMP::atom::Selection, this will not return any objects if they weren't built! But there should be no problem if you request unbuilt residues, they should be ignored.

Note
This function is only available in Python.

Definition at line 1455 of file tools.py.

def IMP.pmi.tools.list_chunks_iterator (   list,
  length 
)

Yield successive length-sized chunks from a list.

Note
This function is only available in Python.

Definition at line 1115 of file tools.py.

def IMP.pmi.tools.scatter_and_gather (   data)

Synchronize data over a parallel run.

Note
This function is only available in Python.

Definition at line 1042 of file tools.py.

def IMP.pmi.tools.scatter_and_gather_dict_append (   data)

Synchronize data over a parallel run.

Note
This function is only available in Python.

Definition at line 1069 of file tools.py.

def IMP.pmi.tools.select (   representation,
  resolution = None,
  hierarchies = None,
  selection_arguments = None,
  name = None,
  name_is_ambiguous = False,
  first_residue = None,
  last_residue = None,
  residue = None,
  representation_type = None 
)

this function uses representation=SimplifiedModel it returns the corresponding selected particles representation_type="Beads", "Res:X", "Densities", "Representation", "Molecule"

Note
This function is only available in Python.

Definition at line 702 of file tools.py.

def IMP.pmi.tools.select_at_all_resolutions (   hier = None,
  hiers = None,
  kwargs 
)

Perform selection using the usual keywords but return ALL resolutions (BEADS and GAUSSIANS).

Returns in flat list!

Note
This function is only available in Python.

Definition at line 1562 of file tools.py.

def IMP.pmi.tools.set_coordinates_from_rmf (   hier,
  rmf_fn,
  frame_num = 0 
)

Extract frame from RMF file and fill coordinates.

Must be identical topology.

Parameters
hierThe (System) hierarchy to fill (e.g. after you've built it)
rmf_fnThe file to extract from
frame_numThe frame number to extract
Note
This function is only available in Python.

Definition at line 1436 of file tools.py.

def IMP.pmi.tools.shuffle_configuration (   root_hier,
  max_translation = 300.0,
  max_rotation = 2.0 * pi,
  avoidcollision_rb = True,
  avoidcollision_fb = False,
  cutoff = 10.0,
  niterations = 100,
  bounding_box = None,
  excluded_rigid_bodies = [],
  hierarchies_excluded_from_collision = [],
  verbose = False 
)

Shuffle particles.

Used to restart the optimization. The configuration of the system is initialized by placing each rigid body and each bead randomly in a box with a side of max_translation angstroms, and far enough from each other to prevent any steric clashes. The rigid bodies are also randomly rotated.

Parameters
root_hierThe hierarchy to shuffle. Will find rigid bodies and flexible beads.
max_translationMax translation (rbs and flexible beads)
max_rotationMax rotation (rbs only)
avoidcollision_rbcheck if the particle/rigid body was placed close to another particle; uses the optional arguments cutoff and niterations
avoidcollision_fbAdvanced. Generally you want this False because it's hard to shuffle beads.
cutoffDistance less than this is a collision
niterationsHow many times to try avoiding collision
bounding_boxOnly shuffle particles within this box. Defined by ((x1,y1,z1),(x2,y2,z2)).
excluded_rigid_bodiesDon't shuffle these rigid body objects
hierarchies_excluded_from_collisionDon't count collision with these bodies
verboseGive more output

ote Best to only call this function after you've set up degrees of freedom

Note
This function is only available in Python.

Definition at line 1654 of file tools.py.

def IMP.pmi.tools.sublist_iterator (   l,
  lmin = None,
  lmax = None 
)

Yield all sublists of length >= lmin and <= lmax.

Note
This function is only available in Python.

Definition at line 1096 of file tools.py.

def IMP.pmi.tools.translate_hierarchy (   hierarchy,
  translation_vector 
)

Apply a translation to a hierarchy along the input vector.

Note
This function is only available in Python.

Definition at line 1139 of file tools.py.