Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
T_Tertiary_quaternary_structure_annotator< ParticleTraits, MolecularSystemLabelTraits > Class Template Reference

Builds a graph representing the biochemical interactions between units of a protein. More...

#include <Tertiary_quaternary_structure_annotator.hpp>

Classes

class  Edge_label_writer
 Functor allowing to write two properties associated to a vertex or an edge into a dot file representing a graph. More...
class  Vertex_label_writer
 Functor allowing to write two properties associated to a vertex into a dot file representing a graph. More...

Public Types

typedef ParticleTraits::Molecular_system Molecular_system
 Representation of a molecular system of a protein.
typedef MolecularSystemLabelTraits::Primitive_label_classifier Primitive_label_classifier
 Functor returning the unit identifier associated to an atom.
typedef boost::property< boost::vertex_index_t, int, boost::property< boost::vertex_name_t, Vertex_rep, boost::property< boost::vertex_index1_t, int, boost::property< boost::vertex_index2_t, int > > > > Vertex_properties
 Attach the identifier of partners to the corresponding vertices in the interfaces graph.
typedef boost::property< boost::edge_name_t, Bond_rep_set, boost::property< boost::edge_weight_t, Bond_type > > Edge_properties
 Attach two weights (the number of contacts and the number of connected components) to the edges of the interfaces graph.
typedef boost::adjacency_list< boost::listS, boost::listS, boost::undirectedS, Vertex_properties, Edge_propertiesInterfaces_graph
 Representation of the interfaces graph, where vertices are labeled with an identifier, and edges are weighted with the number of c.c and the number of contacts.

Internal Methods

static void print (const Interfaces_graph &G, std::ostream &out)
 Prints the graph on dot format into an output stream.

Detailed Description

template<class ParticleTraits, class MolecularSystemLabelTraits>
class SBL::CSB::T_Tertiary_quaternary_structure_annotator< ParticleTraits, MolecularSystemLabelTraits >

Builds a graph representing the biochemical interactions between units of a protein.

Vertices are the units of the protein. Units are determined by the labels attached to all input particles. Edges link vertices if :

  • the units are sequentially linked in the input structure,
  • there is a disulfide bridge or a salt bridge between the two units.

When bridges involve gaps between the units, the gap is added as a vertex. Annotations are added to the vertices and edges :

  • for vertices, the total number of residues in the unit / gap, with the number of input residues in the unit / gap.
  • for sequential edges, if there is a gap that is not represented by a vertex, the interval of residues defining the gap.
  • for bridge edges, the nature of the bridges (S-S or S-B) and the number of bridges between the two involved units.
Template Parameters
ParticleTraitsTraits class defining geometric particle types endowed with labels.
MolecularSystemLabelTraitsTraits class defining a functor associating a label to a particle.

Member Typedef Documentation

◆ Edge_properties

template<class ParticleTraits, class MolecularSystemLabelTraits>
typedef boost::property<boost::edge_name_t, Bond_rep_set, boost::property<boost::edge_weight_t, Bond_type> > Edge_properties

Attach two weights (the number of contacts and the number of connected components) to the edges of the interfaces graph.

◆ Interfaces_graph

template<class ParticleTraits, class MolecularSystemLabelTraits>
typedef boost::adjacency_list<boost::listS, boost::listS, boost::undirectedS, Vertex_properties, Edge_properties> Interfaces_graph

Representation of the interfaces graph, where vertices are labeled with an identifier, and edges are weighted with the number of c.c and the number of contacts.

◆ Molecular_system

template<class ParticleTraits, class MolecularSystemLabelTraits>
typedef ParticleTraits::Molecular_system Molecular_system

Representation of a molecular system of a protein.

◆ Primitive_label_classifier

template<class ParticleTraits, class MolecularSystemLabelTraits>
typedef MolecularSystemLabelTraits::Primitive_label_classifier Primitive_label_classifier

Functor returning the unit identifier associated to an atom.

◆ Vertex_properties

template<class ParticleTraits, class MolecularSystemLabelTraits>
typedef boost::property<boost::vertex_index_t, int, boost::property<boost::vertex_name_t, Vertex_rep, boost::property<boost::vertex_index1_t, int, boost::property<boost::vertex_index2_t, int> > > > Vertex_properties

Attach the identifier of partners to the corresponding vertices in the interfaces graph.

Member Function Documentation

◆ print()

template<class ParticleTraits, class MolecularSystemLabelTraits>
void print ( const Interfaces_graph & G,
std::ostream & out )
inlinestatic

Prints the graph on dot format into an output stream.