8 #ifndef IMPATOM_HIERARCHY_TOOLS_H
9 #define IMPATOM_HIERARCHY_TOOLS_H
11 #include <IMP/atom/atom_config.h>
12 #include <IMP/algebra/algebra_config.h>
19 #include <boost/graph/adjacency_list.hpp>
20 #include <boost/unordered_map.hpp>
22 IMPATOM_BEGIN_NAMESPACE
44 IMPATOMEXPORT Hierarchy
46 int number_of_residues,
int first_residue_index = 0,
60 const Ints domain_boundaries);
80 IMPATOMEXPORT Hierarchy
82 bool keep_detailed =
false);
84 IMPATOMEXPORT Hierarchy
87 bool keep_detailed =
false);
102 IMPATOMEXPORT Hierarchy
111 IMPATOMEXPORT Hierarchy
120 IMPATOMEXPORT
Ints get_residue_indexes(Hierarchy h);
121 IMPATOMEXPORT ResidueType get_residue_type(Hierarchy h);
123 IMPATOM_DEPRECATED_FUNCTION_DECL(2.2)
125 IMPATOM_DEPRECATED_FUNCTION_DEF(2.2,
"Use string version");
128 IMPATOMEXPORT AtomType get_atom_type(Hierarchy h);
129 IMPATOMEXPORT std::string get_domain_name(Hierarchy h);
141 const Hierarchies &hs,
double resolution = -1);
150 double resolution = -1
161 double resolution = -1
173 vertex.show(out,
"\\n"));
194 : SingletonGeometry(d), res_(resolution) {}
201 for (
unsigned int i = 0; i < ps.size(); ++i) {
202 if (components_.find(ps[i]) == components_.end()) {
204 components_[ps[i]] = g;
206 ret.push_back(components_.find(ps[i])->second);
219 : SingletonsGeometry(sc), res_(resolution) {}
224 if (components_.find(pi) == components_.end()) {
228 ret.push_back(components_.find(pi)->second);
242 IMPATOM_END_NAMESPACE
A base class for geometry contained in particles.
display::Geometries get_components() const
Return a set of geometry composing this one.
Hierarchy create_simplified_from_volume(Hierarchy h, double resolution)
A base class for geometry from a set of particles.
void setup_as_approximation(Hierarchy h)
void set_resolution(double r)
A smart pointer to a reference counted object.
HierarchyTree get_hierarchy_tree(Hierarchy h)
#define IMP_NEW(Typename, varname, args)
Declare a ref counted pointer to a new object.
A particle with a user-defined type.
Decorator for helping deal with a hierarchy of molecules.
Hierarchy create_protein(kernel::Model *m, std::string name, double target_radius, const Ints domain_boundaries)
void transform(Hierarchy h, const algebra::Transformation3D &tr)
The standard decorator for manipulating molecular structures.
Display an IMP::SingletonContainer of IMP::atom::Hierarchy particles as balls.
A decorator for Residues.
A restraint is a term in an IMP ScoringFunction.
boost::graph HierarchyTree
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
IMP::base::Vector< IntRange > IntRanges
Class to handle individual model particles.
#define IMP_GRAPH(Name, directionality, VertexData, EdgeData, ShowVertex)
Define a graph object in IMP.
base::Index< ParticleIndexTag > ParticleIndex
Hierarchy create_simplified_along_backbone(Chain input, const IntRanges &residue_segments, bool keep_detailed=false)
kernel::Restraint * create_excluded_volume_restraint(const Hierarchies &hs, double resolution=-1)
A decorator for helping deal with a hierarchy.
char get_chain_id_char(Hierarchy h)
Hierarchy create_simplified_assembly_from_volume(Hierarchy h, double resolution)
std::string get_chain_id(Hierarchy h)
Decorator for a sphere-like particle.
A set of useful functionality on IMP::atom::Hierarchy decorators.
A shared container for Singletons.
display::Geometries get_components() const
Return a set of geometry composing this one.
kernel::ParticlesTemp get_selected_particles() const
Get the selected particles.
Display an IMP::atom::Hierarchy particle as balls.
Class for storing model, its restraints, constraints, and particles.
Display an IMP::core::XYZR particle as a ball.
IMP::base::Vector< Int > Ints
Standard way to pass a bunch of Int values.
A decorator for a particle with x,y,z coordinates and a radius.