IMP Reference Guide
2.21.0
The Integrative Modeling Platform
|
Miscellaneous utilities. More...
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... | |
class | Segments |
This class stores integers in ordered compact lists eg: [[1,2,3],[6,7,8]] the methods help splitting and merging the internal lists Example: s=Segments([1,2,3]) is [[1,2,3]] s.add(4) is [[1,2,3,4]] (add right) s.add(3) is [[1,2,3,4]] (item already existing) s.add(7) is [[1,2,3,4],[7]] (new list) s.add([8,9]) is [[1,2,3,4],[7,8,9]] (add item right) s.add([5,6]) is [[1,2,3,4,5,6,7,8,9]] (merge) s.remove(3) is [[1,2],[4,5,6,7,8,9]] (split) etc. More... | |
class | Stopwatch |
Collect timing information. More... | |
class | ThreeToOneConverter |
This class converts three to one letter codes, and return X for any unknown codes. More... | |
Functions | |
def | add_restraint_to_model |
Add a PMI restraint to the model. More... | |
def | color2rgb |
Given a chimera color name, return RGB. 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 | display_bonds |
Decorate the sequence-consecutive particles from a PMI2 molecule with a bond, so that they appear connected in the rmf file. 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_densities |
Given a list of PMI objects, returns all density hierarchies within these objects. More... | |
def | get_molecules |
This function returns the parent molecule hierarchies of given objects. More... | |
def | get_particles_within_zone |
Utility to retrieve particles from a hierarchy within a zone around a set of ps. 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_sorted_segments |
Returns sequence-sorted segments array, each containing the first particle the last particle and the first residue index. More... | |
def | get_terminal_residue |
Get the particle of the terminal residue at the GIVEN resolution (NOTE: not the closest resolution!). More... | |
def | get_terminal_residue_position |
Get XYZ coordinates 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 | select_by_tuple_2 |
New tuple format: molname OR (start,stop,molname,copynum,statenum) Copy and state are optional. 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... | |
def IMP.pmi1.tools.add_restraint_to_model | ( | model, | |
restraint, | |||
add_to_rmf = False |
|||
) |
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.
If add_to_rmf
is True, also add the restraint to a separate list of restraints that will be written out to RMF files (by default, most PMI restraints are not).
def IMP.pmi1.tools.color2rgb | ( | colorname | ) |
def IMP.pmi1.tools.cross_link_db_filter_parser | ( | inputstring | ) |
def IMP.pmi1.tools.display_bonds | ( | mol | ) |
def IMP.pmi1.tools.get_all_leaves | ( | list_of_hs | ) |
def IMP.pmi1.tools.get_closest_residue_position | ( | hier, | |
resindex, | |||
terminus = 'N' |
|||
) |
def IMP.pmi1.tools.get_densities | ( | input_objects | ) |
Given a list of PMI objects, returns all density hierarchies within these objects.
The output of this function can be inputted into things such as EM restraints. This function is intended to gather density particles appended to molecules (and not other hierarchies which might have been appended to the root node directly).
def IMP.pmi1.tools.get_molecules | ( | input_objects | ) |
def IMP.pmi1.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.
hier | The hierarchy in which to look for neighbors |
target_ps | The particles for zoning |
sel_zone | The maximum distance |
entire_residues | If True, will grab entire residues |
exclude_backbone | If True, will only return sidechain particles |
def IMP.pmi1.tools.get_prot_name_from_particle | ( | p, | |
list_of_names | |||
) |
def IMP.pmi1.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 |
|||
) |
def IMP.pmi1.tools.get_rbs_and_beads | ( | hiers | ) |
def IMP.pmi1.tools.get_residue_gaps_in_hierarchy | ( | hierarchy, | |
start, | |||
end | |||
) |
Return the residue index gaps and contiguous segments in the hierarchy.
hierarchy | hierarchy to examine |
start | first residue index |
end | last residue index |
def IMP.pmi1.tools.get_residue_indexes | ( | hier | ) |
def IMP.pmi1.tools.get_restraint_set | ( | model, | |
rmf = False |
|||
) |
Get a RestraintSet containing all PMI restraints added to the model.
If rmf
is True, return only the subset of these restraints that should be written out to RMF files.
def IMP.pmi1.tools.get_sorted_segments | ( | mol | ) |
def IMP.pmi1.tools.get_terminal_residue | ( | representation, | |
hier, | |||
terminus = 'C' , |
|||
resolution = 1 |
|||
) |
Get the particle of the terminal residue at the GIVEN resolution (NOTE: not the closest resolution!).
To get the terminal residue at the closest resolution use: particles=IMP.pmi1.tools.select_by_tuple(representation,molecule_name) particles[0] and particles[-1] will be the first and last particles corresponding to the two termini. It is needed for instance to determine the last residue of a pdb.
hier | hierarchy containing the terminal residue |
terminus | either 'N' or 'C' |
resolution | resolution to use. |
def IMP.pmi1.tools.get_terminal_residue_position | ( | representation, | |
hier, | |||
terminus = 'C' , |
|||
resolution = 1 |
|||
) |
def IMP.pmi1.tools.input_adaptor | ( | stuff, | |
pmi_resolution = 0 , |
|||
flatten = False , |
|||
selection_tuple = None , |
|||
warn_about_slices = True |
|||
) |
Adapt things for PMI (degrees of freedom, restraints, ...) Returns list of list of hierarchies, separated into Molecules if possible.
The input can be a list, or a list of lists (iterable of ^1 or iterable of ^2) (iterable of ^2) Hierarchy -> returns input as list of list of hierarchies, only one entry, not grouped by molecules. (iterable of ^2) PMI::System/State/Molecule/TempResidue -> returns residue hierarchies, grouped in molecules, at requested resolution
stuff | Can 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_resolution | For selecting, only does it if you pass PMI objects. Set it to "all" if you want all resolutions! |
flatten | Set to True if you just want all hierarchies in one list. |
warn_about_slices | Print a warning if you are requesting only part of a bead. Sometimes you just don't care! |
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.
def IMP.pmi1.tools.list_chunks_iterator | ( | list, | |
length | |||
) |
def IMP.pmi1.tools.scatter_and_gather | ( | data | ) |
def IMP.pmi1.tools.scatter_and_gather_dict_append | ( | data | ) |
def IMP.pmi1.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 |
|||
) |
def IMP.pmi1.tools.select_at_all_resolutions | ( | hier = None , |
|
hiers = None , |
|||
kwargs | |||
) |
def IMP.pmi1.tools.select_by_tuple_2 | ( | hier, | |
tuple_selection, | |||
resolution | |||
) |
New tuple format: molname OR (start,stop,molname,copynum,statenum) Copy and state are optional.
Can also use 'None' for them which will get all. You can also pass -1 for stop which will go to the end. Returns the particles
def IMP.pmi1.tools.set_coordinates_from_rmf | ( | hier, | |
rmf_fn, | |||
frame_num = 0 |
|||
) |
Extract frame from RMF file and fill coordinates.
Must be identical topology.
hier | The (System) hierarchy to fill (e.g. after you've built it) |
rmf_fn | The file to extract from |
frame_num | The frame number to extract |
def IMP.pmi1.tools.shuffle_configuration | ( | objects, | |
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 = [] , |
|||
hierarchies_included_in_collision = [] , |
|||
verbose = False , |
|||
return_debug = 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. If bounding_box
is specified, the particles are placed inside this box; otherwise, each particle is displaced by up to max_translation angstroms, and randomly rotated. Effort is made to place particles far enough from each other to prevent any steric clashes.
objects | Can be one of the following inputs: IMP Hierarchy, PMI System/State/Molecule/TempResidue, or a list/set of them |
max_translation | Max translation (rbs and flexible beads) |
max_rotation | Max rotation (rbs only) |
avoidcollision_rb | check if the particle/rigid body was placed close to another particle; uses the optional arguments cutoff and niterations |
avoidcollision_fb | Advanced. Generally you want this False because it's hard to shuffle beads. |
cutoff | Distance less than this is a collision |
niterations | How many times to try avoiding collision |
bounding_box | Only shuffle particles within this box. Defined by ((x1,y1,z1),(x2,y2,z2)). |
excluded_rigid_bodies | Don't shuffle these rigid body objects |
hierarchies_excluded_from_collision | Don't count collision with these bodies |
hierarchies_included_in_collision | Hierarchies that are not shuffled, but should be included in collision calculation (for fixed regions) |
verbose | Give more output |
ote Best to only call this function after you've set up degrees of freedom For debugging purposes, returns: <shuffled indexes>="">, <collision avoided="" indexes>="">
def IMP.pmi1.tools.sublist_iterator | ( | l, | |
lmin = None , |
|||
lmax = None |
|||
) |