Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
|
Base engine for making alignments between structures. Base engine for making alignments between structures. More...
#include <Alignment_engine_structures.hpp>
Public Types | |
typedef Base::Alignment_unit | Alignment_unit |
Type for a unit (e.g residue or nucleotid) More... | |
typedef Base::Alignment_unit_rep | Alignment_unit_rep |
Representation of a unit for index purposes. More... | |
typedef Base::Alignment_unit_name | Alignment_unit_name |
Representation of the name of a unit. More... | |
typedef Base::Score_type | Score_type |
Representation of the score of the algorithm. More... | |
typedef Base::Aligned_pair | Aligned_pair |
Representation of two aligned units. More... | |
typedef Base::Alignment_type | Alignment_type |
Representation of an alignment as a sequence of aligned units. More... | |
typedef Base::Substitution_matrix | Substitution_matrix |
Representation of the storage of values of the subtitution matrix. More... | |
typedef Base::Matrix_function | 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... | |
typedef Base::Sequence_length_type | Sequence_length_type |
Enum for selecting the length of the sequence to consider when computing the similarity / identity percentages. More... | |
typedef std::vector< std::vector< FT > > | Distance_difference_matrix |
DDM for computing the dRMSD. More... | |
typedef CGAL::Cartesian_d< FT >::Point_d | Conformation |
Data type representing a conformation used in the lRMSD computation (constructor takes (dimension, begin_coordinates, end_coordinates)). More... | |
typedef StructureType | 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 std::pair< Alignment_unit_name, Alignment_unit_name > | Name_pair |
Representation of two unit names. More... | |
Constructors | |
T_Alignment_engine_structures (const StructureType &struct_1, const StructureType &struct_2, const AlignerAlgorithm &aligner=AlignerAlgorithm()) | |
Constructor initializing the input structures and possibly the aligner algorithm. More... | |
Overloaded Algorithm | |
void | align (void) |
void | align (unsigned verbose, std::ostream &out) |
Structures Analysis | |
const Distance_difference_matrix & | get_distance_difference_matrix (void) |
FT | get_dRMSD (void) |
FT | get_lRMSD (void) |
void | statistics (std::ostream &out, Sequence_length_type type) |
Accessors | |
const AlignerAlgorithm & | get_aligner (void) const |
AlignerAlgorithm & | get_aligner (void) |
const StructureType & | get_first_sos (void) const |
Returns the first sequence or structure of the alignment. More... | |
const StructureType & | get_second_sos (void) const |
Returns the second sequence or structure of the alignment. More... | |
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) |
double | get_substitution_score (const Alignment_unit_name &p, const Alignment_unit_name &q) const |
double | get_identity_percentage (Sequence_length_type type=ALIGNMENT_SEQUENCE_LENGTH) const |
double | 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. Base engine for making alignments between structures.
It inherits from the generic interface for all alignments and provide its base functionality. It also implements functionality specific to structural alignments, in particular for anaylzing and comparing alignments. The specific functionality concerns:
Due to geometric nature of the structural alignment, the structure type requires that its units define 3D coordinates, i.e the Alignment_unit defines methods x(), y() and z().
StructureType | Representation of a structure : it requires in particular to define the type Alignment_unit for the geometric representation of a unit to align (e.g a residue or a nucleotid with associated 3D coordinates), the type Alignment_unit indexing the units in the structure, the method size() to return the length of the sequence, and the operator [Alignment_unit_rep] for accessing to the corresponding unit of the structure. |
AlignerAlgorithm | Base functor for the algorithm that makes the alignment between the two input structures : 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 structures 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. |
MolecularDistance | Distance functor between two molecular structures (default is lRMSD). |
typedef Base::Aligned_pair Aligned_pair |
Representation of two aligned units.
|
inherited |
Core algorithm performing the alignment.
typedef Base::Alignment_type Alignment_type |
Representation of an alignment as a sequence of aligned units.
typedef Base::Alignment_unit Alignment_unit |
Type for a unit (e.g residue or nucleotid)
Representation of the name of a unit.
Representation of a unit for index purposes.
typedef CGAL::Cartesian_d<FT>::Point_d Conformation |
Data type representing a conformation used in the lRMSD computation (constructor takes (dimension, begin_coordinates, end_coordinates)).
typedef std::vector<std::vector<FT> > Distance_difference_matrix |
DDM for computing the dRMSD.
typedef Base::Matrix_function 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.
|
inherited |
Representation of two unit names.
typedef Base::Score_type Score_type |
Representation of the score of the algorithm.
Enum for selecting the length of the sequence to consider when computing the similarity / identity percentages.
|
inherited |
Type for representing the sequences or the structures to align.
Representation of the storage of values of the subtitution matrix.
|
inline |
Constructor initializing the input structures and possibly the aligner algorithm.
|
inlineinherited |
Returns the first sequence or structure of the alignment.
|
inlineinherited |
Returns the second sequence or structure of the alignment.
|
inlineinherited |
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.
|
inlineinherited |
Print the alignment as a dot graph.
|
inlineinherited |
Print the alignment in txt format.
|
inlineinherited |
Set the current matrix as the BLOSUM30 matrix as defined in Seqan 2.0.
|
inlineinherited |
Set the current matrix as the BLOSUM45 matrix as defined in Seqan 2.0.
|
inlineinherited |
Set the current matrix as the BLOSUM62 matrix as defined in Seqan 2.0.
|
inlineinherited |
Set the current matrix as the BLOSUM80 matrix as defined in Seqan 2.0.
|
inlineinherited |
Set the current matrix as the PAM120 matrix as defined in Seqan 2.0.
|
inlineinherited |
Set the current matrix as the PAM200 matrix as defined in Seqan 2.0.
|
inlineinherited |
Set the current matrix as the PAM250 matrix as defined in Seqan 2.0.
|
inlineinherited |
Set the current matrix as the PAM40 matrix as defined in Seqan 2.0.
|
inlineinherited |
Set the current matrix as one of the standard substitution matrices.
|
inlineinherited |
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.
|
inlineinherited |
Set the current matrix as the VTML200 matrix as defined in Seqan 2.0.