Recherche en Bioinformatique - Alignement |
Alignement multiple (Multiple Sequence Alignment)![]() |
L'algorithme de Programmation Dynamique peut être étendu dans le cadre de l'alignement de plus de 2 séquences. Cependant sa complexité spatiale est en O(nk) et sa complexité temporelle est en O(2k x nk), où k est le nombre de séquences à aligner, ce qui rend cet algorithme particulièrement inadapté à l'alignement de plus de 6 à 8 séquences.
Par exemple pour un alignement global de 3 séquences avec gaps linéaires on utilise la formule suivante :
M[i,j,k] = | ![]() |
|
Exemple Si on doit aligner 10 séquences de longueur 100, il est nécessaire d'effectuer de l'ordre de : |
Des alternatives ont été développées afin de s'attaquer à ce problème difficile. Citons en particulier :
Méthodes progressives
Les alignements multiples progressifs sont créés en commençant par aligner les séquences les plus similaires, puis en ajoutant progressivement les séquences les moins similaires.
L'ordre dans lequel les séquences sont ajoutées est donné par un guide tree ou arbre phylogénétique construit par une méthode de neighbor-joining dans le cas de Clustal, ou UPGMA dans le cas de PileUp.
Cette méthode se révèle très efficace pour construire rapidement des alignements multiples car sa complexité est linéaire en nombre de séquences à aligner.
Méthodes itératives
Ces méthodes consistent d'une part à aligner de manière répétitives des segments (ou sous-groupes de séquences) et d'autre part à aligner ces sous-groupes dans le cadre d'un alignement global. Le but de ce genre d'approche est d'améliorer la qualité globale de l'alignement.
Les logiciels qui mettent en oeuvre ce genre de méthodes sont MaultAlin (Corpoet 1988), DIALIGN (), SAGA (Notredame et Higgins, 1996).
Hidden Markov Model
Maximum Weihgt Trace problem
|
Jean-Michel Richer, 2004