![]()  | 
  
    Structural Bioinformatics Library
    
   Template C++ / Python API for developping structural bioinformatics applications. 
   | 
 
Base engine for making alignments between structures and sequences. Base engine for making alignments between structures and sequences. More...
#include <Alignment_engine.hpp>
Classes | |
| class | Is_lower_name_pair | 
| Predicate for comparing two pairs whatever the order of Alignment_unit_rep in each pair.  More... | |
| class | Matrix_function | 
| Functor for the substitution matrix. Is imposed the following properties: (i) symmetry, (ii) undefined values are 0. Thus, it is just enough to specify non null values on only one triangle of the matrix.  More... | |
Public Types | |
| enum | Sequence_length_type | 
| Enum for selecting the length of the sequence to consider when computing the similarity / identity percentages.  More... | |
| typedef SequenceOrStructure | Sequence_or_structure | 
| Type for representing the sequences or the structures to align.  More...  | |
| typedef AlignerAlgorithm | Aligner_algorithm | 
| Core algorithm performing the alignment.  More... | |
| typedef SequenceOrStructure::Alignment_unit | Alignment_unit | 
| Type for a unit (e.g residue or nucleotid)  More... | |
| typedef SequenceOrStructure::Alignment_unit_name | Alignment_unit_name | 
| Representation of the name of a unit.  More... | |
| typedef SequenceOrStructure::Alignment_unit_rep | Alignment_unit_rep | 
| Representation of a unit for index purposes.  More... | |
| typedef AlignerAlgorithm::Score_type | Score_type | 
| Representation of the score of the algorithm.  More... | |
| typedef std::pair< Alignment_unit_rep, Alignment_unit_rep > | Aligned_pair | 
| Representation of two aligned units.  More... | |
| typedef std::vector< Aligned_pair > | Alignment_type | 
| Representation of an alignment as a sequence of aligned units.  More... | |
| typedef std::pair< Alignment_unit_name, Alignment_unit_name > | Name_pair | 
| Representation of two unit names.  More... | |
| typedef std::map< Name_pair, FT, Is_lower_name_pair > | Substitution_matrix | 
| Representation of the storage of values of the subtitution matrix.  More... | |
Constructors | |
| T_Alignment_engine (const SequenceOrStructure &sos_1, const SequenceOrStructure &sos_2, const AlignerAlgorithm &aligner=AlignerAlgorithm(), std::ostream &log=std::cout, unsigned verbose=0) | |
| Constructor initializing the input sos and possibly the aligner algorithm.  More... | |
Accessors | |
| const AlignerAlgorithm & | get_aligner (void) const | 
| AlignerAlgorithm & | get_aligner (void) | 
| const SequenceOrStructure & | get_first_sos (void) const | 
| Returns the first sequence or structure of the alignment.  More... | |
| const SequenceOrStructure & | get_second_sos (void) const | 
| Returns the second sequence or structure of the alignment.  More... | |
Algorithm | |
| void | align () | 
| void | align (unsigned verbose, std::ostream &out) | 
Outputs | |
| const Score_type & | get_score (void) const | 
| Score_type & | get_score (void) | 
| Alignment_type & | get_alignment (void) | 
| const Alignment_type & | get_alignment (void) const | 
Analysis | |
| void | set_substitution_matrix (const Substitution_matrix &matrix) | 
| The input is a map from pairs of Alignment_unit_name to the associated score. Note that by construction, it is enough to specify non null values on a half of the matrix, diagonal excluded.  More... | |
| void | load_substitution_matrix (const std::string &matrix_filename, unsigned nb_units_names) | 
| Loads directly the substitution matrix from a file of the format : Alignment_unit_name Alignment_unit_name Value. If duplicated values, the last one is taken.  More... | |
| void | set_blosum_30 (void) | 
| Set the current matrix as the BLOSUM30 matrix as defined in Seqan 2.0.  More... | |
| void | set_blosum_45 (void) | 
| Set the current matrix as the BLOSUM45 matrix as defined in Seqan 2.0.  More... | |
| void | set_blosum_62 (void) | 
| Set the current matrix as the BLOSUM62 matrix as defined in Seqan 2.0.  More... | |
| void | set_blosum_80 (void) | 
| Set the current matrix as the BLOSUM80 matrix as defined in Seqan 2.0.  More... | |
| void | set_pam_40 (void) | 
| Set the current matrix as the PAM40 matrix as defined in Seqan 2.0.  More... | |
| void | set_pam_120 (void) | 
| Set the current matrix as the PAM120 matrix as defined in Seqan 2.0.  More... | |
| void | set_pam_200 (void) | 
| Set the current matrix as the PAM200 matrix as defined in Seqan 2.0.  More... | |
| void | set_pam_250 (void) | 
| Set the current matrix as the PAM250 matrix as defined in Seqan 2.0.  More... | |
| void | set_vtml_200 (void) | 
| Set the current matrix as the VTML200 matrix as defined in Seqan 2.0.  More... | |
| void | set_standard_substitution_matrix (SBL::CSB::Alignment_substitution_matrix_type matrix_type) | 
| Set the current matrix as one of the standard substitution matrices.  More... | |
| Substitution_matrix & | get_substitution_matrix (void) | 
| FT | get_substitution_score (const Alignment_unit_name &p, const Alignment_unit_name &q) const | 
| FT | get_identity_percentage (Sequence_length_type type=ALIGNMENT_SEQUENCE_LENGTH) const | 
| FT | get_similarity_percentage (Sequence_length_type type=ALIGNMENT_SEQUENCE_LENGTH) const | 
| void | statistics (std::ostream &out, Sequence_length_type type) const | 
| void | print_alignment_txt (std::ostream &out) const | 
| Print the alignment in txt format.  More... | |
| void | print_alignment_dot (std::ostream &out) const | 
| Print the alignment as a dot graph.  More... | |
Base engine for making alignments between structures and sequences. Base engine for making alignments between structures and sequences.
It provides a generic interface for wrapping existing algorithms aligning pairs of sequences or structures. It is designed such that it provides all common statistics to both type of algorithms. For a data structure that is more specific to structural alignments, see the class T_Alignement_engine_for_structures
| SequenceOrStructure | Representation of a sequence or structure (sos) : it requires in particular to define the type Alignment_unit for the base representation of a residue or a nucleotid to align, the type Alignment_unit_name for the representation of the name of the unit (e.g ALA), Alignment_unit_rep for indexing the units in the sos, the method get_name() to return the name of the unit, size() to return the length of the sequence, and the operator [Alignment_unit_rep] for accessing to the corresponding unit of the sos. | 
| AlignerAlgorithm | Base functor for the algorithm that makes the alignment between the two input sos : it requires to define a type Score_type for the score (e.g a double, or a pair of doubles if two scores are required), to take two input sos and an output iterator over pairs of Alignment_unit_rep for the output alignment, and to return the score of the algorithm | 
| FT | Number type representation used for all statistics except the algorithm score. | 
| typedef std::pair<Alignment_unit_rep, Alignment_unit_rep> Aligned_pair | 
Representation of two aligned units.
| typedef AlignerAlgorithm Aligner_algorithm | 
Core algorithm performing the alignment.
| typedef std::vector<Aligned_pair> Alignment_type | 
Representation of an alignment as a sequence of aligned units.
| typedef SequenceOrStructure::Alignment_unit Alignment_unit | 
Type for a unit (e.g residue or nucleotid)
| typedef SequenceOrStructure::Alignment_unit_name Alignment_unit_name | 
Representation of the name of a unit.
| typedef SequenceOrStructure::Alignment_unit_rep Alignment_unit_rep | 
Representation of a unit for index purposes.
| typedef std::pair<Alignment_unit_name, Alignment_unit_name> Name_pair | 
Representation of two unit names.
| typedef AlignerAlgorithm::Score_type Score_type | 
Representation of the score of the algorithm.
| typedef SequenceOrStructure Sequence_or_structure | 
Type for representing the sequences or the structures to align. 
 
| typedef std::map<Name_pair, FT, Is_lower_name_pair> Substitution_matrix | 
Representation of the storage of values of the subtitution matrix.
| enum Sequence_length_type | 
Enum for selecting the length of the sequence to consider when computing the similarity / identity percentages.
      
  | 
  inline | 
Constructor initializing the input sos and possibly the aligner algorithm.
      
  | 
  inline | 
Returns the first sequence or structure of the alignment.
      
  | 
  inline | 
Returns the second sequence or structure of the alignment.
      
  | 
  inline | 
Loads directly the substitution matrix from a file of the format : Alignment_unit_name Alignment_unit_name Value. If duplicated values, the last one is taken.
      
  | 
  inline | 
Print the alignment as a dot graph.
      
  | 
  inline | 
Print the alignment in txt format.
      
  | 
  inline | 
Set the current matrix as the BLOSUM30 matrix as defined in Seqan 2.0.
      
  | 
  inline | 
Set the current matrix as the BLOSUM45 matrix as defined in Seqan 2.0.
      
  | 
  inline | 
Set the current matrix as the BLOSUM62 matrix as defined in Seqan 2.0.
      
  | 
  inline | 
Set the current matrix as the BLOSUM80 matrix as defined in Seqan 2.0.
      
  | 
  inline | 
Set the current matrix as the PAM120 matrix as defined in Seqan 2.0.
      
  | 
  inline | 
Set the current matrix as the PAM200 matrix as defined in Seqan 2.0.
      
  | 
  inline | 
Set the current matrix as the PAM250 matrix as defined in Seqan 2.0.
      
  | 
  inline | 
Set the current matrix as the PAM40 matrix as defined in Seqan 2.0.
      
  | 
  inline | 
Set the current matrix as one of the standard substitution matrices.
      
  | 
  inline | 
The input is a map from pairs of Alignment_unit_name to the associated score. Note that by construction, it is enough to specify non null values on a half of the matrix, diagonal excluded.
      
  | 
  inline | 
Set the current matrix as the VTML200 matrix as defined in Seqan 2.0.