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

Application's module instantiating the eartyh mover distance algorithm. More...

#include <Earth_mover_distance_module.hpp>

Classes

struct  Transportation_plans
 

Public Types

typedef T_Earth_mover_distance_module< ModuleTraits > Self
 
typedef SBL::Modules::Module_base Base
 

Public Member Functions

virtual bool check_options (std::string &message) const
 Checks that the input options' values are coherent. More...
 

Static Public Member Functions

static boost::program_options::options_description *& get_options (void)
 Access to the options' description of the module. More...
 
static bool has_options (void)
 
static void delete_options (void)
 
static void initialize_options (const std::string &caption)
 

Traits Requirements

typedef ModuleTraits::EMD_distance EMD_distance
 
typedef ModuleTraits::EMD_vertices_accessor EMD_vertices_accessor
 
typedef EMD_vertices_accessor::Vertices_container Vertices_container
 
typedef EMD_vertices_accessor::Vertex_rep Vertex_rep
 
typedef EMD_vertices_accessor::Index_type Index_type
 
typedef EMD_vertices_accessor::Vertices_iterator Vertices_iterator
 

Output Types

typedef SBL::CADS::T_Earth_mover_distance< EMD_vertices_accessor, EMD_distanceEMD_WCC_engine
 
typedef SBL::CADS::T_Earth_mover_distance_with_connectivity_constraints< EMD_vertices_accessor, EMD_distanceEMD_CC_engine
 
typedef EMD_WCC_engine::Transportation_plan Transportation_plan
 
typedef EMD_CC_engine::Transportation_plan Transportation_plan_with_cc
 
typedef SBL::CADS::T_Earth_mover_distance_connectivity_constraints_checker< EMD_WCC_engineEarth_mover_distance_checker
 

Constructors

 T_Earth_mover_distance_module (void)
 Constructs the module. More...
 
 T_Earth_mover_distance_module (const Self &other)
 Constructs the module. More...
 

Input Accessors

Vertices_container *& get_source (void)
 
Vertices_container *& get_demand (void)
 

Output Accessors

const Transportation_plansget_transportation_plans (void) const
 Const access to the transportation plans. More...
 
Transportation_plansget_transportation_plans (void)
 Access to the transportation plans. More...
 

Mandatory Requirements

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

Optional Requirements


std::string get_output_prefix (void) const
 Returns a prefix that concatains the input line options used when running the module. More...
 
void report (const std::string &prefix)
 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...
 

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_Earth_mover_distance_module< ModuleTraits >

Application's module instantiating the eartyh mover distance algorithm.

Application's module instantiating the eartyh mover distance algorithm.

Template Parameters
ModuleTraitsTraits class defining the types required by this module : the EMD_distance parameter is a distance functor between two input points, and the EMD_vertices_accessor is a class defining accessors for the vertices of the input data structures (see SBL::CADS::T_Earth_mover_distance_vertices_accessor_vector or SBL::CADS::T_Earth_mover_distance_vertices_accessor_graph).

Class Documentation

◆ SBL::Modules::T_Earth_mover_distance_module::Transportation_plans

struct SBL::Modules::T_Earth_mover_distance_module::Transportation_plans

template<class ModuleTraits>
struct SBL::Modules::T_Earth_mover_distance_module< ModuleTraits >::Transportation_plans

Class Members
Transportation_plan_with_cc cc
Transportation_plan_with_cc cc_sym
Transportation_plan wcc
Transportation_plan wcc_sym

Member Typedef Documentation

◆ Base

◆ Earth_mover_distance_checker

◆ EMD_CC_engine

◆ EMD_distance

typedef ModuleTraits::EMD_distance EMD_distance

◆ EMD_vertices_accessor

typedef ModuleTraits::EMD_vertices_accessor EMD_vertices_accessor

◆ EMD_WCC_engine

◆ Index_type

◆ Self

typedef T_Earth_mover_distance_module<ModuleTraits> Self

◆ Transportation_plan

◆ Transportation_plan_with_cc

◆ Vertex_rep

◆ Vertices_container

◆ Vertices_iterator

Constructor & Destructor Documentation

◆ T_Earth_mover_distance_module() [1/2]

T_Earth_mover_distance_module ( void  )
inline

Constructs the module.

◆ T_Earth_mover_distance_module() [2/2]

T_Earth_mover_distance_module ( const Self other)
inline

Constructs the module.

Member Function Documentation

◆ add_options()

boost::program_options::options_description add_options ( void  ) const
inlinevirtual

Virtual method for adding options to the module.

Reimplemented from T_Module_option_description< Dummy >.

◆ check_options()

virtual bool check_options ( std::string &  message) const
inlinevirtualinherited

Checks that the input options' values are coherent.

Reimplemented in T_Pairwise_structural_alignment_module< ModuleTraits, AlignmentEngine >, T_Filtration_graph_module< ModuleTraits, GraphBuilder >, T_Space_filling_model_shelling_diagram_comparison_module< ModuleTraits >, T_Space_filling_model_interface_finder_module< ModuleTraits >, T_Space_filling_model_outer_approximation_module< ModuleTraits >, T_Space_filling_model_interpolated_approximation_module< ModuleTraits >, T_Space_filling_model_inner_approximation_module< ModuleTraits >, T_Weights_file_loader< FT >, T_Graph_loader< GraphType, FT >, T_Subdomain_comparator_module< ModuleTraits >, T_Stop_criterion_module< ModuleTraits >, T_Sample_selector_module< ModuleTraits >, T_Sample_extender_module< ModuleTraits >, T_Force_field_atomic_traits< TForceFieldFunctionTraits >::Potential_energy_parameters_loader, T_Exploration_parameters_update_module< ModuleTraits >, T_Exploration_parameters_with_layers< NumberType, Distance >, T_Exploration_parameters_default< NumberType, Distance >, T_Acceptance_test_module< ModuleTraits >, T_Graph_loader< GraphType, FT >, T_Weighted_vertex_graph_loader< PointD, WeightType, GraphType >, T_Weighted_points_d_loader< PointD, WeightType >, T_Sequences_loader< FT >, T_Graph_loader< Graph >, T_Correlated_motions_by_domain_module< ModuleTraits >, T_Graph_loader< GraphType, FT >, T_Union_of_balls_surface_volume_3_module< ModuleTraits, OutputArchive >, T_Union_of_balls_mesh_3_module< ModuleTraits >, T_Union_of_balls_boundary_patch_shelling_3_module< ModuleTraits, OutputArchive >, T_Union_of_balls_boundary_3_module< ModuleTraits, ExactNT >, T_Tertiary_quaternary_structure_annotator_module< ModuleTraits >, T_Spatial_search_module< ModuleTraits, ApproximatedSpatialSearchEngine >, T_RST_MST_D_Family_matching_module< ModuleTraits >, T_Nearest_neighbors_graph_builder_module< ModuleTraits >, T_Morse_theory_based_analyzer_module< ModuleTraits, MorseSmaleWittenChainComplex >, T_Morse_theory_based_analyzer_module< ModuleTraits, SBL::GT::T_Morse_Smale_Witten_chain_complex_from_vertex_weighted_graph_builder< typename ModuleTraits::Graph, typename ModuleTraits::Get_weight >::Morse_Smale_Witten_chain_complex >, T_Morse_theory_based_analyzer_module< ModuleTraits, SBL::GT::T_Morse_Smale_Witten_chain_complex_from_weighted_graph_builder< typename ModuleTraits::Graph, typename ModuleTraits::Get_weight >::Morse_Smale_Witten_chain_complex >, T_Morse_theory_based_analyzer_module< ModuleTraits, SBL::GT::T_Morse_Smale_Witten_chain_complex_from_NNG_builder< ModuleTraits::Nearest_neighbors_graph, ModuleTraits::Morse_function, ModuleTraits::Distance_graph_function >::Morse_Smale_Witten_chain_complex >, T_Molecular_structure_classifier_module< ModuleTraits >, T_Molecular_interfaces_module< ModuleTraits >, T_Modules_collection< Module, SetIndividualInput >, T_Module_conjunction< ModuleOrLoader1, ModuleOrLoader2 >, T_Module_condition< void, Predicate >, T_Module_condition< Module, Predicate >, T_Module_based_workflow< Dummy >, T_Minimal_oriented_spanning_forest_module< ModuleTraits, SpatialSearchEngine >, T_D_Family_matching_module< ModuleTraits, TSolutionComputer >, T_Cluster_engine_module< ModuleTraits >, T_Buried_surface_area_without_label_module< ModuleTraits >, T_Buried_surface_area_with_labels_module< ModuleTraits >, T_Alpha_complex_of_molecular_model_module< ModuleTraits >, T_Alignment_structures_module< ModuleTraits, AlignmentEngineStructures >, T_Alignment_structures_module< ModuleTraits, ModuleTraits::Iterative_aligner_engine >, T_Alignment_structures_module< ModuleTraits, AlignmentEngine >, T_Alignment_sequences_module< ModuleTraits, AlignmentEngineSequences >, T_XTC_file_loader< ConformationType, ConformationBuilder, ESBTLMolecularSystem, PDBLineFormat >, T_Spheres_3_file_loader< Sphere3, Point3 >, T_Radius_annotator_for_particles_with_annotated_name< NT, SetRadius >, T_Points_d_file_loader< PointD >, T_PDB_file_loader< ESBTLMolecularSystem, PDBLineFormat >, T_PDB_file_loader< Molecular_system >, T_Particle_annotator_collector< ParticleAnnotator1, ParticleAnnotator2 >, No_particle_annotator, T_Name_annotator_for_pseudo_atoms< SetAnnotatedName >, T_Name_annotator_for_atoms< SetAnnotatedName >, T_Generic_annotator_without_file< AnnotationType, SetAnnotation, GetInstanceName >, T_Generic_annotator< KeyType, AnnotationType, MakeKey, SetAnnotation, GetOptionName, GetOptionHelp, GetOptionDisplayName >, Space_filling_model_loader, Conformations_loader, T_Dynamic_annotator_for_residues< SetDynamicAnnotation >, T_Dynamic_annotator_for_atoms< SetDynamicAnnotation >, T_Domain_annotator_for_particles< Annotations >, T_Conformations_file_loader< ConformationType, ConformationBuilder, ESBTLMolecularSystem, PDBLineFormat >, T_Transition_graph_loader< InputArchive, TransitionGraphTraits >, T_Transition_graph_loader< boost::archive::xml_iarchive, typename Traits::Transition_graph_traits >, T_Protein_representation_loader< ProteinRepresentation, MolecularCovalentStructureBuilder, PDBLineFormat >, T_Primitive_labels_loader< PartnerLabelsTraits, MediatorLabelsTraits, ExtraLabelsTraits >, T_Potential_energy_parameters< CovalentStructure, UnitSystemTraits, FT >, T_Potential_energy_parameters< CovalentStructure, UnitSystemTraits, FT >, T_Numbers_file_loader< FT, Tag >, T_Multiple_archives_xml_archive_file_loader< SecondaryArchive, SecondaryData, SerializedData >, T_Molecular_covalent_structure_loader_from_PDB< ParticleTraits, MolecularCovalentStructure, MolecularCovalentStructureBuilder, PDBLineFormat >, T_Molecular_covalent_structure_loader_from_MOL< MolecularCovalentStructure >, T_Graph_loader< Graph >, T_Clustering_loader< Graph, Clustering >, T_Clustering_loader< Graph, Clustering >, T_Archive_file_loader< InputArchive, SerializedData >, and T_Archive_file_loader< boost::archive::xml_iarchive, typename Traits::Atom_shelling_forest >.

◆ clone()

Self_* clone ( const Self_ *  s) const
inlineinherited

Clones the object using the copy constructor.

◆ delete_options()

static void delete_options ( void  )
inlinestaticinherited

◆ get_demand()

T_Earth_mover_distance_module< ModuleTraits >::Vertices_container *& get_demand ( void  )
inline

◆ 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
inlinevirtual

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
inlinevirtual

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

Reimplemented from T_Module_option_description< Dummy >.

◆ get_report_mode()

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

Get the report mode to be used when reporting.

◆ get_source()

T_Earth_mover_distance_module< ModuleTraits >::Vertices_container *& get_source ( void  )
inline

◆ get_transportation_plans() [1/2]

T_Earth_mover_distance_module< ModuleTraits >::Transportation_plans & get_transportation_plans ( void  )
inline

Access to the transportation plans.

◆ get_transportation_plans() [2/2]

const T_Earth_mover_distance_module< ModuleTraits >::Transportation_plans & get_transportation_plans ( void  ) const
inline

Const access to the transportation plans.

◆ has_options()

static bool has_options ( void  )
inlinestaticinherited

◆ initialize_options()

static void initialize_options ( const std::string &  caption)
inlinestaticinherited

◆ 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
inlinevirtual

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

Reports the output and statistics in output files.

Reimplemented from Module_base.

◆ run()

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

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

Reports high-level statistics on the module.

Reimplemented from Module_base.