🧬 Aligneur de séquences ADN — Smith-Waterman en direct
Observez le véritable algorithme d'alignement local Smith-Waterman construire sa matrice de score et retracer l'alignement optimal entre deux séquences d'ADN synthétiques, en mettant en évidence correspondances, incompatibilités et lacunes.
À propos de cette simulation
Cette simulation exécute le véritable algorithme d'alignement local de séquences Smith-Waterman sur deux séquences d'ADN synthétiques : une « référence » de longueur fixe et une « lecture » plus longue obtenue en mutant une copie de la référence et en la complétant de bases aléatoires inutiles des deux côtés. À chaque étape, la récurrence de programmation dynamique H(i,j) = max(0, diagonale + correspondance/incompatibilité, haut − lacune, gauche − lacune) remplit une véritable matrice de score, la cellule au score le plus élevé est localisée, et un véritable retour en arrière remonte depuis cette cellule jusqu'à ce que le score revienne à zéro — reconstruisant exactement l'alignement local optimal plutôt que d'en simuler un.
🔬 Ce que ça montre
Une carte thermique en direct de la matrice complète de programmation dynamique, rendue cellule par cellule à mesure qu'elle se remplit, avec le chemin de retour depuis la cellule au meilleur score souligné en or. En dessous, la paire de séquences alignées résultante est dessinée base par base avec les correspondances en vert, les incompatibilités en rouge et les lacunes en ambre — les trois mêmes résultats qu'un véritable appelant de variants doit classer.
🎮 Comment l'utiliser
Ajustez la longueur de référence (16–40 pb) et le taux de mutation (0–50 %), puis appuyez sur Régénérer pour une nouvelle lecture synthétique. Réglez le score de correspondance, la pénalité d'incompatibilité et la pénalité de lacune et observez la matrice et l'alignement se mettre à jour instantanément. Utilisez Lecture du remplissage pour animer le remplissage de la matrice ligne par ligne, Étape par cellule pour avancer manuellement, ou Remplissage instantané pour sauter directement à l'alignement final et aux statistiques.
💡 Le saviez-vous ?
Smith-Waterman (1981) garantit l'alignement local mathématiquement optimal pour un schéma de score donné, en temps et espace O(mn) — mais les véritables aligneurs de lectures courtes comme BWA et Bowtie exécutent rarement l'algorithme complet sur des génomes entiers car c'est trop lent à cette échelle. Ils utilisent à la place un amorçage rapide basé sur un index (comme la transformée de Burrows-Wheeler) pour trouver d'abord des régions candidates, puis reviennent à un programme dynamique de type Smith-Waterman, exactement comme cette simulation, uniquement pour affiner l'alignement dans une courte fenêtre candidate.
Questions fréquentes
Qu'est-ce que l'algorithme Smith-Waterman ?
Smith-Waterman est un algorithme de programmation dynamique permettant de trouver l'alignement local optimal entre deux séquences. Contrairement à Needleman-Wunsch, qui aligne les séquences de bout en bout, Smith-Waterman permet à l'alignement de commencer et de s'arrêter n'importe où, ce qui le rend idéal pour trouver une courte région correspondante — comme une lecture de séquençage ou un fragment de gène — à l'intérieur d'une séquence plus longue et par ailleurs sans rapport. Il fonctionne en remplissant une matrice de score cellule par cellule à l'aide de la récurrence H(i,j) = max(0, H(i-1,j-1)+s(a,b), H(i-1,j)-lacune, H(i,j-1)-lacune), puis en retraçant depuis la cellule au score le plus élevé jusqu'à ce que le score revienne à zéro.
Comment la matrice de score se remplit-elle ?
Chaque cellule H(i,j) représente le meilleur score d'alignement local se terminant à la position i de référence et j de lecture. Elle prend le maximum de quatre options : démarrer un tout nouvel alignement ici (score 0), étendre une correspondance ou incompatibilité diagonale depuis H(i-1,j-1), étendre une lacune dans la lecture depuis H(i-1,j), ou étendre une lacune dans la référence depuis H(i,j-1). Comme les scores sont plafonnés à zéro par le bas, toute série de mauvaises correspondances réinitialise simplement l'alignement local au lieu de rendre tout le score négatif, ce qui distingue précisément l'alignement local de l'alignement global.
Que contrôlent les pénalités de correspondance, d'incompatibilité et de lacune ?
Le score de correspondance récompense l'alignement de bases identiques entre elles ; la pénalité d'incompatibilité est soustraite quand deux bases différentes sont forcées de s'aligner ; la pénalité de lacune est soustraite chaque fois que l'algorithme ouvre une lacune (une insertion ou une délétion) dans l'une ou l'autre séquence. Augmenter la pénalité de lacune par rapport à la pénalité d'incompatibilité fait préférer à l'aligneur les substitutions aux indels, et vice versa — le même compromis que les véritables aligneurs ajustent lors de l'appel de variants génétiques à partir de lectures de séquençage bruitées.
Pourquoi la lecture inclut-elle des bases flanquantes aléatoires ?
Les véritables lectures de séquençage s'alignent rarement bord à bord avec une référence — elles contiennent généralement la région d'intérêt intégrée dans une séquence d'adaptateur, des erreurs de séquençage ou un contexte génomique voisin. Compléter le noyau muté d'ADN aléatoire inutile des deux côtés démontre la force clé de Smith-Waterman : il trouve et note uniquement la meilleure région locale correspondante, en ignorant complètement les flancs sans rapport, plutôt que de forcer un alignement sur toute la lecture.
Comment le pourcentage d'identité est-il calculé ici ?
Percent identity is the fraction of columns in the traced-back local alignment where the reference and read bases are identical. It is computed directly from the traceback path, not estimated, so it reflects exactly the alignment the algorithm reports as optimal for the current scoring scheme.
Cette simulation est-elle mathématiquement exacte ?
Oui. La récurrence de score, la règle de plafonnement à zéro, le choix de la cellule au score maximal et le retour en arrière sont tous implémentés exactement comme dans la formulation originale de Smith & Waterman (1981) avec une pénalité de lacune linéaire. Elle omet le score de lacune affine (un coût distinct d'ouverture et d'extension de lacune) et les matrices de substitution d'acides aminés, que de véritables aligneurs comme BLAST ou BWA ajoutent par-dessus cette même récurrence de base.
Un véritable programme dynamique Smith-Waterman remplit une matrice de score entre une référence et une lecture mutée et flanquée, puis retrace l'alignement local optimal — correspondances, incompatibilités et lacunes en couleur, avec des statistiques en direct de pourcentage d'identité et de nombre de lacunes.
3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install