IMP  2.0.1
The Integrative Modeling Platform
IMP::atom::Selection Class Reference

#include <IMP/atom/Selection.h>

+ Inheritance diagram for IMP::atom::Selection:

Public Types

enum  Terminus { NONE, C, N }
 

Public Member Functions

 Selection (Hierarchy hierarchy=None, Hierarchies hierarchies=[], Strings molecules=[], Ints residue_indexes=[], Strings chains=[], AtomTypes atom_types=[], ResidueTypes residue_types=[], Strings domains=[], double target_radius=0, std::string molecule=None, int residue_index=None, char chain=None, AtomType atom_type=None, ResidueType residue_type=None, HierarchyType hierarchy_type=None, Terminus terminus=None, std::string domain=None, core::ParticleType particle_type=None, core::ParticleTypes particle_types=[], int copy_index=-1, Ints copy_indexs=[])
 
 Selection (Hierarchy h)
 
 Selection (Particle *h)
 
 Selection (Model *m, const ParticleIndexes &pis)
 
 Selection (const Hierarchies &h)
 
 Selection (const ParticlesTemp &h)
 
Hierarchies get_hierarchies () const
 Return the hierarchies that the Selection was constructed with.
 
ParticlesTemp get_selected_particles () const
 Get the selected particles.
 
void set_atom_type (AtomType types)
 
void set_atom_types (AtomTypes types)
 
void set_chain (char c)
 
void set_chains (std::string chains)
 
void set_copy_index (unsigned int copy)
 
void set_copy_indexes (const Ints &copies)
 
void set_domain (std::string name)
 
void set_domains (Strings names)
 
void set_hierarchy_types (const Ints &types)
 
void set_molecule (std::string mol)
 
void set_molecules (Strings mols)
 
void set_particle_type (core::ParticleType t)
 
void set_particle_types (core::ParticleTypes t)
 
void set_residue_index (int i)
 
void set_residue_indexes (Ints indexes)
 
void set_residue_type (ResidueType type)
 
void set_residue_types (ResidueTypes types)
 
void set_target_radius (double r)
 
void set_terminus (Terminus t)
 
void show (std::ostream &out=std::cout) const
 

Related Functions

(Note that these are not member functions.)

Restraintcreate_connectivity_restraint (const Selections &s, double k, std::string name="Connectivity%1%")
 
Restraintcreate_connectivity_restraint (const Selections &s, double x0, double k, std::string name="Connectivity%1%")
 
core::XYZR create_cover (const Selection &s, std::string name=std::string())
 
Restraintcreate_distance_restraint (const Selection &n0, const Selection &n1, double x0, double k, std::string name="Distance%1%")
 
Restraintcreate_internal_connectivity_restraint (const Selection &s, double k, std::string name="Connectivity%1%")
 
Restraintcreate_internal_connectivity_restraint (const Selection &s, double x0, double k, std::string name="Connectivity%1%")
 
double get_mass (const Selection &s)
 
double get_radius_of_gyration (const Selection &s)
 
double get_surface_area (const Selection &s)
 
double get_volume (const Selection &s)
 

Detailed Description

Select a part of an atom.Hiearchy or atom.Hierarchies that is identified by the biological name.

For example (in python)

Selection(hierarchy=h, molecule="myprotein", terminus=Selection.C)
Selection(hierarchy=h, molecule="myprotein", residue_index=133)
Selection(hierarchy=h, molecule="myprotein", residue_indexes=[(133,134)])

each get the C-terminus of the protein "myprotein" (assuming the last residue index is 133).

Note
Only representational particles are selected. That is, ones with x,y,z coordinates. And the highest resolution representation that fits is returned. If you want lower resolution, use the target_radius parameter to select the desired radius (pass a very large number to get the coarsest representation).

Definition at line 44 of file Selection.h.

Constructor & Destructor Documentation

IMP::atom::Selection::Selection ( Hierarchy  hierarchy = None,
Hierarchies  hierarchies = [],
Strings  molecules = [],
Ints  residue_indexes = [],
Strings  chains = [],
AtomTypes  atom_types = [],
ResidueTypes  residue_types = [],
Strings  domains = [],
double  target_radius = 0,
std::string  molecule = None,
int  residue_index = None,
char  chain = None,
AtomType  atom_type = None,
ResidueType  residue_type = None,
HierarchyType  hierarchy_type = None,
Terminus  terminus = None,
std::string  domain = None,
core::ParticleType  particle_type = None,
core::ParticleTypes  particle_types = [],
int  copy_index = -1,
Ints  copy_indexs = [] 
)

When using python, you have much more control over construction due to the use of keyword arguments. You can provide any subset of the arguments (although one of hierarchy or hierarchies must be provided).

Member Function Documentation

void IMP::atom::Selection::set_atom_type ( AtomType  types)

Select atoms with only the passed type.

Definition at line 162 of file Selection.h.

void IMP::atom::Selection::set_atom_types ( AtomTypes  types)

Select atoms whose types are in the list, eg AT_CA.

Definition at line 134 of file Selection.h.

void IMP::atom::Selection::set_chain ( char  c)

Select a chain with the passed id

Definition at line 154 of file Selection.h.

void IMP::atom::Selection::set_chains ( std::string  chains)

Select particles in chains whose id is in the passed string.

Definition at line 124 of file Selection.h.

void IMP::atom::Selection::set_copy_index ( unsigned int  copy)

Select elements with Copy::get_copy_index() that match.

Definition at line 174 of file Selection.h.

void IMP::atom::Selection::set_copy_indexes ( const Ints copies)

Select elements with Copy::get_copy_index() that are in the list.

Definition at line 178 of file Selection.h.

void IMP::atom::Selection::set_domain ( std::string  name)

Select only the single domain with that name

Definition at line 170 of file Selection.h.

void IMP::atom::Selection::set_domains ( Strings  names)

Select domains with the specificed names.

Definition at line 145 of file Selection.h.

void IMP::atom::Selection::set_hierarchy_types ( const Ints types)

Select only particles whose type matches the passed type, eg Molecule, Fragment, Residue etc. See GetByType for how to specify the types. Ints are used to make swig happy.

Definition at line 194 of file Selection.h.

void IMP::atom::Selection::set_molecule ( std::string  mol)

Select a molecule with the passed name.

Definition at line 150 of file Selection.h.

void IMP::atom::Selection::set_molecules ( Strings  mols)

Select based on the molecule name.

Definition at line 110 of file Selection.h.

void IMP::atom::Selection::set_particle_type ( core::ParticleType  t)

Select elements that match the core::ParticleType.

Definition at line 183 of file Selection.h.

void IMP::atom::Selection::set_particle_types ( core::ParticleTypes  t)

Select elements that match the core::ParticleType.

Definition at line 187 of file Selection.h.

void IMP::atom::Selection::set_residue_index ( int  i)

Select only residues with the passed index.

Definition at line 158 of file Selection.h.

void IMP::atom::Selection::set_residue_indexes ( Ints  indexes)

Select residues whose indexes are in the passed list.

Definition at line 129 of file Selection.h.

void IMP::atom::Selection::set_residue_type ( ResidueType  type)

Select only residues with the passed type.

Definition at line 166 of file Selection.h.

void IMP::atom::Selection::set_residue_types ( ResidueTypes  types)

Select residues whose types are in the list. Not sure why you would do this.

Definition at line 140 of file Selection.h.

void IMP::atom::Selection::set_target_radius ( double  r)

Select particles whose radii are close to r.

Definition at line 115 of file Selection.h.

void IMP::atom::Selection::set_terminus ( Terminus  t)

Select the n or c terminus.

Definition at line 119 of file Selection.h.

Friends And Related Function Documentation

Restraint * create_connectivity_restraint ( const Selections s,
double  k,
std::string  name = "Connectivity%1%" 
)
related

Create a restraint connecting the selections.

If one or more of the selections is a rigid body, this will be used to accelerate the computation.

Restraint * create_connectivity_restraint ( const Selections s,
double  x0,
double  k,
std::string  name = "Connectivity%1%" 
)
related

Create a restraint connecting the selections. The particles are allowed to be appart by x0 and still count as connected.

If one or more of the selections is a rigid body, this will be used to accelerate the computation.

core::XYZR create_cover ( const Selection s,
std::string  name = std::string() 
)
related

Create an XYZR particle which always includes the particles in the selection in its bounding volume. If all the particles in the selection are part of the same rigid body, then the created particle is added as part of that rigid body. Otherwise it uses an IMP::core::Cover to maintain the cover property.

Doing this can be a useful way to accelerate computations when it is OK to replace a potential complicated set of geometry represented by the selection with a much simpler one.

Restraint * create_distance_restraint ( const Selection n0,
const Selection n1,
double  x0,
double  k,
std::string  name = "Distance%1%" 
)
related

Create a distance restraint between the selections.

This restraint applies a harmonic to the minimum distance between a particle in selection n0 and a particle in selection n1.

If one or more of the selections is a rigid body, this will be used to accelerate the computation.

Restraint * create_internal_connectivity_restraint ( const Selection s,
double  k,
std::string  name = "Connectivity%1%" 
)
related

Create a restraint connecting the selection.

If one or more of the selections is a rigid body, this will be used to accelerate the computation.

Restraint * create_internal_connectivity_restraint ( const Selection s,
double  x0,
double  k,
std::string  name = "Connectivity%1%" 
)
related

Create a restraint connecting the selection. The particles are allowed to be appart by x0 and still count as connected.

If one or more of the selections is a rigid body, this will be used to accelerate the computation.

double get_mass ( const Selection s)
related

Get the total mass of a hierarchy. In daltons.

double get_surface_area ( const Selection s)
related

Get the total surface area of a hierarchy. In square angstroms. The get_surface_area requires CGAL in order to function.

double get_volume ( const Selection s)
related

Get the total volume of a hierarchy. In cubic angstroms. The get_volume requires CGAL in order to function.


The documentation for this class was generated from the following file: