![]() |
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.