Alinhamento global
Marcos Castro
1
Introdução
O Algoritmo de Needleman-Wunsch é utilizado em
Bioinformática para realizar o alinhamento global de
sequências de proteínas ou nucleotídeos.
2
Alinhamento global vs local
Alinhamento global é um alinhamento que se faz em toda a
extensão da sequência.
3
Algoritmo de Needleman-Wunsch
O algoritmo faz uso de uma matriz de pontuação (scores)
para medir a similaridade entre os caracteres.
4
Algoritmo de Needleman-Wunsch
Supor uma sequência s1 e outra sequência s2, tam_s1 e
tam_s2 serão os tamanhos dessas sequências.
5
Algoritmo de Needleman-Wunsch
O M[0][0] será 0. O restante dos elementos da primeira linha
serão preenchidos da seguinte forma:
6
Algoritmo de Needleman-Wunsch
Exemplo para inicializar a primeira linha:
gap_penalty = -1
M[0][1] = M[0][0] + gap_penalty = 0 + (-1) = -1
M[0][2] = M[0][1] + gap_penalty = -1 + (-1) = -2
e assim por diante...
Exemplo para inicializar a primeira coluna:
M[1][0] = M[0][0] + gap_penalty = 0 + (-1) = -1
M[2][0] = M[1][0] + gap_penalty = -1 + (-1) = -2
e assim por diante...
7
Algoritmo de Needleman-Wunsch
Iremos alinhar as sequências GCAT e GAT.
Supor os valores para os seguintes parâmetros:
match = 1, mismatch = -1, gap_penalty = -1
Preenchemos a primeira linha e primeira coluna:
- G C A T
- 0 -1 -2 -3 -4
G -1
A -2
T -3
8
Algoritmo de Needleman-Wunsch
- G C A T
- 0 -1 -2 -3 -4
G -1 ?
A -2
T -3
9
Algoritmo de Needleman-Wunsch
- G C A T
- 0 -1 -2 -3 -4
G -1 ?
A -2
T -3
10
Algoritmo de Needleman-Wunsch
- G C A T
- 0 -1 -2 -3 -4
G -1 ?
A -2
T -3
11
Algoritmo de Needleman-Wunsch
- G C A T
- 0 -1 -2 -3 -4
G -1 ?
A -2
T -3
12
Algoritmo de Needleman-Wunsch
- G C A T
- 0 -1 -2 -3 -4
G -1 ?
A -2
T -3
13
Algoritmo de Needleman-Wunsch
- G C A T
- 0 -1 -2 -3 -4
G -1 ?
A -2
T -3
14
Algoritmo de Needleman-Wunsch
- G C A T
- 0 -1 -2 -3 -4
G -1 1 ?
A -2
T -3
15
Algoritmo de Needleman-Wunsch
Matriz preenchida:
- G C A T
- 0 -1 -2 -3 -4
G -1 1 0 -1 -2
A -2 0 0 1 0
T -3 -1 -1 0 2
16
Algoritmo de Needleman-Wunsch
O algoritmo permite reconhecer qual a célula que deu origem
a cada entrada da matriz. Essa precedência é indicada pelas
setas:
- G C A T
- 0 -1 -2 -3 -4
G -1 1 0 -1 -2
A -2 0 0 1 0
T -3 -1 -1 0 2
17
Algoritmo de Needleman-Wunsch
- G C A T
- 0 -1 -2 -3 -4
G -1 1 0 -1 -2
A -2 0 0 1 0
T -3 -1 -1 0 2
18
Algoritmo de Needleman-Wunsch
- G C A T
- 0 -1 -2 -3 -4
G -1 1 0 -1 -2
A -2 0 0 1 0
T -3 -1 -1 0 2
19
Algoritmo de Needleman-Wunsch
- G C A T
- 0 -1 -2 -3 -4
G -1 1 0 -1 -2
A -2 0 0 1 0
T -3 -1 -1 0 2
20
Algoritmo de Needleman-Wunsch
- G C A T
- 0 -1 -2 -3 -4
G -1 1 0 -1 -2
A -2 0 0 1 0
T -3 -1 -1 0 2
21
Algoritmo de Needleman-Wunsch
- G C A T
- 0 -1 -2 -3 -4
G -1 1 0 -1 -2
A -2 0 0 1 0
T -3 -1 -1 0 2
22
Algoritmo de Needleman-Wunsch
- G C A T
- 0 -1 -2 -3 -4
G -1 1 0 -1 -2
A -2 0 0 1 0
T -3 -1 -1 0 2
23
Implementação
A implementação foi feita utilizando a linguagem de
programação Python. O código encontra-se no endereço:
https://github.com/marcoscastro/msc_bioinfo/tree/master/n
eedleman_wunsch
mcastrosouza@live.com
Obrigado! 25
Referências
http://www.cs.utoronto.ca/~brudno/bcb410/lec2notes.pdf
http://web.ist.utl.pt/ist155746/relatorio_2_bc.pdf
http://en.wikipedia.org/wiki/Needleman-Wunsch_algorithm
26