IMP
2.0.1
The Integrative Modeling Platform
|
See IMP.multifit Overview for more information.
Classes | |
class | AssemblyHeader |
Holds data about the assembly density needed for optimization. More... | |
class | ComplementarityRestraint |
Compute the complementarity between two molecules. More... | |
class | ComponentHeader |
Holds data about a component needed for optimization. More... | |
class | DataPointsAssignment |
class | DensityDataPoints |
Stores density voxels as a vector of Array1D. More... | |
class | FittingSolutionRecord |
A fitting solution record. More... | |
class | FittingStates |
class | ProteinsAnchorsSamplingSpace |
stores the anchors sampling space for each protein More... | |
class | RadiusOfGyrationRestraint |
Ensure the radius of gyration of particles fits the predicted one. More... | |
class | RMSDClustering |
RMSD clustering. More... | |
class | SettingsData |
Holds header data for optimization. More... | |
class | WeightedExcludedVolumeRestraint |
Calculate score based on fit to EM map. More... | |
Functions | |
void | add_surface_index (core::Hierarchy mhd, Float apix, FloatKey shell_key=FloatKey("surf_ind"), FloatKey radius_key=core::XYZR::get_radius_key(), FloatKey weight_key=atom::Mass::get_mass_key()) |
add shell index to leaves More... | |
FittingSolutionRecords | convert_em_to_multifit_format (const em::FittingSolutions &em_fits) |
algebra::Transformation3Ds | convert_multifit_format_to_transformations (const FittingSolutionRecords &recs) |
em::FittingSolutions | convert_multifit_to_em_format (const FittingSolutionRecords &multifit_fits) |
FittingSolutionRecords | convert_transformations_to_multifit_format (const algebra::Transformation3Ds &trans) |
atom::Hierarchy | create_coarse_molecule_from_density (em::DensityMap *dmap, float dens_threshold, int num_beads, Model *mdl, float bead_radius) |
Coarsen a density map based on voxels clustering. More... | |
atom::Hierarchy | create_coarse_molecule_from_molecule (const atom::Hierarchy &mh, int num_beads, Model *mdl, float bead_radius, bool add_conn_restraint=false) |
Coarsen a molecule based on atom clustering. More... | |
atom::Hierarchies | create_coarse_molecules_from_molecules (const atom::Hierarchies &mhs, int frag_len, Model *mdl, float bead_radius, bool add_conn_restraint=false) |
Coarsen molecules based on atom clustering. More... | |
em::DensityMap * | create_hit_map (core::RigidBody rb, Refiner *rb_ref, const FittingSolutionRecords &sols, em::DensityMap *damp) |
IMP::Restraint * | create_weighted_excluded_volume_restraint (core::RigidBody rb1, core::RigidBody rb2, FloatKey shell_key=FloatKey("surf_ind")) |
create a weighted excluded volume restraint between two rigid bodies More... | |
multifit::FittingSolutionRecords | fft_based_rigid_fitting (atom::Hierarchy mol2fit, em::DensityMap *dmap, double density_threshold, double angle_sampling_interval_rad) |
FFT fit of a molecule in the density. More... | |
em::FittingSolutions | fitting_clustering (const atom::Hierarchy &mh, const em::FittingSolutions &ts, float spacing, int top_sols, float rmsd) |
float | get_actual_radius_of_gyration (ParticlesTemp ps) |
IntsList | get_anchor_indices_matching_secondary_structure (const AnchorsData &ad, const atom::SecondaryStructureResidues &ssrs, Float max_rmsd=0.7) |
Get lists of anchors that match a sequence of secondary structures. More... | |
void | get_anchors_for_density (em::DensityMap *dmap, int number_of_means, float density_threshold, std::string pdb_filename, std::string cmm_filename, std::string seg_filename, std::string txt_filename) |
Generate anchors in several formats for a given density map. | |
float | get_approximated_radius (int len) |
float | get_approximated_radius_of_gyration (int len) |
FittingSolutionRecords | get_close_to_point (const FittingSolutionRecords &fit_sols, atom::Hierarchy mh, IMP::Particle *ap, Float dist) |
prune solutions by distance to an anchor point More... | |
IntsList | get_clustered (Particles ps, const algebra::Transformation3Ds &trans, float max_rmsd, float max_angle_diff_in_rad, float max_displace, int min_cluster_size) |
Cluster transformations. More... | |
IntsList | get_connected_components (em::DensityMap *dmap, float threshold, float edge_threshold) |
Return connected components based on density values. More... | |
std::string | get_data_path (std::string file_name) |
Return the full path to installed data. More... | |
statistics::Histogram | get_density_histogram (const em::DensityMap *dmap, float threshold, int num_bins) |
Get a histogram of density values. | |
std::string | get_example_path (std::string file_name) |
Return the path to installed example data for this module. More... | |
ProteinsAnchorsSamplingSpace | get_part_of_sampling_space (const ProteinsAnchorsSamplingSpace &prots_ss, const Strings &prot_names) |
Get the sampling space of few of the proteins. | |
multifit::SettingsData * | get_partial_assembly_setting_data (multifit::SettingsData *prots_sd, const Strings &prot_names) |
Get the assembly data for a few of the proteins. | |
ProteomicsData * | get_partial_proteomics_data (const ProteomicsData *pd, const Strings &prot_names) |
algebra::Vector3Ds | get_points_close_to_molecule (const atom::Hierarchy &mh, const algebra::Vector3Ds points, Float max_dist) |
algebra::Vector3Ds | get_points_far_from_molecule (const atom::Hierarchy &mh, const algebra::Vector3Ds points, Float max_dist) |
algebra::Vector3D | get_segment_maximum (const DataPointsAssignment &dpa, em::DensityMap *dmap, int segment_id) |
algebra::Vector3D | get_segment_maximum (const DataPointsAssignment &dpa, DensGrid *dmap, int segment_id) |
em::DensityMap * | grid2map (const DensGrid &dg, float spacing) |
Ensemble * | load_ensemble (multifit::SettingsData *sd, Model *mdl, const ProteinsAnchorsSamplingSpace &mapping_data) |
AnchorsData | molecule2anchors (atom::Hierarchy mh, int k) |
em::FittingSolutions | pca_based_rigid_fitting (core::RigidBody rb, Refiner *rb_refiner, em::DensityMap *em_map, Float threshold, FloatKey wei_key=atom::Mass::get_mass_key(), algebra::PrincipalComponentAnalysis dens_pca_input=algebra::PrincipalComponentAnalysis()) |
Compute fitting scores for a given set of rigid transformations. More... | |
em::FittingSolutions | pca_based_rigid_fitting (ParticlesTemp ps, em::DensityMap *em_map, Float threshold, FloatKey wei_key=atom::Mass::get_mass_key(), algebra::PrincipalComponentAnalysis dens_pca_input=algebra::PrincipalComponentAnalysis()) |
Compute fitting scores for a given set of rigid transformations. More... | |
AnchorsData | read_anchors_data (const char *txt_filename) |
std::pair< algebra::Vector3Ds, CEdges > | read_cmm (const std::string &cmm_filename) |
FittingSolutionRecords | read_fitting_solutions (const char *fitting_fn) |
Fitting solutions reader. More... | |
IntsList | read_paths (const char *txt_filename, int max_paths=INT_MAX) |
Read paths. More... | |
ProteinsAnchorsSamplingSpace | read_protein_anchors_mapping (multifit::ProteomicsData *prots, const std::string &anchors_prot_map_fn, int max_paths=INT_MAX) |
ProteomicsData * | read_proteomics_data (const char *proteomics_fn) |
Proteomics reader. More... | |
SettingsData * | read_settings (const char *filename) |
em::DensityMap * | remove_background (em::DensityMap *dmap, float threshold, float edge_threshold) |
Returns a map containing all density without the background. More... | |
void | write_chimera (const std::string &chimera_filename, const DataPointsAssignment &dpa) |
void | write_cmm (const std::string &cmm_filename, const std::string &marker_set_name, const AnchorsData &dpa) |
void | write_connolly_surface (atom::Atoms as, base::TextOutput fn, float density, float probe_radius) |
Write the Connolly surface for a set of atoms to a file. More... | |
void | write_fitting_solutions (const char *fitting_fn, const FittingSolutionRecords &fit_sols, int num_sols=-1) |
Write fitting solutions to a file. More... | |
void | write_markers (const algebra::PrincipalComponentAnalysisD< 3 > &pca, std::ostream &out) |
void | write_paths (const IntsList &paths, const std::string &txt_filename) |
void | write_pdb (const std::string &pdb_filename, const DataPointsAssignment &dpa) |
void | write_protein_anchors_mapping (const std::string &anchors_prot_map_fn, const std::string &anchors_fn, const std::vector< std::pair< String, String > > &prot_paths) |
void | write_protein_anchors_mapping (const std::string &anchors_prot_map_fn, const ProteinsAnchorsSamplingSpace &pa, const Strings &prot_names) |
void | write_segment_as_mrc (em::DensityMap *dmap, const DataPointsAssignment &dpa, int segment_id, Float resolution, Float apix, const std::string &filename) |
void | write_segment_as_pdb (const DataPointsAssignment &dpa, int segment_id, const std::string &filename) |
void | write_segments_as_mrc (em::DensityMap *dmap, const DataPointsAssignment &dpa, Float resolution, Float apix, Float threshold, const std::string &filename) |
Write segments in MRC format. More... | |
void | write_segments_as_pdb (const DataPointsAssignment &dpa, const std::string &filename) |
void | write_settings (const char *filename, const SettingsData *sd) |
void | write_txt (const std::string &txt_filename, const AnchorsData &ad) |
typedef IMP::base::Vector< AlignmentParams > IMP::multifit::AlignmentParamsList |
Pass or store a set of AlignmentParams .
Definition at line 300 of file AlignmentParams.h.
typedef IMP::base::Vector< AnchorsData > IMP::multifit::AnchorsDataList |
Pass or store a set of AnchorsData .
Definition at line 88 of file anchors_reader.h.
typedef IMP::base::Vector< ComplementarityParams > IMP::multifit::ComplementarityParamsList |
Pass or store a set of ComplementarityParams .
Definition at line 258 of file AlignmentParams.h.
Store a set of objects.
Definition at line 71 of file SettingsData.h.
typedef IMP::base::Vector< ConnectivityParams > IMP::multifit::ConnectivityParamsList |
Pass or store a set of ConnectivityParams .
Definition at line 94 of file AlignmentParams.h.
typedef IMP::base::Vector<IMP::base::Pointer< DensityDataPoints > > IMP::multifit::DensityDataPointsList |
Store a set of objects.
Definition at line 64 of file DensityDataPoints.h.
typedef IMP::base::Vector< DominoParams > IMP::multifit::DominoParamsList |
Pass or store a set of DominoParams .
Definition at line 46 of file AlignmentParams.h.
typedef IMP::base::Vector<IMP::base::Pointer< Ensemble > > IMP::multifit::Ensembles |
Store a set of objects.
Definition at line 48 of file ensemble_analysis.h.
typedef IMP::base::Vector< EVParams > IMP::multifit::EVParamsList |
Pass or store a set of EVParams .
Definition at line 181 of file AlignmentParams.h.
typedef IMP::base::Vector< FiltersParams > IMP::multifit::FiltersParamsList |
Pass or store a set of FiltersParams .
Definition at line 202 of file AlignmentParams.h.
typedef IMP::base::Vector< FittingParams > IMP::multifit::FittingParamsList |
Pass or store a set of FittingParams .
Definition at line 227 of file AlignmentParams.h.
Pass or store a set of FittingSolutionRecord .
Definition at line 80 of file FittingSolutionRecord.h.
typedef IMP::base::Vector< FragmentsParams > IMP::multifit::FragmentsParamsList |
Pass or store a set of FragmentsParams .
Definition at line 121 of file AlignmentParams.h.
typedef IMP::base::Vector<IMP::base::Pointer< ProbabilisticAnchorGraph > > IMP::multifit::ProbabilisticAnchorGraphs |
Store a set of objects.
Definition at line 67 of file anchor_graph.h.
typedef IMP::base::Vector< ProteinRecordData > IMP::multifit::ProteinRecordDataList |
Pass or store a set of ProteinRecordData .
Definition at line 69 of file proteomics_reader.h.
typedef IMP::base::Vector< ProteinsAnchorsSamplingSpace > IMP::multifit::ProteinsAnchorsSamplingSpaces |
Pass or store a set of ProteinsAnchorsSamplingSpace .
Definition at line 65 of file protein_anchors_mapping_reader.h.
typedef IMP::base::Vector<IMP::base::Pointer< ProteomicsEMAlignmentAtomic > > IMP::multifit::ProteomicsEMAlignmentAtomics |
Store a set of objects.
Definition at line 108 of file proteomics_em_alignment_atomic.h.
typedef IMP::base::Vector< RogParams > IMP::multifit::RogParamsList |
Pass or store a set of RogParams .
Definition at line 139 of file AlignmentParams.h.
typedef IMP::base::Vector<IMP::base::Pointer< TransformationClustering > > IMP::multifit::TransformationClusterings |
Store a set of objects.
Definition at line 71 of file TransformationClustering.h.
typedef IMP::base::Vector< XlinkParams > IMP::multifit::XlinkParamsList |
Pass or store a set of XlinkParams .
Definition at line 71 of file AlignmentParams.h.
void IMP::multifit::add_surface_index | ( | core::Hierarchy | mhd, |
Float | apix, | ||
FloatKey | shell_key = FloatKey("surf_ind") , |
||
FloatKey | radius_key = core::XYZR::get_radius_key() , |
||
FloatKey | weight_key = atom::Mass::get_mass_key() |
||
) |
/param[in] apix sets the resolution of the surface /note we assume that the leaves are xyz particles
atom::Hierarchy IMP::multifit::create_coarse_molecule_from_density | ( | em::DensityMap * | dmap, |
float | dens_threshold, | ||
int | num_beads, | ||
Model * | mdl, | ||
float | bead_radius | ||
) |
[in] | dmap | the density map to coarsen |
[in] | dens_threshold | use only voxels above this threshold for clustering |
[in] | num_beads | the number of beads |
[in] | mdl | model to add the new molecule to |
[in] | bead_radius | bead radius |
atom::Hierarchy IMP::multifit::create_coarse_molecule_from_molecule | ( | const atom::Hierarchy & | mh, |
int | num_beads, | ||
Model * | mdl, | ||
float | bead_radius, | ||
bool | add_conn_restraint = false |
||
) |
[in] | mh | the molecule to coarsen |
[in] | num_beads | the output number of beads |
[in] | mdl | model to add the new molecule to |
[in] | bead_radius | bead radius |
[in] | add_conn_restraint | if true a connectivity restraint between the particles of the new molecule is added |
atom::Hierarchies IMP::multifit::create_coarse_molecules_from_molecules | ( | const atom::Hierarchies & | mhs, |
int | frag_len, | ||
Model * | mdl, | ||
float | bead_radius, | ||
bool | add_conn_restraint = false |
||
) |
[in] | mhs | the molecules to coarsen |
[in] | frag_len | the number of beads for each molecule will be its number of residues / frag_len |
[in] | mdl | model to add the new molecule to |
[in] | bead_radius | bead radius |
[in] | add_conn_restraint | if true a connectivity restraint between the particles of the new molecule is added |
IMP::Restraint* IMP::multifit::create_weighted_excluded_volume_restraint | ( | core::RigidBody | rb1, |
core::RigidBody | rb2, | ||
FloatKey | shell_key = FloatKey("surf_ind") |
||
) |
/param[in] rb1 the first rigid body /param[in] rb2 the second rigid body /param[in] shell_key the attribute that stored the particles surface level with respect to its molecule
multifit::FittingSolutionRecords IMP::multifit::fft_based_rigid_fitting | ( | atom::Hierarchy | mol2fit, |
em::DensityMap * | dmap, | ||
double | density_threshold, | ||
double | angle_sampling_interval_rad | ||
) |
[in] | mol2fit | a rigid body molecule to fit |
[in] | dmap | the map to fit into |
[in] | angle_sampling_interval_rad | sampling internal in radians |
em::FittingSolutions IMP::multifit::fitting_clustering | ( | const atom::Hierarchy & | mh, |
const em::FittingSolutions & | ts, | ||
float | spacing, | ||
int | top_sols, | ||
float | rmsd | ||
) |
[in] | mh | cluster transformations with respect to this protein |
[in] | ts | the transformations with respect to the transformation in the PDB |
[in] | spacing | transformations with rmsd < spacing*2 are clustered together |
[in] | top_sols | cluster no more than this many top solutions |
[in] | rmsd | maximum RMSD between transformations in the same cluster |
IntsList IMP::multifit::get_anchor_indices_matching_secondary_structure | ( | const AnchorsData & | ad, |
const atom::SecondaryStructureResidues & | ssrs, | ||
Float | max_rmsd = 0.7 |
||
) |
[in] | ad | The AnchorsData |
[in] | sse_ps | The SecondaryStructureResidue particles to match |
[in] | min_correlation | SecondaryStructureResidue match must be below this value (0.816 is rmsd of known SSE to random) |
FittingSolutionRecords IMP::multifit::get_close_to_point | ( | const FittingSolutionRecords & | fit_sols, |
atom::Hierarchy | mh, | ||
IMP::Particle * | ap, | ||
Float | dist | ||
) |
[in] | fit_sols | initial fitting solutions |
[in] | mh | the molecule the fitting solutions apply for |
[in] | ap | anchor point for which the transformed mh (fit) should be close to |
[in] | dist | all fits such that the distance between ap and the fit center is smaller than dist will be included |
IntsList IMP::multifit::get_clustered | ( | Particles | ps, |
const algebra::Transformation3Ds & | trans, | ||
float | max_rmsd, | ||
float | max_angle_diff_in_rad, | ||
float | max_displace, | ||
int | min_cluster_size | ||
) |
[in] | ps | Cluster transformation with respect to these particles |
[in] | trans | The transformations to cluster |
[in] | max_rmsd | Maximum RMSD between transformations within a cluster |
[in] | max_angle_diff_in_rad | maximum angle between rotations in a cluster |
[in] | max_displace | maximum translation between transformations within a cluster |
[in] | min_cluster_size | prune out clusters of size smaller |
IntsList IMP::multifit::get_connected_components | ( | em::DensityMap * | dmap, |
float | threshold, | ||
float | edge_threshold | ||
) |
[in] | dmap | the density map to analyze |
[in] | threshold | consider only voxels above this threshold |
[in] | edge_threshold | an edge is added between two neighboring voxels if their density difference is below this threshold |
std::string IMP::multifit::get_data_path | ( | std::string | file_name | ) |
Each module has its own data directory, so be sure to use the version of this function in the correct module. To read the data file "data_library" that was placed in the data
directory of module "mymodule", do something like
This will ensure that the code works when IMP
is installed or used via the tools/imppy.sh
script.
std::string IMP::multifit::get_example_path | ( | std::string | file_name | ) |
Each module has its own example directory, so be sure to use the version of this function in the correct module. For example to read the file example_protein.pdb
located in the examples
directory of the IMP::atom module, do
This will ensure that the code works when IMP
is installed or used via the tools/imppy.sh
script.
algebra::Vector3Ds IMP::multifit::get_points_close_to_molecule | ( | const atom::Hierarchy & | mh, |
const algebra::Vector3Ds | points, | ||
Float | max_dist | ||
) |
Given a molecule and a set of points, return the indexes of the points that are close to the molecule (up to max_dist) and the res
em::FittingSolutions IMP::multifit::pca_based_rigid_fitting | ( | core::RigidBody | rb, |
Refiner * | rb_refiner, | ||
em::DensityMap * | em_map, | ||
Float | threshold, | ||
FloatKey | wei_key = atom::Mass::get_mass_key() , |
||
algebra::PrincipalComponentAnalysis | dens_pca_input = algebra::PrincipalComponentAnalysis() |
||
) |
Fit a protein to its density by principle component matching
[in] | rb | The rigid body to be fitted |
[in] | rb_refiner | The rigid body refiner |
[in] | em_map | The density map to fit to |
[in] | threshold | Use voxels above this threshold for PCA calculations |
[in] | wei_key | The weight key of the particles in the rigid body |
[in] | dens_pca_input | provide precalculated em_map PCA is available |
em::FittingSolutions IMP::multifit::pca_based_rigid_fitting | ( | ParticlesTemp | ps, |
em::DensityMap * | em_map, | ||
Float | threshold, | ||
FloatKey | wei_key = atom::Mass::get_mass_key() , |
||
algebra::PrincipalComponentAnalysis | dens_pca_input = algebra::PrincipalComponentAnalysis() |
||
) |
Fit a protein to its density by principle component matching
[in] | ps | The particles to fit (treated as rigid) |
[in] | em_map | The density map to fit to |
[in] | threshold | Use voxels above this threshold for PCA calculations |
[in] | wei_key | The weight key of the particles in the rigid body |
[in] | dens_pca_input | provide precalculated em_map PCA is available |
FittingSolutionRecords IMP::multifit::read_fitting_solutions | ( | const char * | fitting_fn | ) |
IntsList IMP::multifit::read_paths | ( | const char * | txt_filename, |
int | max_paths = INT_MAX |
||
) |
ProteomicsData* IMP::multifit::read_proteomics_data | ( | const char * | proteomics_fn | ) |
em::DensityMap* IMP::multifit::remove_background | ( | em::DensityMap * | dmap, |
float | threshold, | ||
float | edge_threshold | ||
) |
[in] | dmap | the density map to segment |
[in] | threshold | consider only voxels above this threshold |
[in] | edge_threshold | consider only voxels above this threshold |
void IMP::multifit::write_connolly_surface | ( | atom::Atoms | as, |
base::TextOutput | fn, | ||
float | density, | ||
float | probe_radius | ||
) |
The algorithm is taken from Connolly's original MS program, which is freely distributable and Copyright 1983, Michael Connolly.
M.L. Connolly, "Solvent-accessible surfaces of proteins and nucleic acids", Science, 221, p709-713 (1983).
M.L. Connolly, "Analytical molecular surface calculation", J. Appl. Cryst. 16, p548-558 (1983).
void IMP::multifit::write_fitting_solutions | ( | const char * | fitting_fn, |
const FittingSolutionRecords & | fit_sols, | ||
int | num_sols = -1 |
||
) |
[in] | fitting_fn | the fitting filename |
[in] | fit_sols | the fitting solutions to write to file |
[in] | num_sols | optional, only write the first num_sols fits. |
void IMP::multifit::write_segments_as_mrc | ( | em::DensityMap * | dmap, |
const DataPointsAssignment & | dpa, | ||
Float | resolution, | ||
Float | apix, | ||
Float | threshold, | ||
const std::string & | filename | ||
) |