Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
T_Spanning_tree_solver< IntersectionGraph, StopCondition, SpanningTreeGenerator, Algorithm > Class Template Reference

A heuristic algorithm to solve the D-Family-matching problem by using spanning trees. More...

#include <Spanning_tree_solver.hpp>

Constructors

 T_Spanning_tree_solver ()
 The best score is always initialized at 0.

Functor

unsigned operator() (unsigned D, Solution_type &solutions)
 A functor to solve the D-Family-matching problem using the heuristic algorithm on the given intersection graph m_graph. Updates the graph if required.

Iterators

Meta_clusters_iterator meta_clusters_begin ()
 Iterate over meta clusters.
Clusters_iterator clusters_in_meta_cluster_begin (unsigned meta_index)
 Iterate over clusters contained in a meta cluster.

Command line options

boost::program_options::options_description add_options (void)
 Just to add options on the command line.

Detailed Description

template<class IntersectionGraph, class StopCondition, class SpanningTreeGenerator, class Algorithm>
class SBL::CADS::T_Spanning_tree_solver< IntersectionGraph, StopCondition, SpanningTreeGenerator, Algorithm >

A heuristic algorithm to solve the D-Family-matching problem by using spanning trees.

The graph must be weighted.

Template Parameters
GraphRepresentation of the intersection graph.
StopConditionA functor to compute if the stop condition is met. Also provides the definitions of the Solution space (which is inherent to a particular stop condition).
SpanningTreeGeneratorA method to generate a spanning tree over a connected component of the intersection graph
AlgorithmThe algorithm to solve the D-Family-matching problem over a tree.

Constructor & Destructor Documentation

◆ T_Spanning_tree_solver()

template<class IntersectionGraph, class StopCondition, class SpanningTreeGenerator, class Algorithm>
T_Spanning_tree_solver ( )
inline

The best score is always initialized at 0.

Member Function Documentation

◆ add_options()

template<class IntersectionGraph, class StopCondition, class SpanningTreeGenerator, class Algorithm>
boost::program_options::options_description add_options ( void )
inline

Just to add options on the command line.

◆ clusters_in_meta_cluster_begin()

template<class IntersectionGraph, class StopCondition, class SpanningTreeGenerator, class Algorithm>
T_Spanning_tree_solver< IntersectionGraph, StopCondition, SpanningTreeGenerator, Algorithm >::Clusters_iterator clusters_in_meta_cluster_begin ( unsigned meta_index)
inline

Iterate over clusters contained in a meta cluster.

◆ meta_clusters_begin()

template<class IntersectionGraph, class StopCondition, class SpanningTreeGenerator, class Algorithm>
T_Spanning_tree_solver< IntersectionGraph, StopCondition, SpanningTreeGenerator, Algorithm >::Meta_clusters_iterator meta_clusters_begin ( )
inline

Iterate over meta clusters.

◆ operator()()

template<class IntersectionGraph, class StopCondition, class SpanningTreeGenerator, class Algorithm>
unsigned operator() ( unsigned D,
Solution_type & solutions )
inline

A functor to solve the D-Family-matching problem using the heuristic algorithm on the given intersection graph m_graph. Updates the graph if required.