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

struct  Bond_rep
 
struct  Bond_rep_set
 
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...
 
struct  Vertex_rep
 

Public Types

enum  Bond_type {
  COVALENT_BOND , MISSING_BOND , SS_BOND , SALT_BRIDGE ,
  NONE_BOND
}
 
enum  Vertex_type { SUBDOMAIN_TYPE , GAP_TYPE , NONE_TYPE }
 
typedef T_Tertiary_quaternary_structure_annotator< ParticleTraits, MolecularSystemLabelTraits > Self
 
typedef ParticleTraits::Molecular_system Molecular_system
 Representation of a molecular system of a protein in ESBTL. More...
 
typedef Molecular_system::Model Molecular_model
 
typedef MolecularSystemLabelTraits::Primitive_label_classifier Primitive_label_classifier
 Functor returning the unit identifier associated to an atom. More...
 
typedef SBL::CSB::T_Salt_bridges_finder< ParticleTraits > Salt_bridges_finder
 
typedef SBL::CSB::T_Disulfide_bonds_finder< ParticleTraits > Disulfide_bonds_finder
 
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. More...
 
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. More...
 
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. More...
 

Functor

Interfaces_graph operator() (const Molecular_model &model, bool internal=false) const
 

Internal Methods

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

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

◆ Disulfide_bonds_finder

◆ Edge_properties

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

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_model

typedef Molecular_system::Model Molecular_model

◆ Molecular_system

typedef ParticleTraits::Molecular_system Molecular_system

Representation of a molecular system of a protein in ESBTL.

◆ Primitive_label_classifier

typedef MolecularSystemLabelTraits::Primitive_label_classifier Primitive_label_classifier

Functor returning the unit identifier associated to an atom.

◆ Salt_bridges_finder

◆ Self

typedef T_Tertiary_quaternary_structure_annotator<ParticleTraits, MolecularSystemLabelTraits> Self

◆ Vertex_properties

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 Enumeration Documentation

◆ Bond_type

enum Bond_type
Enumerator
COVALENT_BOND 
MISSING_BOND 
SS_BOND 
SALT_BRIDGE 
NONE_BOND 

◆ Vertex_type

Enumerator
SUBDOMAIN_TYPE 
GAP_TYPE 
NONE_TYPE 

Member Function Documentation

◆ operator()()

T_Tertiary_quaternary_structure_annotator< ParticleTraits, MolecularSystemLabelTraits >::Interfaces_graph operator() ( const Molecular_model model,
bool  internal = false 
) const
inline

◆ print()

void print ( const Interfaces_graph G,
std::ostream &  out 
)
inlinestatic

Prints the graph on dot format into an output stream.