EduAlign

Drapeau français Drapeau anglais

Données

Séquences à alignerAlignement optimal
PLANTE 
PENTES 
Score d'alignement : ?

Paramètres

Identité (match) : 1
Substitution (mismatch) : -1
Lacune (gap) : -1

Actions

Les matrices et des explications détaillées apparaitront ici lorsque vous lancerez l'algorithme d'alignement.

Démarrage avec deux matrices vides : L'algorithme commence par initialiser deux matrices, la matrice des scores et la matrice des traces. La matrice des scores est utilisée pour enregistrer les scores cumulés permettant d'aligner un préfixe de la première séquence avec un préfixe de la seconde séquence. Elle représente l'ensemble des possibilités d'alignement sous forme d'un tableau bidimensionnel, où chaque cellule correspond à une étape intermédiaire d'alignement. La première séquence est associée aux lignes et la seconde séquence aux colonnes. La matrice des traces, quant à elle, est conçue pour garder en mémoire les directions d'où proviennent les scores optimaux dans la matrice des scores. Ces directions (⭦, ⭡, ⭠) sont cruciales pour reconstruire l'alignement optimal lors de la phase de backtracking. Au départ, ces deux matrices sont vides à l'exception d'un score nul inscrit dans la cellule (0, 0).

Initialisation de la première ligne : La première ligne de la matrice des scores est remplie pour représenter l'alignement d'une séquence vide avec un préfixe de la seconde séquence. Chaque cellule de cette ligne est calculée en cumulant les pénalités de lacunes, puisque seul un alignement avec des lacunes est possible dans ce cas. Ainsi, la cellule (0, j) contient le score j * gap, où gap est la pénalité définie par l'utilisateur. Dans la matrice des traces, chaque cellule de cette ligne est marquée par une direction gauche (⭠), indiquant que ces scores sont obtenus par l'ajout successif de lacunes dans la première séquence.

Initialisation de la première colonne : La première colonne de la matrice des scores est remplie pour représenter l'alignement d'un préfixe de la première séquence avec une séquence vide. Comme pour la première ligne, chaque cellule est calculée en cumulant les pénalités de lacunes, avec le score i * gap pour la cellule (i, 0). Dans la matrice des traces, chaque cellule de cette colonne est marquée par une direction haut (⭡), indiquant que les scores sont obtenus par l'ajout successif de lacunes dans la seconde séquence.

Remplissage des matrices ligne par ligne : Cette étape constitue le cœur de l'algorithme. Pour chaque cellule (i, j) de la matrice (autre que celles de la première ligne et de la première colonne), trois scores possibles sont calculés : le score pour une correspondance de position entre les deux séquences (⭦), le score pour une lacune dans la première séquence (⭠), et le score pour une lacune dans la seconde séquence (⭡). Le score maximal parmi ces trois possibilités est enregistré dans la cellule (voir l'infobulle), reflétant le meilleur alignement possible pour les préfixes correspondants des deux séquences. La matrice des traces est simultanément mise à jour pour enregistrer la provenance du score maximal (diagonale, haut, ou gauche). En cas d'égalité l'algorithme fait un choix arbitraire. Toutes les cellules de la matrice sont ainsi progressivement remplies jusqu'à atteindre le coin inférieur droit.

Retour sur trace (backtracking) : Une fois la matrice des scores complètement remplie, l'algorithme utilise la matrice des traces pour reconstruire l'alignement optimal. Le processus commence dans la cellule finale (m, n) de la matrice, où m et n représentent les longueurs des séquences 1 et 2. En suivant les directions indiquées (⭦, ⭡, ⭠), l'algorithme remonte dans la matrice jusqu'à atteindre la cellule (0, 0). Chaque direction correspond à une décision : une diagonale (⭦) aligne deux caractères, un déplacement horizontal (⭠) introduit une lacune dans la première séquence, et un déplacement vertical (⭡) introduit une lacune dans la seconde. Cette étape produit les deux séquences alignées, prêtes à être affichées.

Alignement terminé : Lorsque l'algorithme atteint la cellule (0, 0), l'alignement optimal est entièrement reconstruit. Le score global, situé dans la cellule (m, n), représente le meilleur score possible pour aligner les deux séquences en fonction des paramètres définis. L'utilisateur peut visualiser les séquences alignées, les lacunes introduites, et le chemin suivi dans la matrice pour parvenir à cette solution optimale.

À propos

EduAlign est une application pédagogique pour le lycée et l'enseignement supérieur. Son objectif est de faciliter la compréhension de l'algorithme de Needleman-Wunsch en montrant son déroulement pas à pas de manière interactive. Dernière mise à jour : 27/01/2025.

Auteur : Damien Aubert Pennequin.Email de l'auteur

icône de licenceLicence : L'application EduAlign est sous licence de libre diffusion Creative Commons (CC). L'application peut être librement utilisée, à la condition de l'attribuer à l'auteur en citant son nom (BY). Aucune utilisation commerciale n'est autorisée (NC). Aucune modification de l'application n'est autorisée (ND).

RGPD : Cette application est compatible RGPD. Elle ne collecte aucune donnée. Elle n'utilise aucun cookie. Toutes les tâches s'exécutent côté client.