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>
21 IMPATOM_BEGIN_NAMESPACE
43 IMPATOMEXPORT Hierarchy
45 int number_of_residues,
int first_residue_index = 0,
59 const Ints domain_boundaries);
79 IMPATOMEXPORT Hierarchy
81 bool keep_detailed =
false);
83 IMPATOMEXPORT Hierarchy
86 bool keep_detailed =
false);
95 IMPATOMEXPORT std::string get_molecule_name(Hierarchy h);
96 IMPATOMEXPORT
Ints get_residue_indexes(Hierarchy h);
97 IMPATOMEXPORT ResidueType get_residue_type(Hierarchy h);
98 IMPATOMEXPORT
int get_chain_id(Hierarchy h);
99 IMPATOMEXPORT AtomType get_atom_type(Hierarchy h);
100 IMPATOMEXPORT std::string get_domain_name(Hierarchy h);
101 IMPATOMEXPORT
int get_copy_index(Hierarchy h);
113 const Hierarchies &hs,
double resolution = -1);
119 const kernel::ParticlesTemp &other
122 double resolution = -1
133 double resolution = -1
139 IMPATOMEXPORT
void transform(Hierarchy h,
const algebra::Transformation3D &tr);
145 vertex.show(out,
"\\n"));
166 : SingletonGeometry(d), res_(resolution) {}
173 for (
unsigned int i = 0; i < ps.size(); ++i) {
174 if (components_.find(ps[i]) == components_.end()) {
176 components_[ps[i]] = g;
178 ret.push_back(components_.find(ps[i])->second);
191 : SingletonsGeometry(sc), res_(resolution) {}
196 if (components_.find(_1) == components_.end()) {
200 ret.push_back(components_.find(_1)->second);
207 IMPATOM_END_NAMESPACE
A base class for geometry contained in particles.
display::Geometries get_components() const
Return a set of geometry composing this one.
void setup_as_approximation(kernel::Particle *h, const kernel::ParticlesTemp &other)
Hierarchy create_simplified_along_backbone(Hierarchy input, int num_res, bool keep_detailed=false)
A base class for geometry from a set of particles.
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.
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.
void set_target_radius(double r)
boost::graph HierarchyTree
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
IMP::base::Vector< IntRange > IntRanges
#define IMP_GRAPH(Name, directionality, VertexData, EdgeData, ShowVertex)
Define a graph object in IMP.
base::Index< ParticleIndexTag > ParticleIndex
IMP::kernel::Particle Particle
#define IMP_CONTAINER_FOREACH(ContainerType, container, operation)
kernel::Restraint * create_excluded_volume_restraint(const Hierarchies &hs, double resolution=-1)
A decorator for helping deal with a hierarchy.
IMP::kernel::Restraint Restraint
Decorator for a sphere-like particle.
A set of useful functionality on IMP::atom::Hierarchy decorators.
Hierarchy create_protein(kernel::Model *m, std::string name, double resolution, int number_of_residues, int first_residue_index=0, double volume=-1)
Create a coarse grained molecule.
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.