8 #ifndef IMPATOM_SELECTION_H
9 #define IMPATOM_SELECTION_H
11 #include <IMP/atom/atom_config.h>
16 #include <IMP/algebra/algebra_config.h>
22 IMPATOM_BEGIN_NAMESPACE
63 IMP_NAMED_TUPLE_3(SearchResult,
SearchResults,
bool, match,
double, radius,
66 boost::dynamic_bitset<> parent)
const;
80 double target_radius = 0, std::string molecule = None,
81 int residue_index = None,
char chain = None,
83 HierarchyType hierarchy_type = None, Terminus terminus = None,
86 Ints copy_indexs = []);
97 #if !defined(IMP_DOXYGEN) && !defined(SWIG)
103 void set_molecules(
Strings mols);
108 void set_terminus(Terminus t);
111 void set_chains(std::string chains);
113 void set_residue_indexes(
Ints indexes);
120 void set_domains(
Strings names);
122 void set_molecule(std::string mol);
124 void set_chain(
char c);
126 void set_residue_index(
int i);
132 void set_domain(std::string name);
134 void set_copy_index(
unsigned int copy);
136 void set_copy_indexes(
Ints copies);
144 void set_hierarchy_types(
Ints types);
151 operator ParticleIndexes()
const {
return get_selected_particle_indexes(); }
152 operator ParticlesTemp()
const {
return get_selected_particles(); }
183 const Selections &s,
double k, std::string name =
"Connectivity%1%");
194 std::string name =
"Connectivity%1%");
204 const Selection &s,
double k, std::string name =
"Connectivity%1%");
216 std::string name =
"Connectivity%1%");
232 std::string name = std::string());
239 #ifdef IMP_ALGEBRA_USE_IMP_CGAL
279 IMPATOM_END_NAMESPACE
Hierarchies get_leaves(Hierarchy h)
double get_surface_area(const BoundingBoxD< 3 > &g)
double get_mass(const Selection &s)
IMP::kernel::ParticleIndexes ParticleIndexes
The base class for geometry.
#define IMP_VALUES(Name, PluralName)
Define the type for storing sets of values.
kernel::Restraint * create_distance_restraint(const Selection &n0, const Selection &n1, double x0, double k, std::string name="Distance%1%")
Implement geometry for the basic shapes from IMP.algebra.
A particle with a user-defined type.
kernel::Restraint * create_connectivity_restraint(const Selections &s, double k, std::string name="Connectivity%1%")
Import IMP/kernel/SingletonPredicate.h in the namespace.
Decorator for helping deal with a hierarchy of molecules.
double get_volume(const BoundingBoxD< D > &bb)
core::XYZR create_cover(const Selection &s, std::string name=std::string())
IMP::base::Vector< IMP::base::Pointer< SingletonPredicate > > SingletonPredicates
#define IMP_SHOWABLE(Name)
The standard decorator for manipulating molecular structures.
A decorator for Residues.
void set_target_radius(double r)
A restraint is a term in an IMP ScoringFunction.
double get_radius_of_gyration(const Vector3Ds &ps)
Return the radius of gyration of a set of points.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Class to handle individual model particles.
kernel::Restraint * create_internal_connectivity_restraint(const Selection &s, double k, std::string name="Connectivity%1%")
Key< 34897493, true > ParticleType
virtual Geometries get_components() const
Return a set of geometry composing this one.
kernel::Restraint * create_excluded_volume_restraint(const Hierarchies &hs, double resolution=-1)
Decorator for a sphere-like particle.
Class for storing model, its restraints, constraints, and particles.
A decorator for a particle with x,y,z coordinates and a radius.