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  Vertex_property
 Vertex property for the motif graph. More...
 

Public Types

typedef Structure::value_type Residue
 Representation of a molecular residue. More...
 
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 std::vector< Motif_graph_vertex > Motif_graph_part
 A part of a motif graph. More...
 
typedef std::map< Motif_graph_vertex, Motif_graph_vertex > Motif_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).

Member Typedef Documentation

◆ 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

◆ 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_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_pairings

typedef std::map<Motif_graph_vertex, 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...)