Vous avez deux séquences que vous voulez aligner. Au départ, les séquences ne contiennent ni tiret, ni indel, ni trou. C'est le programme d'alignement qui introduit les indels pour pouvoir aligner au mieux les deux séquences entre elles, dans le but d'obtenir un alignement optimal.
Le but de la matrice de programmation dynamique est donc justement de définir combien il faut introduire d'indels et à quelles positions entre les deux séquences.
Il n'existe pas qu'une seule manière d'aligner les deux séq entre elles, il existe une multitude d'alignements possibles, obtenant des scores divers.
Le but est de trouver rapidement le meilleur alignement, celui avec un score optimal.
A chaque fois qu'on aligne un résidu avec un autre, il faut donc tester les différentes possibilités (alignement, indel dans une seq ou dans l'autre), et on retient LA solution optimale, celle qui minimise le score (ou maximise le score, selon le cas : score de distance ou score d'homologie).
Donc pour l'endroit qui vous pose souci, on teste les 3 possibilités, par la diagonale, par l'horizontale et la verticale. Dans ce cas, le score minimal obtenu est 6, et il y a deux chemins qui donnent ce score minimal de 6. On retient donc ces deux chemins possibles dans la matrice.
Attention, à ce stade là, nous n'avons pas encore l'alignement optimal, il sera défini lors de la lecture arrière. Et dans cet exemple, ces cases ne seront pas utilisées pour l'alignemet optimal, elles ne correspondent pas à la trajectoire optimale.
Est ce que c'est plus clair ?
BW