Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
T_Alpha_complex_of_molecular_model_module< ModuleTraits > Class Template Reference

Module building the alpha-complex of an input set of particles. Module building the alpha-complex of an input set of particles. More...

#include "Alpha_complex_of_molecular_model_module.hpp"

Static Public Member Functions

static boost::program_options::options_description *& get_options (void)
 Access to the options' description of the module. More...
 

Traits Requirements

typedef ModuleTraits::Particles_container Particles_container
 Representation of the input collection of particles. More...
 
typedef ModuleTraits::Alpha_complex Alpha_complex
 Representation of the output $\alpha$-complex. More...
 

Other Types

typedef Alpha_complex::Triangulation Triangulation
 Underlaying triangulation of the $\alpha$-complex. More...
 

Input Accessors

Particles_container *& get_particles (void)
 Reference to the input particles container. More...
 
Triangulationget_triangulation (void)
 Reference to the underlying triangulation of the output $\alpha$-complex. More...
 

Output Accessors

const Alpha_complexget_alpha_complex (void) const
 Const reference to the output $\alpha$-complex. More...
 
Alpha_complexget_alpha_complex (void)
 Reference to the output $\alpha$-complex. More...
 

Mandatory Requirements

void run (unsigned verbose, std::ostream &out) override
 Runs the module following the input options. More...
 
bool is_runnable (void) const override
 Checks that all the input options were set. More...
 
void statistics (std::ostream &out) override
 Reports high-level statistics on the module. More...
 
std::string get_name (void) const override
 Returns the name of the package. More...
 

Optional Requirements

boost::program_options::options_description add_options (void) override
 Virtual method for adding options to the module. More...
 
bool check_options (std::string &message) const override
 Checks that the input options' values are coherent. More...
 
std::string get_output_prefix (void) const override
 Returns a prefix that concatains the input line options used when running the module. More...
 
void report (const std::string &prefix) override
 Reports the output and statistics in output files. More...
 

Modules Management

void set_module_instance_name (const std::string &module_instance_name)
 Sets a name for this instance of this module. In particular, it will be used in the prefix of output files generated by a collection of modules. More...
 
const std::string & get_module_instance_name (void) const
 Get the name of this instance of this module. More...
 
void set_report_mode (std::ios_base::openmode report_mode)
 Set a report mode, that is open or append modes. More...
 
void set_report_mode (std::ios_base::openmode &report_mode)
 Set a report mode, that is open or append modes. More...
 
const std::ios_base::openmode get_report_mode (void) const
 Get the report mode to be used when reporting. More...
 

Optional Requirements

void check_filesystem_directory_exists (const std::string &output_prefix)
 To avoid later crash: check filesystem / existence of directory / directory exists. More...
 

Others

template<class Self_ >
Self_ * clone (const Self_ *s) const
 Clones the object using the copy constructor. More...
 
virtual bool is_logical_module (void) const
 Checks that this module defines a logical operator. More...
 
virtual bool is_condition_module (void) const
 Checks that this module defines a condition operator. More...
 
virtual bool operator() (void)
 Only for condition modules, for returning the predicate value. More...
 
virtual bool is_modules_collection (void) const
 Checks that this module defines a collection of modules. More...
 

Detailed Description

template<class ModuleTraits>
class SBL::Modules::T_Alpha_complex_of_molecular_model_module< ModuleTraits >

Module building the alpha-complex of an input set of particles. Module building the alpha-complex of an input set of particles.

It is designed such that the input can be either a collection of 3D spheres representing the particles, or a collection of particles with the type derived from ParticleTraits, depending on the type of the output $\alpha$-complex:

  • Alpha_shape_3 or Fixed_alpha_shape_3 : the input is a collection of particles represented by weighted points (Weighted_point), that is a 3D point (the center of a particle represented as a 3D sphere) with an associated weight (the squared radius of the 3D sphere).

The input collection of particles can be set using the method T_Alpha_complex_of_molecular_model_module::get_particles, that return a reference over the container of particles. Note also that the 3D triangulation underlying the output $\alpha$-complex can be parametrized using the method T_Alpha_complex_of_molecular_model_module::get_triangulation. This is particularly useful when an additional radius has to be set to all the particles when using the class SBL::CSB::T_Alpha_complex_of_molecular_model, for example in the case of the Solvent Accessible Model,solvent accessible model.

Template Parameters
ModuleTraitsTraits class defining the types T_Alpha_complex_of_molecular_model_module::Alpha_complex and T_Alpha_complex_of_molecular_model_module::Particles_container.

Member Typedef Documentation

◆ Alpha_complex

typedef ModuleTraits::Alpha_complex Alpha_complex

Representation of the output $\alpha$-complex.

Its type is partially determined by the type of particles:

◆ Particles_container

typedef ModuleTraits::Particles_container Particles_container

Representation of the input collection of particles.

It could be any of the stl container having the begin(), end() and size() methods. The value type of the elements of the container is the particle type and can be either:

◆ Triangulation

typedef Alpha_complex::Triangulation Triangulation

Underlaying triangulation of the $\alpha$-complex.

Member Function Documentation

◆ add_options()

boost::program_options::options_description add_options ( void  )
inlineoverridevirtual

Virtual method for adding options to the module.

Reimplemented from T_Module_option_description< Dummy >.

◆ check_filesystem_directory_exists()

void check_filesystem_directory_exists ( const std::string &  output_prefix)
inlineinherited

To avoid later crash: check filesystem / existence of directory / directory exists.

◆ check_options()

bool check_options ( std::string &  message) const
inlineoverridevirtual

Checks that the input options' values are coherent.

Reimplemented from T_Module_option_description< Dummy >.

◆ clone()

Self_* clone ( const Self_ *  s) const
inlineinherited

Clones the object using the copy constructor.

◆ get_alpha_complex() [1/2]

T_Alpha_complex_of_molecular_model_module< ModuleTraits >::Alpha_complex & get_alpha_complex ( void  )
inline

Reference to the output $\alpha$-complex.

◆ get_alpha_complex() [2/2]

const T_Alpha_complex_of_molecular_model_module< ModuleTraits >::Alpha_complex & get_alpha_complex ( void  ) const
inline

Const reference to the output $\alpha$-complex.

◆ get_module_instance_name()

const std::string& get_module_instance_name ( void  ) const
inlineinherited

Get the name of this instance of this module.

◆ get_name()

std::string get_name ( void  ) const
inlineoverridevirtual

Returns the name of the package.

Reimplemented from Module_base.

◆ get_options()

static boost::program_options::options_description*& get_options ( void  )
inlinestaticinherited

Access to the options' description of the module.

◆ get_output_prefix()

std::string get_output_prefix ( void  ) const
inlineoverridevirtual

Returns a prefix that concatains the input line options used when running the module.

Reimplemented from T_Module_option_description< Dummy >.

◆ get_particles()

T_Alpha_complex_of_molecular_model_module< ModuleTraits >::Particles_container *& get_particles ( void  )
inline

Reference to the input particles container.

◆ get_report_mode()

const std::ios_base::openmode get_report_mode ( void  ) const
inlineinherited

Get the report mode to be used when reporting.

◆ get_triangulation()

T_Alpha_complex_of_molecular_model_module< ModuleTraits >::Triangulation & get_triangulation ( void  )
inline

Reference to the underlying triangulation of the output $\alpha$-complex.

◆ is_condition_module()

virtual bool is_condition_module ( void  ) const
inlineprotectedvirtualinherited

Checks that this module defines a condition operator.

◆ is_logical_module()

virtual bool is_logical_module ( void  ) const
inlineprotectedvirtualinherited

Checks that this module defines a logical operator.

◆ is_modules_collection()

virtual bool is_modules_collection ( void  ) const
inlineprotectedvirtualinherited

Checks that this module defines a collection of modules.

◆ is_runnable()

bool is_runnable ( void  ) const
inlineoverridevirtual

Checks that all the input options were set.

Reimplemented from Module_base.

◆ operator()()

virtual bool operator() ( void  )
inlineprotectedvirtualinherited

Only for condition modules, for returning the predicate value.

◆ report()

void report ( const std::string &  prefix)
inlineoverridevirtual

Reports the output and statistics in output files.

Reimplemented from Module_base.

◆ run()

void run ( unsigned  verbose,
std::ostream &  out 
)
inlineoverridevirtual

Runs the module following the input options.

Implements Module_base.

◆ set_module_instance_name()

void set_module_instance_name ( const std::string &  module_instance_name)
inlineinherited

Sets a name for this instance of this module. In particular, it will be used in the prefix of output files generated by a collection of modules.

◆ set_report_mode() [1/2]

void set_report_mode ( std::ios_base::openmode &  report_mode)
inlineinherited

Set a report mode, that is open or append modes.

◆ set_report_mode() [2/2]

void set_report_mode ( std::ios_base::openmode  report_mode)
inlineinherited

Set a report mode, that is open or append modes.

◆ statistics()

void statistics ( std::ostream &  out)
inlineoverridevirtual

Reports high-level statistics on the module.

Reimplemented from Module_base.