Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
T_RMSD_comb_edge_weighted< Structure, MolecularDistance > Class Template Reference

Given a set of motifs instantiates the motif graph and computes the associated combined RMSD. More...

#include <RMSD_comb_edge_weighted.hpp>

Classes

struct  Component_statistics
 
struct  Vertex_property
 Vertex property for the motif graph. More...
 

Public Types

typedef MolecularDistance Molecular_distance
 
typedef T_RMSD_comb_edge_weighted< Structure, Molecular_distanceSelf
 
typedef std::pair< int, int > Aligned_pair
 
typedef double Score_type
 
typedef std::pair< Score_type, Aligned_pairSeed_pair
 
typedef std::vector< Seed_pairSeed_type
 
typedef std::vector< Seed_type >::iterator Seed_iterator
 
typedef Structure::value_type Residue
 Representation of a molecular residue. More...
 
typedef Molecular_distance::Point Conformation
 
typedef Molecular_distance::Conformation_traits Conformation_traits
 
typedef boost::property< boost::edge_weight_t, int > Edge_weight_property
 The weight for the motif graph edges. More...
 
typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::undirectedS, Vertex_property, Edge_weight_propertyMotif_graph
 The so called Motif_graph. More...
 
typedef boost::graph_traits< Motif_graph >::vertex_descriptor Motif_graph_vertex
 
typedef boost::graph_traits< Motif_graph >::edge_descriptor Motif_graph_edge
 
typedef boost::property_map< Motif_graph, boost::edge_weight_t >::type Edge_weight_map
 
typedef std::vector< Motif_graph_vertexMotif_graph_part
 A part of a motif graph. More...
 
typedef std::map< Motif_graph_vertex, Motif_graph_vertexMotif_pairings
 A map keeping track of the motif pairings. More...
 

Internal Methods

unsigned get_num_components ()
 
void statistics (std::ostream &out)
 
void add_structural_motif (Structure *motif_one, Structure *motif_two)
 
double compute_distance (void)
 
template<class Archive >
void serialize (Archive &ar, const unsigned BOOST_PFTO int version)
 
template<class OutputIterator >
void get_all_motifs (OutputIterator out)
 
template<class OutputIterator >
void get_component_motifs (unsigned i, OutputIterator out)
 

Detailed Description

template<class Structure, class MolecularDistance>
class SBL::CSB::T_RMSD_comb_edge_weighted< Structure, MolecularDistance >

Given a set of motifs instantiates the motif graph and computes the associated combined RMSD.

Uses a boost graph for encoding the motif graph. The vertex properties allow a mapping from a vertex to its associated motif and graph part.

Template Parameters
StructureRepresentation of a molecular structure. Basically a vector of residues.
MolecularDistanceModel of the distance between two structures. Typically the lRMSD.

Class Documentation

◆ SBL::CSB::T_RMSD_comb_edge_weighted::Vertex_property

struct SBL::CSB::T_RMSD_comb_edge_weighted::Vertex_property

template<class Structure, class MolecularDistance>
struct SBL::CSB::T_RMSD_comb_edge_weighted< Structure, MolecularDistance >::Vertex_property

Vertex property for the motif graph.

Contains a part identifier (to determine which structure the motif is from) as well as a Structure (containing the structural motif associated with the vertex).

Class Members
unsigned part
Structure * structural_motif

Member Typedef Documentation

◆ Aligned_pair

typedef std::pair<int, int> Aligned_pair

◆ Conformation

typedef Molecular_distance::Point Conformation

◆ Conformation_traits

typedef Molecular_distance::Conformation_traits Conformation_traits

◆ Edge_weight_map

typedef boost::property_map<Motif_graph, boost::edge_weight_t>::type Edge_weight_map

◆ Edge_weight_property

typedef boost::property<boost::edge_weight_t, int> Edge_weight_property

The weight for the motif graph edges.

An integer which represents the size of the intersection between two different motifs

◆ Molecular_distance

typedef MolecularDistance Molecular_distance

◆ Motif_graph

typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, Vertex_property, Edge_weight_property> Motif_graph

The so called Motif_graph.

Implemented with boost graph. The Motif_graph is a 2-colored edge weighted graph. Each color represents a structure. The edge weights correspond to the size of the intersection between two motifs.

◆ Motif_graph_edge

typedef boost::graph_traits<Motif_graph>::edge_descriptor Motif_graph_edge

◆ Motif_graph_part

typedef std::vector<Motif_graph_vertex> Motif_graph_part

A part of a motif graph.

Here we refer to the set of vertices associated to a color (or one of the two structures) as a graph part.

◆ Motif_graph_vertex

typedef boost::graph_traits<Motif_graph>::vertex_descriptor Motif_graph_vertex

◆ Motif_pairings

A map keeping track of the motif pairings.

We use this structure to ease the access of pairs of motifs which were found together.

◆ Residue

typedef Structure::value_type Residue

Representation of a molecular residue.

Must provide access to all residue information, notably an iterator over its atoms and all the usual information (i.e. residue name, sequence number...)

◆ Score_type

typedef double Score_type

◆ Seed_iterator

typedef std::vector<Seed_type>::iterator Seed_iterator

◆ Seed_pair

typedef std::pair<Score_type, Aligned_pair> Seed_pair

◆ Seed_type

typedef std::vector<Seed_pair> Seed_type

◆ Self

Member Function Documentation

◆ add_structural_motif()

void add_structural_motif ( Structure *  motif_one,
Structure *  motif_two 
)
inline

◆ compute_distance()

double compute_distance ( void  )
inline

◆ get_all_motifs()

void get_all_motifs ( OutputIterator  out)
inline

◆ get_component_motifs()

void get_component_motifs ( unsigned  i,
OutputIterator  out 
)
inline

◆ get_num_components()

unsigned get_num_components ( )
inline

◆ serialize()

void serialize ( Archive &  ar,
const unsigned BOOST_PFTO int  version 
)
inline

◆ statistics()

void statistics ( std::ostream &  out)
inline