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

Generic workflow of Structural_motifs for reading the command line options of the applications and running the calculations. More...

#include <Structural_motifs_conformations_workflow.hpp>

Classes

class  Filter_residues
 
struct  Individual_DFM_input
 The input for an individual Pairwise structural alignment module. More...
 
struct  Individual_IA_input
 
struct  Individual_PSAM_input
 The input for an individual Pairwise structural alignment module. More...
 
class  Set_blocks_for_PSAM
 
class  Set_clusters_for_DFM
 
class  Set_seeds_for_iterative_alignment
 

Public Types

typedef T_Structural_motifs_conformations_workflow< Traits > Self
 
typedef Traits::Annotations_loader Annotations_loader
 Follows the concept ParticleAnnotator. More...
 
typedef Traits::File_loader File_loader
 Follows the concept MolecularGeometryLoader and it can be either SBL::Models::T_PDB_file_loader when the input is a PDB file\, or SBL::Models::T_Spheres_3_file_loader when the input is a file listing spheres. More...
 
typedef Traits::Residue Residue
 
typedef Traits::Structure Structure
 A container for residues (usually a vector) More...
 
typedef Traits::Molecular_model Molecular_model
 An ESBTL Molecular model. More...
 
typedef Molecular_model::Residues_iterator Residues_iterator
 
typedef Traits::Intersection_graph Intersection_graph
 
typedef boost::graph_traits< Intersection_graph >::vertex_descriptor Intersection_graph_vertex
 
typedef Traits::Alpha_complex Alpha_complex
 The so called alpha complex. More...
 
typedef Traits::Residue_set Residue_set
 A set containing PDB residue sequence numbers, used to build the so called Hasse diagram. More...
 
typedef Traits::DAG DAG
 A directed acyclic graph (for the representation of the so called Hasse diagram) More...
 
typedef Traits::Disulfide_bonds_finder Disulfide_bonds_finder
 A small functor to find disulfide bonds in the structures. More...
 
typedef Traits::Shelf Shelf
 A structure to store information which can be accessed by any module. More...
 
typedef Traits::Alignment_residue Alignment_residue
 
typedef Traits::Alignment_engine Alignment_engine
 
typedef Traits::Structure_builder Structure_builder
 A builder for the structures used in the alignment. More...
 
typedef SBL::Modules::T_Iterative_alignment_module< Traits > Iterative_alignment_module
 Iterative alignment. More...
 
typedef Iterative_alignment_module::Seed_type Seed_type
 
typedef SBL::Modules::T_Modules_collection< Iterative_alignment_module, Set_seeds_for_iterative_alignmentIterative_alignment_module_collection
 
typedef SBL::Modules::T_Pairwise_structural_alignment_module< Traits, Alignment_enginePairwise_structural_alignment_module
 Structural alignment. More...
 
typedef SBL::Modules::T_D_Family_matching_for_conformations_module< Traits > D_Family_matching_module
 D family matching. More...
 
typedef SBL::Modules::T_Modules_collection< D_Family_matching_module, Set_clusters_for_DFMDFM_module_collection
 A collection of modules to compute several D-fam matchings. More...
 
typedef SBL::Modules::T_Modules_collection< Pairwise_structural_alignment_module, Set_blocks_for_PSAMPSAM_module_collection
 A collection of modules to compute several pairwise structural alignments. More...
 
typedef SBL::Modules::T_Filtration_graph_module< Traits, typename Traits::Filtration_graph_builder_CD > Filtration_graph_CD_module
 A module to compute the so called Historical Residue contact map of an ordered set of a.a. More...
 
typedef SBL::Modules::T_Filtration_graph_module< Traits, typename Traits::Filtration_graph_builder_SFD > Filtration_graph_SFD_module
 A module to compute the so called Historical Residue contact map of an ordered set of a.a. More...
 
typedef SBL::Modules::T_Morse_theory_based_analyzer_for_vertex_weighted_graph_module< Traits, typename Traits::Filtration_graph_SFD, typename Traits::Get_weight_for_SFD > MTB_analyzer_SFD_module
 
Generic manager for reading arguments of the program and run the calculations More...
 
typedef SBL::Modules::T_Morse_theory_based_analyzer_for_weighted_graph_module< Traits, typename Traits::Filtration_graph_CD, typename Traits::Get_weight_for_CD > MTB_analyzer_CD_module
 
Generic manager for reading arguments of the program and run the calculations More...
 
typedef SBL::Modules::T_Module_conjunction< MTB_analyzer_SFD_module, MTB_analyzer_SFD_moduleMTB_analyzer_SFD_modules
 Conjunction module linking two input modules or loaders with an and operator. More...
 
typedef SBL::Modules::T_Module_conjunction< MTB_analyzer_CD_module, MTB_analyzer_CD_moduleMTB_analyzer_CD_modules
 Conjunction module linking two input modules or loaders with an and operator. More...
 
typedef SBL::Modules::T_RMSD_comb_edge_weighted_module< Traits > RMSD_comb_module
 To compute the weighted lRMSD between two structures. More...
 
typedef boost::filter_iterator< Filter_residues, Residues_iteratorResidue_filter_iterator
 A filter iterator to remove disulfide bonds from the comparison. More...
 
typedef boost::archive::xml_oarchive Archive
 An xml output archive to record the results. More...
 

Public Member Functions

template<class MTBAnalyzerModules >
void set_inputs_for_dfm (MTBAnalyzerModules *morse_smale_modules, DFM_module_collection *dfm_modules)
 
 T_Structural_motifs_conformations_workflow (const std::string &application_name, const std::string &specific_help)
 Initializes the workflow by setting the application name, the help, and building the workflow graph. More...
 

Initialization functions

string make_prefixed_filename (const string &name)
 Build a custom prefix for the output names. More...
 
template<class InputIterator >
void annotate_particles (InputIterator begin, InputIterator end)
 Annotate the particles (residues) in the given iterator range. More...
 
template<class InputIterator >
void annotate_atoms (InputIterator begin, InputIterator end)
 
void build (void)
 Initializes the workflow by adding loaders, modules, and flows. More...
 
void erase_twin_motifs (std::list< std::pair< unsigned, Residue_set > > &motifs)
 

Detailed Description

template<class Traits>
class T_Structural_motifs_conformations_workflow< Traits >

Generic workflow of Structural_motifs for reading the command line options of the applications and running the calculations.

This workflow instantiates one loader and three types of modules:

  • T_Structural_motifs_conformations_workflow_workflow::File_loader : loads the input particles from a given file. The two structures should be the same protein in two different conformations
  • Pairwise_structural_alignment_module (PSAM): Finds all common residues between the two conformations. Then computes the Distance Difference Matrix (DDM) and orders the residues with respect to a their distance differences. Also can compute molecular distances in order to rank results.
  • Incremental_residue_contact_map_module: Upon inserting residues following the pre-computed order in an Alpha-complex, builds a structure (the so called Incremental residue contact map) which records the apparition and fusion of connected components.
  • Morse_theory_based_analyzer: Builds a persistence diagram and a disconnectivity forest from the previously computed incremental residue contact map. XRT: Is there a copydoc somewhere?
  • D_Family_matching_for_conformations_module : Computes the D family matching between two sets of connected components.
Template Parameters
TraitsTraits class defining the types used in the applications of Structural_motifs (see T_Structural_motifs_conformations_traits).

Class Documentation

◆ T_Structural_motifs_conformations_workflow::Individual_DFM_input

struct T_Structural_motifs_conformations_workflow::Individual_DFM_input

template<class Traits>
struct T_Structural_motifs_conformations_workflow< Traits >::Individual_DFM_input

The input for an individual Pairwise structural alignment module.

Class Members
vector< Structure > connected_components_one
vector< Structure > connected_components_two
pair< double, double > persistence_one
pair< double, double > persistence_two

◆ T_Structural_motifs_conformations_workflow::Individual_IA_input

struct T_Structural_motifs_conformations_workflow::Individual_IA_input

template<class Traits>
struct T_Structural_motifs_conformations_workflow< Traits >::Individual_IA_input

Class Members
vector< Seed_type > seeds
Structure * struct_1
Structure * struct_2

◆ T_Structural_motifs_conformations_workflow::Individual_PSAM_input

struct T_Structural_motifs_conformations_workflow::Individual_PSAM_input

template<class Traits>
struct T_Structural_motifs_conformations_workflow< Traits >::Individual_PSAM_input

The input for an individual Pairwise structural alignment module.

Class Members
Structure particles_one
Structure particles_two
pair< double, double > persistence_one
pair< double, double > persistence_two

Member Typedef Documentation

◆ Alignment_engine

typedef Traits::Alignment_engine Alignment_engine

◆ Alignment_residue

typedef Traits::Alignment_residue Alignment_residue

◆ Alpha_complex

typedef Traits::Alpha_complex Alpha_complex

The so called alpha complex.

◆ Annotations_loader

typedef Traits::Annotations_loader Annotations_loader

Follows the concept ParticleAnnotator.

◆ Archive

typedef boost::archive::xml_oarchive Archive

An xml output archive to record the results.

◆ D_Family_matching_module

◆ DAG

typedef Traits::DAG DAG

A directed acyclic graph (for the representation of the so called Hasse diagram)

◆ DFM_module_collection

A collection of modules to compute several D-fam matchings.

◆ Disulfide_bonds_finder

typedef Traits::Disulfide_bonds_finder Disulfide_bonds_finder

A small functor to find disulfide bonds in the structures.

◆ File_loader

typedef Traits::File_loader File_loader

Follows the concept MolecularGeometryLoader and it can be either SBL::Models::T_PDB_file_loader when the input is a PDB file\, or SBL::Models::T_Spheres_3_file_loader when the input is a file listing spheres.

◆ Filtration_graph_CD_module

typedef SBL::Modules::T_Filtration_graph_module<Traits, typename Traits::Filtration_graph_builder_CD> Filtration_graph_CD_module

A module to compute the so called Historical Residue contact map of an ordered set of a.a.

◆ Filtration_graph_SFD_module

typedef SBL::Modules::T_Filtration_graph_module<Traits, typename Traits::Filtration_graph_builder_SFD> Filtration_graph_SFD_module

A module to compute the so called Historical Residue contact map of an ordered set of a.a.

◆ Intersection_graph

typedef Traits::Intersection_graph Intersection_graph

◆ Intersection_graph_vertex

typedef boost::graph_traits<Intersection_graph>::vertex_descriptor Intersection_graph_vertex

◆ Iterative_alignment_module

◆ Iterative_alignment_module_collection

◆ Molecular_model

typedef Traits::Molecular_model Molecular_model

An ESBTL Molecular model.

◆ MTB_analyzer_CD_module

typedef SBL::Modules::T_Morse_theory_based_analyzer_for_weighted_graph_module<Traits, typename Traits::Filtration_graph_CD, typename Traits::Get_weight_for_CD> MTB_analyzer_CD_module


Generic manager for reading arguments of the program and run the calculations

Template Parameters
ModuleTraitsModel of a traits class defining the types used in the manager (see T_Conformational_clustering_traits).

◆ MTB_analyzer_CD_modules

Conjunction module linking two input modules or loaders with an and operator.

Requirements are...

◆ MTB_analyzer_SFD_module

typedef SBL::Modules::T_Morse_theory_based_analyzer_for_vertex_weighted_graph_module<Traits, typename Traits::Filtration_graph_SFD, typename Traits::Get_weight_for_SFD> MTB_analyzer_SFD_module


Generic manager for reading arguments of the program and run the calculations

Template Parameters
ModuleTraitsModel of a traits class defining the types used in the manager (see T_Conformational_clustering_traits).

◆ MTB_analyzer_SFD_modules

Conjunction module linking two input modules or loaders with an and operator.

Requirements are...

◆ Pairwise_structural_alignment_module

◆ PSAM_module_collection

A collection of modules to compute several pairwise structural alignments.

◆ Residue

typedef Traits::Residue Residue

◆ Residue_filter_iterator

typedef boost::filter_iterator<Filter_residues, Residues_iterator> Residue_filter_iterator

A filter iterator to remove disulfide bonds from the comparison.

◆ Residue_set

typedef Traits::Residue_set Residue_set

A set containing PDB residue sequence numbers, used to build the so called Hasse diagram.

◆ Residues_iterator

typedef Molecular_model::Residues_iterator Residues_iterator

◆ RMSD_comb_module

To compute the weighted lRMSD between two structures.

◆ Seed_type

◆ Self

◆ Shelf

typedef Traits::Shelf Shelf

A structure to store information which can be accessed by any module.

◆ Structure

typedef Traits::Structure Structure

A container for residues (usually a vector)

◆ Structure_builder

typedef Traits::Structure_builder Structure_builder

A builder for the structures used in the alignment.

Constructor & Destructor Documentation

◆ T_Structural_motifs_conformations_workflow()

T_Structural_motifs_conformations_workflow ( const std::string &  application_name,
const std::string &  specific_help 
)
inline

Initializes the workflow by setting the application name, the help, and building the workflow graph.

Member Function Documentation

◆ annotate_atoms()

void annotate_atoms ( InputIterator  begin,
InputIterator  end 
)

◆ annotate_particles()

void annotate_particles ( InputIterator  begin,
InputIterator  end 
)

Annotate the particles (residues) in the given iterator range.

◆ build()

void build ( void  )
inline

Initializes the workflow by adding loaders, modules, and flows.

◆ erase_twin_motifs()

void erase_twin_motifs ( std::list< std::pair< unsigned, Residue_set > > &  motifs)
inline

◆ make_prefixed_filename()

string make_prefixed_filename ( const string &  name)
inline

Build a custom prefix for the output names.

◆ set_inputs_for_dfm()

void set_inputs_for_dfm ( MTBAnalyzerModules *  morse_smale_modules,
DFM_module_collection dfm_modules 
)