Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
T_Molecular_interfaces_builder< ParticleWithSystemLabelTraits, MolecularModelClassifier > Class Template Reference

Construct all the primitive and hierarchical interfaces associated to a molecular model represented by an alpha-complex. More...

#include <Molecular_interfaces_builder.hpp>

Public Types

typedef Partner_labels_traits::Label Partner_label
 System's label associated to a partner.
typedef Mediator_labels_traits::Label Mediator_label
 System's label associated to a mediator.
typedef Molecular_interfaces_traits::Bicolor_interface Bicolor_interface
 Wrapper for a bicolor interface. It provides iterators and queries.
typedef Molecular_interfaces_traits::Mediated_interface Mediated_interface
 Wrapper for a mediated interface. It provides iterators and queries.
typedef Molecular_interfaces_traits::Tricolor_interface Tricolor_interface
 Wrapper for a tricolor interface. It provides iterators and queries.

Constructors

 T_Molecular_interfaces_builder (void)
 Default constructor, nothing is initialized.
 T_Molecular_interfaces_builder (Molecular_structure_classifier &classifier)
 Build the builder for the given alpha-complex.

Destructors

 ~T_Molecular_interfaces_builder (void)
 When constructed internaly, delete the alpha-complex.

Accessors

Bicolor_interface get_bicolor_interface (Partner_label partner_1, Partner_label partner_2)
 Access to the bicolor interface with labels (partner_1, partner_2).
Mediated_interface get_mediated_interface (Partner_label partner_1, Partner_label partner_2, Mediator_label mediator)
 Access to the mediated interface with labels (partner_1, partner_2, mediator).
Tricolor_interface get_tricolor_interface (Partner_label partner_1, Partner_label partner_2, Mediator_label mediator)
 Access to the tricolor interface with labels (partner_1, partner_2, mediator).

Detailed Description

template<class ParticleWithSystemLabelTraits, class MolecularModelClassifier = T_Molecular_geometric_model_classifier_for_alpha_complex <CSB::T_Alpha_complex_of_molecular_model<ParticleWithSystemLabelTraits> >>
class SBL::CSB::T_Molecular_interfaces_builder< ParticleWithSystemLabelTraits, MolecularModelClassifier >

Construct all the primitive and hierarchical interfaces associated to a molecular model represented by an alpha-complex.

Initialized with the alpha-complex of a molecular model, it first classify all the contacts of the primitive interfaces using the classifier. Then, it computes the primitive interfaces. Finally, accessors are provided for getting any kind of interfaces (primitive or hierarchical).

Template Parameters
MolecularStructureTraitsTraits class defining the alpha complex and molecular interfaces.
MolecularStructureClassifierTraits Traits class defining the alpha complex and molecular interfaces.

Member Typedef Documentation

◆ Bicolor_interface

template<class ParticleWithSystemLabelTraits, class MolecularModelClassifier = T_Molecular_geometric_model_classifier_for_alpha_complex <CSB::T_Alpha_complex_of_molecular_model<ParticleWithSystemLabelTraits> >>
typedef Molecular_interfaces_traits::Bicolor_interface Bicolor_interface

Wrapper for a bicolor interface. It provides iterators and queries.

◆ Mediated_interface

template<class ParticleWithSystemLabelTraits, class MolecularModelClassifier = T_Molecular_geometric_model_classifier_for_alpha_complex <CSB::T_Alpha_complex_of_molecular_model<ParticleWithSystemLabelTraits> >>
typedef Molecular_interfaces_traits::Mediated_interface Mediated_interface

Wrapper for a mediated interface. It provides iterators and queries.

◆ Mediator_label

template<class ParticleWithSystemLabelTraits, class MolecularModelClassifier = T_Molecular_geometric_model_classifier_for_alpha_complex <CSB::T_Alpha_complex_of_molecular_model<ParticleWithSystemLabelTraits> >>
typedef Mediator_labels_traits::Label Mediator_label

System's label associated to a mediator.

◆ Partner_label

template<class ParticleWithSystemLabelTraits, class MolecularModelClassifier = T_Molecular_geometric_model_classifier_for_alpha_complex <CSB::T_Alpha_complex_of_molecular_model<ParticleWithSystemLabelTraits> >>
typedef Partner_labels_traits::Label Partner_label

System's label associated to a partner.

◆ Tricolor_interface

template<class ParticleWithSystemLabelTraits, class MolecularModelClassifier = T_Molecular_geometric_model_classifier_for_alpha_complex <CSB::T_Alpha_complex_of_molecular_model<ParticleWithSystemLabelTraits> >>
typedef Molecular_interfaces_traits::Tricolor_interface Tricolor_interface

Wrapper for a tricolor interface. It provides iterators and queries.

Constructor & Destructor Documentation

◆ T_Molecular_interfaces_builder() [1/2]

template<class ParticleWithSystemLabelTraits, class MolecularModelClassifier>
T_Molecular_interfaces_builder ( void )
inline

Default constructor, nothing is initialized.

◆ T_Molecular_interfaces_builder() [2/2]

template<class ParticleWithSystemLabelTraits, class MolecularModelClassifier>
T_Molecular_interfaces_builder ( Molecular_structure_classifier & classifier)
inline

Build the builder for the given alpha-complex.

◆ ~T_Molecular_interfaces_builder()

template<class ParticleWithSystemLabelTraits, class MolecularModelClassifier>
~T_Molecular_interfaces_builder ( void )
inline

When constructed internaly, delete the alpha-complex.

Note that in this case, the interfaces data structures are invalidated

Member Function Documentation

◆ get_bicolor_interface()

template<class ParticleWithSystemLabelTraits, class MolecularModelClassifier>
T_Molecular_interfaces_builder< ParticleWithSystemLabelTraits, MolecularModelClassifier >::Bicolor_interface get_bicolor_interface ( Partner_label partner_1,
Partner_label partner_2 )
inline

Access to the bicolor interface with labels (partner_1, partner_2).

The cost of accessing this interface is the cost of constructing its connected components.

◆ get_mediated_interface()

template<class ParticleWithSystemLabelTraits, class MolecularModelClassifier>
T_Molecular_interfaces_builder< ParticleWithSystemLabelTraits, MolecularModelClassifier >::Mediated_interface get_mediated_interface ( Partner_label partner_1,
Partner_label partner_2,
Mediator_label mediator )
inline

Access to the mediated interface with labels (partner_1, partner_2, mediator).

The cost of accessing this interface is the cost of constructing its connected components.

◆ get_tricolor_interface()

template<class ParticleWithSystemLabelTraits, class MolecularModelClassifier>
T_Molecular_interfaces_builder< ParticleWithSystemLabelTraits, MolecularModelClassifier >::Tricolor_interface get_tricolor_interface ( Partner_label partner_1,
Partner_label partner_2,
Mediator_label mediator )
inline

Access to the tricolor interface with labels (partner_1, partner_2, mediator).

The cost of accessing this interface is the cost of constructing its connected components.