Define-se alinhamento global como sendo o alinhamento em toda a extensão da sequência. De forma a retirar algum significado dos alinhamentos são usados algoritmos como o de Needleman-Wunsch na sua classificação.
Este algoritmo é utilizado para alinhar globalmente pares de sequências, maximizando o número de alinhamentos individuais (um-para-um) que são iguais (match) e minimizando os espaçamentos (gap).
Para exemplifica o funcionamento deste algoritmo são escolhidas duas sequências:
CGCTATAT (sequência #1)
TATACTA (sequência #2)
Temos que M = 7 (comprimento da sequência #1) e N = 6 (comprimento da sequência #2)
O Needleman-Wunsch é um algoritmo de programação dinâmica que se processa em três passos: inicialização, preenchimento da matriz (scoring) e Alinhamento (traceback).
- Inicialização
- O primeiro passo é criar a matriz com M + 1 colunas (uma coluna é para o espaçamento) e N + 1 linhas onde M e N correspondem ao comprimento das sequências a alinhar.
- Inicializar a matriz de acordo com a condição inicial, sendo que F(i,j) é a Função de Pontuação para preenchimento da matriz e d a pontuação do espaçamento:
Que se traduz na seguinte matriz inicializada:
- Preenchimento da Matrix (scoring)
- Escolher a Função de Pontuação e a Matriz de Mérito
- Preencher o resto da tabela de acordo com a função de pontuação e a matriz de mérito.
A matriz totalmente preenchida fica da seguinte forma:
- Alinhamento (traceback)
- A pontuação máxima do alinhamento para as duas sequências é 10. O traceback determina o alinhamento actual que resulta na pontuação máxima. É de notar que poderá haver múltiplos alinhamentos com pontuação máxima.
- Começar na posição M,N da matriz (esta caso existe um 10 nesta posição) e olhar para as células vizinhas que podem ser as precedentes directos de acordo com a seguinte regra de alinhamento:
- Diagonal: xi alinha com yi; - Cima: yi alinha com espaço; - Esquerda: xi alinha com espaço;
Na realidade, para o primeiro passo, significa olhar para cima (yi alinha com espaço).
- Seguir todo o caminho até não existirem mais precedentes.
O valor na posição M,N é dado pela soma das parcelas correspondentes à pontuação de cada alinhamento individual. Segue-se uma animação, que ajuda compreender o funcionamento deste algoritmo para uma alinhamento entre estas duas seqências de ADN:
O mesmo algoritmo pode ser aplicado a sequências de aminiácidos como na próxima animação:
|