![]() |
Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
|
Authors: F. Cazals and T. Dreyfus and R. Tetley
Structural alignments.
Given two structures, a structural alignment is a matching between structural motifs within these structures. The problem has many variants, depending on (i) the representation used, (ii) the score optimized, and (iii) the optimization algorithm used.
As typical examples, one may cite:
Iterative alignments. Iterative alignments [22] , [145] consists in iteratively finding the alignment for fixed positions of the conformations–via dynamic programming, and finding optimal superimposition given the alignment–the classical rigid superimposition problem. The process is typically iterated until a fixed point or a cycle is reached. Such alignments are especially interesting when seeded with our motifs, for two reasons.
Performing a structural alignment has two components:
Each step is easy given the result of the other one:
The complexity actually comes from solving these two steps at once. To do so, a classical strategy consists in interleaving the DP two operations just discussed.
This is used in the fuzzy alignment from [22] , and also for [145] .
Alignments and statistics. The companion package Alignment_engines provides tools to compute statistics on various alignments.
For , which is currently made available, the reader is referred to [145] .
The Iterative_alignment package provides a number of novel classes which, in addition to instantiating the Kpax algorithm, are a framework enabling the user to easily design new iterative alignment methods:
The executable sbl-iterative-alignment-kpax.cpp implements the algorithm using the previous classes.