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>

Internal Public Types

typedef CSB::T_Molecular_structure_traits< ParticleWithSystemLabelTraits, typename MolecularModelClassifier::Molecular_model > Molecular_structure_traits
 
typedef CSB::T_Molecular_structure_classifier< ParticleWithSystemLabelTraits, MolecularModelClassifier > Molecular_structure_classifier
 
typedef Molecular_structure_traits::Partner_labels_traits Partner_labels_traits
 
typedef Molecular_structure_traits::Mediator_labels_traits Mediator_labels_traits
 
typedef T_Molecular_interfaces_traits< ParticleWithSystemLabelTraits, typename MolecularModelClassifier::Molecular_model > Molecular_interfaces_traits
 
typedef Molecular_interfaces_traits::Molecular_interface_connected_component_data_structure Molecular_interface_connected_component
 

Public Types

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

Constructors

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

Destructors

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

Accessors

const Molecular_structure_classifierget_structure_classifier (void) const
 
Bicolor_interface get_bicolor_interface (Partner_label partner_1, Partner_label partner_2)
 Access to the bicolor interface with labels (partner_1, partner_2). More...
 
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). More...
 
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). More...
 

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

typedef Molecular_interfaces_traits:: Bicolor_interface Bicolor_interface

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

◆ Mediated_interface

typedef Molecular_interfaces_traits:: Mediated_interface Mediated_interface

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

◆ Mediator_label

typedef Mediator_labels_traits::Label Mediator_label

System's label associated to a mediator.

◆ Mediator_labels_traits

◆ Molecular_interface_connected_component

typedef Molecular_interfaces_traits:: Molecular_interface_connected_component_data_structure Molecular_interface_connected_component

◆ Molecular_interfaces_traits

typedef T_Molecular_interfaces_traits<ParticleWithSystemLabelTraits, typename MolecularModelClassifier::Molecular_model> Molecular_interfaces_traits

◆ Molecular_structure_classifier

typedef CSB::T_Molecular_structure_classifier<ParticleWithSystemLabelTraits, MolecularModelClassifier> Molecular_structure_classifier

◆ Molecular_structure_traits

typedef CSB::T_Molecular_structure_traits<ParticleWithSystemLabelTraits, typename MolecularModelClassifier::Molecular_model> Molecular_structure_traits

◆ Partner_label

typedef Partner_labels_traits::Label Partner_label

System's label associated to a partner.

◆ Partner_labels_traits

◆ Tricolor_interface

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]

T_Molecular_interfaces_builder ( void  )
inline

Default constructor, nothing is initialized.

◆ T_Molecular_interfaces_builder() [2/2]

Build the builder for the given alpha-complex.

◆ ~T_Molecular_interfaces_builder()

~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()

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()

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_structure_classifier()

const T_Molecular_interfaces_builder< ParticleWithSystemLabelTraits, MolecularModelClassifier >::Molecular_structure_classifier & get_structure_classifier ( void  ) const
inline

◆ get_tricolor_interface()

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.