Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
T_Structural_motifs_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_workflow.hpp>

Classes

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

Public Types

typedef T_Structural_motifs_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::Structure_builder Structure_builder
 A builder for the structures used in the alignment. More...
 
typedef Traits::Residue Residue
 Residue type. More...
 
typedef Traits::Structure Structure
 A container for residues (usually a vector) More...
 
typedef Traits::Structure Structure_iterator
 An iterator over the structure (to build a filter iterator) More...
 
typedef Traits::Molecular_model Molecular_model
 An ESBTL Molecular model. More...
 
typedef Molecular_model::Residues_iterator Residues_iterator
 
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_engine Alignment_engine
 
typedef SBL::Modules::T_Pairwise_structural_alignment_module< Traits, Alignment_enginePairwise_structural_alignment_module
 Structural alignment with apurva. More...
 
typedef SBL::Modules::T_Iterative_alignment_module< Traits > Iterative_alignment_module
 Iterative alignment. More...
 
typedef boost::filter_iterator< Filter_residues, Residues_iteratorResidue_filter_iterator
 A filter iterator. Filters can be turned on and off. First filters on domains. Also filters on disulfide bonds. More...
 
typedef SBL::Modules::T_RMSD_comb_edge_weighted_module< Traits > RMSD_comb_module
 To compute the weighted lRMSD between two structures. 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 boost::archive::xml_oarchive Archive
 
 T_Structural_motifs_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_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_Space_filling_model_surface_volume_workflow::File_loader : loads the input particles from a given file.
  • Pairwise_structural_alignment_module (PSAM): Computes a Pairwise structural alignment between two proteins (if necessary). 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?
Template Parameters
TraitsTraits class defining the types used in the applications of Structural_motifs (see T_Structural_motifs_traits).

Class Documentation

◆ T_Structural_motifs_workflow::Individual_PSAM_input

struct T_Structural_motifs_workflow::Individual_PSAM_input

template<class Traits>
struct T_Structural_motifs_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
run_type run_type

Member Typedef Documentation

◆ Alignment_engine

typedef Traits::Alignment_engine Alignment_engine

◆ 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

◆ DAG

typedef Traits::DAG DAG

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

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

◆ Iterative_alignment_module

◆ 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 type.

◆ Residue_filter_iterator

typedef boost::filter_iterator<Filter_residues, Residues_iterator> Residue_filter_iterator

A filter iterator. Filters can be turned on and off. First filters on domains. Also filters on disulfide bonds.

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

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

◆ Structure_iterator

typedef Traits::Structure Structure_iterator

An iterator over the structure (to build a filter iterator)

Constructor & Destructor Documentation

◆ T_Structural_motifs_workflow()

T_Structural_motifs_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.