![]() |
Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
|
Representation of the covalent structure of a molecular conformation. More...
#include <Molecular_covalent_structure.hpp>
Predicates | |
bool | are_1_2 (Particle_rep p, Particle_rep q) const |
Check that p and q share a bond. More... | |
bool | are_1_3 (Particle_rep p, Particle_rep q) const |
Check that p and q an incident particle. More... | |
bool | are_1_4 (Particle_rep p, Particle_rep q) const |
Check that p and q share a common incident bond. More... | |
Accessors | |
const Covalent_structure_graph & | get_graph (void) const |
Covalent_structure_graph & | get_graph (void) |
unsigned | get_number_of_particles (void) const |
unsigned | get_number_of_modeled_particles (void) const |
unsigned | get_number_of_embedded_particles (void) const |
bool | is_fully_embedded (void) const |
unsigned | get_number_of_bonds (void) const |
unsigned | get_number_of_modeled_bonds (void) const |
unsigned | get_number_of_embedded_bonds (void) const |
std::pair< Particle_rep, Particle_rep > | get_particles (Bond_rep b) const |
Bond_rep | get_bond (Bond_angle_rep b, unsigned i) const |
Get the (i+1)-th bond from a bond angle, with i = 0 or 1. More... | |
Bond_rep | get_bond (Torsion_angle_rep b, unsigned i) const |
Get the (i+1)-th bond from a torsion angle, with i = 0,1 or 2. More... | |
Particle_rep | get_particle_rep (Bond_rep b, unsigned i) const |
Get the (i+1)-th particle from a bond, with i = 0 or 1. More... | |
Particle_rep | get_particle_rep (Bond_angle_rep b, unsigned i) const |
Get the (i+1)-th particle from a bond angle, with i = 0,1 or 2. More... | |
Particle_rep | get_particle_rep (Torsion_angle_rep b, unsigned i) const |
Get the (i+1)-th particle from a torsion angle, with i = 0, 1, 2 or 3. More... | |
std::pair< bool, Bond_rep > | get_bond_rep (Particle_rep p, Particle_rep q) const |
Get the bond represented by the two input particles, if any. More... | |
Bond_rep | get_mirror_bond_rep (Bond_rep u) const |
std::pair< bool, Bond_angle_rep > | get_bond_angle_rep (Bond_rep b_1, Bond_rep b_2) const |
std::pair< bool, Torsion_angle_rep > | get_torsion_angle_rep (Bond_rep b_1, Bond_rep b_2, Bond_rep b_3) const |
Bond_rep | get_canonical_rep (Bond_rep b) const |
Return the bond such that the smallest vertex index is first. More... | |
Bond_angle_rep | get_canonical_rep (Bond_angle_rep a) const |
Return the bond angle such that the smallest vertex index is first – out of the first and third vertices. More... | |
Torsion_angle_rep | get_canonical_rep (Torsion_angle_rep a) const |
If a proper angle: second and third vertices sorted; if improper angle: central atom first, remaining three sorted. More... | |
std::pair< bool, Particle_rep > | find_particle (const Particle_info &info) const |
bool | has_model (Particle_rep p) const |
bool | is_embedded (Particle_rep p) const |
int | get_particle_linearPosition (Particle_rep p) const |
template<class Conformation > | |
const SBL::CSB::T_Conformation_traits< Conformation >::FT & | get_x (const Conformation &C, Particle_rep p) const |
template<class Conformation > | |
SBL::CSB::T_Conformation_traits< Conformation >::FT & | get_x (Conformation &C, Particle_rep p) const |
template<class Conformation > | |
const SBL::CSB::T_Conformation_traits< Conformation >::FT & | get_y (const Conformation &C, Particle_rep p) const |
template<class Conformation > | |
SBL::CSB::T_Conformation_traits< Conformation >::FT & | get_y (Conformation &C, Particle_rep p) const |
template<class Conformation > | |
const SBL::CSB::T_Conformation_traits< Conformation >::FT & | get_z (const Conformation &C, Particle_rep p) const |
template<class Conformation > | |
SBL::CSB::T_Conformation_traits< Conformation >::FT & | get_z (Conformation &C, Particle_rep p) const |
Modifiers | |
Particle_rep | add_particle (const Particle_info &info) |
Add a new particle in the covalent structure corresponding to the ith particle in a given conformation of the molecule. More... | |
void | remove_particle (Particle_rep rep) |
std::pair< Bond_rep, bool > | add_bond (Particle_rep p, Particle_rep q, Bond_type bond_type=SIMPLE_BOND) |
Add a new bond to the covalent structure. More... | |
std::pair< bool, Torsion_angle_rep > | add_improper_constraint (Particle_rep p, Particle_rep q, Particle_rep r, Particle_rep s) |
void | set_particle_position (Particle_rep p, int position) |
Traversal | |
Particles_iterator | particles_begin (bool is_embedded=true) const |
Provides an iterator (on embedded or not particles. More... | |
Particles_iterator | particles_end (bool is_embedded=true) const |
Bonds_iterator | bonds_begin (bool is_embedded=true) const |
Bonds_iterator | bonds_end (bool is_embedded=true) const |
Incident_bonds_iterator | incident_bonds_begin (Particle_rep p, bool is_embedded=true) const |
Incident_bonds_iterator | incident_bonds_end (Particle_rep p, bool is_embedded=true) const |
Bond_angles_iterator | bond_angles_begin (bool is_embedded=true) const |
Iterate over the bond angles (u, v, w) so that u and v are the largest indices lower than w such that (u, v) and (v, w) are bonds. More... | |
Bond_angles_iterator | bond_angles_end (bool is_embedded=true) const |
Iterate over the bond angles (u, v, w) so that u and v are the largest indices lower than w such that (u, v) and (v, w) are bonds. More... | |
Dihedral_angles_iterator | dihedral_angles_begin (bool is_embedded=true) const |
Iterate over the torsion angles (u, v, w, t) so that u, v and w are the largest indices lower than t such that (u, v), (v, w) and (w, t) are bonds. More... | |
Dihedral_angles_iterator | dihedral_angles_end (bool is_embedded=true) const |
Iterate over the torsion angles (u, v, w, t) so that u, v and w are the largest indices lower than t such that (u, v), (v, w) and (w, t) are bonds. More... | |
Improper_angles_iterator | improper_angles_begin (bool is_embedded=true) const |
Iterate over the torsion angles (u, v, w, t) so that (u, v), (u, w) and (u, t) are bonds. More... | |
Improper_angles_iterator | improper_angles_end (bool is_embedded=true) const |
Iterate over the torsion angles (u, v, w, t) so that (u, v), (u, w) and (u, t) are bonds. More... | |
Subgraphs | |
template<class OutputIterator > | |
OutputIterator | get_molecules (OutputIterator out) const |
Computes the connected components of this graph and returns one vertex for each connected component. More... | |
template<class OutputIterator > | |
OutputIterator | get_particles_in_molecule (Particle_rep p, OutputIterator out) const |
Returns the ensemble of particles in the same molecule (i.e connected component) as p. More... | |
template<class InputIterator > | |
Self & | get_sub_structure (InputIterator begin, InputIterator end, Self &S) |
Builds a new covalent structure containing only the particles in the input range; note that no new copy of the information is created, and modifying the underlying graph of one covalent structure affects the other one. More... | |
Self & | get_molecule (Particle_rep p, Self &S) |
Creates a new covalent structure containing only the particles of the molecule (connected component) containing p. More... | |
void | get_chain (char chain_id, Self &S) |
Creates a new covalent structure in S, containing only the particles of the chain with chain_id. More... | |
std::ostream & | print (std::ostream &out) const |
Representation of the covalent structure of a molecular conformation.
It uses a boost graph for encoding that covalent structure and offers the possibility to access internal and cartesian coordinates of the structure.
ParticleInfo | Information to attached to the particle (default is a simple string). It should be comparable (less operator) and streamable. |
|
inline |
Add a new bond to the covalent structure.
|
inline |
Add a new particle in the covalent structure corresponding to the ith particle in a given conformation of the molecule.
|
inline |
Check that p and q share a bond.
Check a particle indentified by the Particle_rep p and a particle identified by the Particle_rep q share a bond.
|
inline |
Check that p and q an incident particle.
Check a particle indentified by the Particle_rep p and a particle identified by the Particle_rep q share an incident particle.
|
inline |
Check that p and q share a common incident bond.
Check a particle indentified by the Particle_rep p and a particle identified by the Particle_rep q share a common incident bond.
|
inline |
Iterate over the bond angles (u, v, w) so that u and v are the largest indices lower than w such that (u, v) and (v, w) are bonds.
|
inline |
Iterate over the bond angles (u, v, w) so that u and v are the largest indices lower than w such that (u, v) and (v, w) are bonds.
|
inline |
Iterate over the torsion angles (u, v, w, t) so that u, v and w are the largest indices lower than t such that (u, v), (v, w) and (w, t) are bonds.
|
inline |
Iterate over the torsion angles (u, v, w, t) so that u, v and w are the largest indices lower than t such that (u, v), (v, w) and (w, t) are bonds.
|
inline |
Get the (i+1)-th bond from a bond angle, with i = 0 or 1.
|
inline |
Get the (i+1)-th bond from a torsion angle, with i = 0,1 or 2.
|
inline |
Get the bond represented by the two input particles, if any.
|
inline |
Return the bond angle such that the smallest vertex index is first – out of the first and third vertices.
|
inline |
Return the bond such that the smallest vertex index is first.
|
inline |
If a proper angle: second and third vertices sorted; if improper angle: central atom first, remaining three sorted.
void get_chain | ( | char | chain_id, |
Self & | S | ||
) |
Creates a new covalent structure in S, containing only the particles of the chain with chain_id.
|
inline |
Creates a new covalent structure containing only the particles of the molecule (connected component) containing p.
|
inline |
Computes the connected components of this graph and returns one vertex for each connected component.
|
inline |
|
inline |
/brief Provides the total number of particles /details Returns the total number of particles in the graph (its number of vertices) /returns an unsigned in counting the total number of particles in the graph
|
inline |
Get the (i+1)-th particle from a bond angle, with i = 0,1 or 2.
|
inline |
Get the (i+1)-th particle from a bond, with i = 0 or 1.
|
inline |
Get the (i+1)-th particle from a torsion angle, with i = 0, 1, 2 or 3.
|
inline |
Returns the ensemble of particles in the same molecule (i.e connected component) as p.
Builds a new covalent structure containing only the particles in the input range; note that no new copy of the information is created, and modifying the underlying graph of one covalent structure affects the other one.
|
inline |
Iterate over the torsion angles (u, v, w, t) so that (u, v), (u, w) and (u, t) are bonds.
|
inline |
Iterate over the torsion angles (u, v, w, t) so that (u, v), (u, w) and (u, t) are bonds.
|
inline |
Provides an iterator (on embedded or not particles.
If embedded is set to true, only the particleRep of embedded particles are
std::ostream & print | ( | std::ostream & | out | ) | const |
/brief Writes to "out" the Molecular_covalent_structure in the graphviz format