Como o algoritmo decide o melhor alinhamento
As duas sequências viram os eixos de uma matriz. Cada célula F(i, j) guarda a melhor pontuação possível até aquele ponto, escolhida entre três origens: vir da diagonal (alinhar os dois caracteres, com prêmio de match ou penalidade de mismatch), vir de cima (gap na sequência 2) ou vir da esquerda (gap na sequência 1).
F(i,j) = max[ F(i-1,j-1) + S(i,j), F(i-1,j) + gap, F(i,j-1) + gap ]
O traceback percorre a matriz de trás para frente a partir da melhor célula, reconstruindo o caminho até a origem. É aqui que global e local se separam:
| Característica | Global — Needleman-Wunsch (1970) | Local — Smith-Waterman (1981) |
|---|---|---|
| Bordo da matriz | Acumula penalidade de gap desde a célula (0,0) | Fica em zero — nunca fica negativo |
| Traceback começa em | Canto inferior direito (fim das duas sequências) | Célula de maior pontuação de toda a matriz |
| Traceback termina em | Célula (0,0) — início das duas sequências | Primeira célula com valor zero |
| Resultado | As duas sequências inteiras, de ponta a ponta | Só a sub-região mais parecida |
| Quando usar | Sequências de tamanho parecido, homologia esperada em toda a extensão | Achar um domínio ou motivo conservado dentro de sequências maiores |
Fonte: NEEDLEMAN, S.B.; WUNSCH, C.D. "A general method applicable to the search for similarities in the amino acid sequence of two proteins". Journal of Molecular Biology, 1970, 48(3), 443-453 — e SMITH, T.F.; WATERMAN, M.S. "Identification of common molecular subsequences". Journal of Molecular Biology, 1981, 147(1), 195-197. Consultado em 21/09/2026. Modelo de penalidade de gap: linear (constante por símbolo), como nos artigos originais — não é o modelo afim (abertura + extensão) usado por ferramentas mais recentes como o EMBOSS Needle/Water.
Exemplo resolvido — alinhamento global
Sequências GCATGCU e GATTACA, match +1, mismatch −1, gap −2 (o exemplo clássico do algoritmo de Needleman-Wunsch):
GCATGCU |..|.|. GATTACA Pontuação: -1 · Identidade: 42,9%
Exemplo resolvido — alinhamento local
Sequências TGTTACGG e GGTTGACTA, match +2, mismatch −1, gap −2 (exemplo clássico do algoritmo de Smith-Waterman): o alinhamento local encontra a sub-região GTT-AC/GTTGAC, ignorando o resto:
GTT-AC ||| || GTTGAC Pontuação: 8 · Identidade: 83,3% · Início: posição 2 em cada sequência
Estes são os mesmos dois exemplos verificados em test.html, com os valores exatos que o código produz — use os botões "Carregar exemplo" acima para reproduzi-los.
Códigos IUPAC aceitos
A ferramenta aceita os códigos padrão IUPAC (ambiguidade inclusive): ACGTU + RYSWKMBDHVN
para nucleotídeos, e os 20 aminoácidos + BZXJ para proteína. Espaços, números e quebras de
linha são ignorados; uma linha começando com > é tratada como cabeçalho FASTA e descartada.
Perguntas frequentes
Qual a diferença entre alinhamento global (Needleman-Wunsch) e local (Smith-Waterman)?
O global força as duas sequências inteiras a se alinharem de ponta a ponta, penalizando toda extremidade sem correspondência — bom para comparar sequências de tamanho parecido e homologia esperada em toda a extensão. O local encontra a melhor sub-região de similaridade entre as duas sequências, ignorando o resto — bom para achar um domínio conservado dentro de sequências maiores e diferentes.
Que modelo de penalidade de gap esta ferramenta usa?
Penalidade de gap linear: cada símbolo de gap custa o mesmo valor fixo, sem custo extra para abrir o gap. É o modelo do algoritmo clássico de Needleman-Wunsch (1970) e Smith-Waterman (1981). Ferramentas mais recentes, como o EMBOSS Needle, usam o modelo afim (penalidade de abertura + penalidade de extensão, geralmente menor), que produz alinhamentos com gaps mais concentrados.
Como a % de identidade é calculada?
Número de posições com caractere idêntico nos dois lados, dividido pelo comprimento total do alinhamento (incluindo as posições com gap), vezes 100. É a convenção didática mais comum; ferramentas como o EMBL-EBI também oferecem dividir só pelas posições sem gap, o que produz um percentual mais alto para o mesmo alinhamento.
Até que tamanho de sequência a ferramenta aceita?
Até 2000 caracteres por sequência. O algoritmo é O(n×m) em tempo e memória: duas sequências de 2000 caracteres já geram uma matriz de 4 milhões de células. Acima disso a ferramenta recusa o cálculo para não travar a aba do navegador — para genomas inteiros, a ferramenta certa é BLAST ou um alinhador com heurística (ex.: minimap2), não programação dinâmica exata.
As sequências que eu colo saem do meu navegador?
Não. O cálculo roda inteiramente em JavaScript no seu navegador. Nenhuma sequência, resultado ou matriz é enviada a este site ou a terceiros — você pode conferir na aba Rede das ferramentas do navegador (F12).
Aviso: esta ferramenta apoia o estudo e a triagem de alinhamentos par a par com o algoritmo clássico de programação dinâmica. Para decisões clínicas, publicação científica ou comparação contra bancos genômicos inteiros, use ferramentas validadas para esse fim (ex.: BLAST, EMBOSS) e a revisão de um profissional habilitado.