![]() |
Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
|
Generic workflow of Space_filling_model_interface for reading the command line options of the applications and running the calculations. More...
#include <Space_filling_model_interface_workflow.hpp>
Public Types | |
typedef Traits::Particle_annotator | Particle_annotator |
Loader of annotations for the input particles. More... | |
typedef Traits::Molecular_geometry_loader | Molecular_geometry_loader |
Loader for one or more PDB files, even listed in a file. Loader for one or more PDB files, even listed in a file. More... | |
typedef Traits::Labels_loader | Labels_loader |
Loader for systems' labels specification. Loader for systems' labels specification. More... | |
typedef SBL::Modules::T_Alpha_complex_of_molecular_model_module< Traits > | Alpha_complex_module |
Module building the alpha-complex of an input set of particles. Module building the alpha-complex of an input set of particles. More... | |
typedef SBL::Modules::T_Molecular_structure_classifier_module< Traits > | Structure_classifier_module |
Module classifying the particles of a molecular structure following their system's labels. Module classifying the particles of a molecular structure following their system's labels. More... | |
typedef SBL::Modules::T_Buried_surface_area_with_labels_module< Traits > | BSA_module |
Module building the buried surface areas from the alpha-complex of a molecular model. Module building the buried surface areas from the alpha-complex of a molecular model. More... | |
typedef SBL::Modules::T_Molecular_interfaces_module< Traits > | Interfaces_module |
Module building the bicolor, mediated and tricolor interfaces of a molecular structure. Module building the bicolor, mediated and tricolor interfaces of a molecular structure. More... | |
Workflow | |
void | start (int argc, char *argv[]) |
Starts the workflow by reading the command line options, and pushing on the stack the start vertex. More... | |
Generic workflow of Space_filling_model_interface for reading the command line options of the applications and running the calculations.
This workflow instantiates two loaders and four modules:
Traits | Traits class defining the types used in the applications of Space_filling_model_interface (see T_Space_filling_model_interface_traits). |
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 -complex:
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 -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.
\tparam ModuleTraits Traits class defining the types T_Alpha_complex_of_molecular_model_module::Alpha_complex and T_Alpha_complex_of_molecular_model_module::Particles_container.
typedef SBL::Modules::T_Buried_surface_area_with_labels_module<Traits> BSA_module |
Module building the buried surface areas from the alpha-complex of a molecular model. Module building the buried surface areas from the alpha-complex of a molecular model.
It builds from an input -complex of type SBL::Modules::T_Buried_surface_area_with_labels_module::Alpha_complex, an object of type SBL::Modules::T_Buried_surface_area_with_labels_module::Buried_surface_area: it is a functor that returns the buried surface area of the input
-complex restricted to an input partner's label.
The input -complex can be set using the method SBL::Modules::T_Buried_surface_area_with_labels_module::get_alpha_complex, that returns a reference over a pointer on the input
-complex.
The built functor for computing the buried surfacve area is accessible with the method SBL::Modules::T_Buried_surface_area_with_labels_module::get_buried_surface_area. \tparam ModuleTraits Traits class defining the type SBL::Modules::T_Buried_surface_area_with_labels_module::Alpha_complex.
typedef SBL::Modules::T_Molecular_interfaces_module<Traits> Interfaces_module |
Module building the bicolor, mediated and tricolor interfaces of a molecular structure. Module building the bicolor, mediated and tricolor interfaces of a molecular structure.
It builds from a given structure classifier an object SBL::Modules::T_Molecular_interfaces_module::Molecular_interfaces_builder that groups into data structures the contacts between two given partners, and possibly contacts mediated by a mediator:
These data structures offer iterators over the different components of the interfaces (particles of a partner or a mediator, contacts between two given partners, or mediated contacts, connected components of adjacent contacts, etc...). Note that while the primitive interfaces are computed at the construction of the SBL::Modules::T_Molecular_interfaces_module::Molecular_interfaces_builder object, the hierarchical interfaces are computed when one wants to access them.
Various statistics on the interfaces are dumped:
When reporting the results into files, three files are created for each pair of partners:
ModuleTraits | Traits class defining the type SBL::Modules::T_Molecular_interfaces_module::Molecular_interfaces_builder. |
typedef Traits::Labels_loader Labels_loader |
Loader for systems' labels specification. Loader for systems' labels specification.
The molecular systems's labels are defined by the concept MolecularSystemLabelsTraits. That is, a model of MolecularSystemLabelsTraits defines the type System_label which enumerates all the different labels of one category (partners or mediators or extras). A model of MolecularSystemLabelsTraits describing the partners (resp. mediators or extras) is said to follows the PartnerLabelsTraits concept (resp. MediatorLabelsTraits or ExtraLabelsTraits concept).
This loader allows to load the specifications for each label's category.
PartnerLabelsTraits | Traits class defining the partners' labels hierarchy. |
MediatorLabelsTraits | Traits class defining the mediators' labels hierarchy (by default, it is SBL::Models::No_label_traits). |
ExtraLabelsTraits | Traits class defining the extras' labels hierarchy (by default, it is SBL::Models::No_label_traits). |
typedef Traits::Molecular_geometry_loader Molecular_geometry_loader |
Loader for one or more PDB files, even listed in a file. Loader for one or more PDB files, even listed in a file.
The different options are:
\li Load of one, n or a list of PDB files, \li Possibility to discard or not the hydrogen atoms (discarded by default) are discarded, \li Possibility to select atoms following their occupancy factor. By default, the atoms are loaded regardless their occupancy factor. \li In case of alternates, the first occurrence is the one selected. \li if several models of the structure coexist, which one do we consider. Important Note about hetero atoms: When dealing with hetero atoms, these ones may be associated to a chain. If the chain is associated to a partner, these hetero atoms will be also associated to this partner. \li The classification of atoms used is such that hydrogen atoms are discarded, see \ref def-atomic-radii, atomic group radii above. \li For PDB models, all occupancy factors to be equal to 1. If not and for a more elaborate processing, the user should retrieve the binary program, learn about the strategies offered in case of factors < 1, and proceed accordingly. \li In case of alternates, the first occurrence is the one selected. \tparam ESBTLMolecularSystem Representation of a molecular system in ESBTL (default is ESBTL::Default_system) \tparam PDBLineFormat Format of a line in a PDB file, determining wether a field of a line is mandatory or not (default is ESBTL::PDB::Line_format<>)
typedef Traits::Particle_annotator Particle_annotator |
Loader of annotations for the input particles.
Module classifying the particles of a molecular structure following their system's labels. Module classifying the particles of a molecular structure following their system's labels.
Classifying atoms and contacts between atoms has two aspects:
\li the geometric models level: one wishes to find all the contacts in a molecular model. The \ref Molecular_geometric_model_classifier-package provides different geometric model classifiers. In particular, the SBL::CSB::T_Molecular_geometric_model_classifier_for_alpha_complex class is used when the geometric model is an \form#2-complex. \li the systems level: one wishes to find all the particles belonging to a given partner, or all contacts between particles of two different partners. The \ref Molecular_structure_classifier-package provides the SBL::CSB::T_Molecular_structure_classifier<<b><em> ParticleWithSystemLabelTraits </em></b>, <b><em> MolecularModelClassifier </em></b>> class to classify the particles endowed with a partner's label. The second template parameter is a model classifier used to classify the contacts in the molecular model. The input molecular model can be set using the method T_Molecular_structure_classifier_module::get_molecular_model, that returns a reference over a pointer on the input geometric moel. The system's label of a particle is determined by a system's label classifier. There is one classifier for each category of system's label, that are partners, mediators and extras. These can be set using the methods T_Molecular_structure_classifier_module::get_partner_classifier, T_Molecular_structure_classifier_module::get_mediator_classifier and T_Molecular_structure_classifier_module::get_extra_classifier . For moredetails on these primitive labels classifier, see \ref MolecularSystemLabelsTraits-package. \tparam ModuleTraits Traits class defining the type T_Molecular_structure_classifier_module::Molecular_structure_classifier.
|
inline |
Starts the workflow by reading the command line options, and pushing on the stack the start vertex.