# Alinhamento de sequências

Na bioinformática, alinhamento de sequência é uma técnica de organizar as sequências de DNA, RNA, nucleotídeos ou proteínas para identificar regiões de similaridade que podem ser consequência de relações funcionais, estruturais ou evolutivas entre as sequências. Esses alinhamentos são feitos por softwares cujo objetivo é maximizar o número de coincidências entre nucleotídeos ou aminoácidos nas diferentes sequências. Nucleotídeos ou aminoácidos são normalmente representadas como linhas em uma matriz.
Essa técnica de comparação de sequências é implementada segundo um conceito de desenvolvimento de programas conhecido como um algoritmo guloso e é um dos pilares de toda a bioinformática. Existem centenas de aplicações do alinhamento de seqüências, tanto na identificação de genes e proteínas desconhecidas, quanto na comparação da ordem de genes em genomas de organismos proximamente relacionados (sintenia), no mapeamento de sequências expressas dentro de um genoma para identificação de genes, na montagem de genomas e em diversas outras aplicações.
Essencialmente alinhar duas sequencias consiste na inserção de espaços (gaps) nas sequências de modo que elas fiquem do mesmo tamanho, e seja possível sobrepô-las para a comparação das bases. A partir de um alinhamento, é possível quantificar a similaridade entre duas sequências e usando um sistema de pontuação qualificar um alinhamento ótimo. Um alinhamento ótimo é aquele que melhor representa o cenário de evolução das sequências.
Abordagens computacionais para o alinhamento de sequências dividem-se, em geral, em duas categorias: alinhamentos globais e alinhamentos locais.

## Alinhamentos globais e locais
### Alinhamento global

Desenvolvido em 1970, o Alinhamento global, também são conhecidos pelo nome de seus desenvolvedores, Needleman e Wunsch, envolvem o alinhamento de sequências inteiras em seu todo comprimento. Os alinhamentos globais são usados principalmente quando as sequências a serem estudadas são semelhantes em comprimento e homologias de sequências são esperadas. Devido ao seu nível de extensão, o método de alinhamento global é tipicamente usado em Alinhamentos par a par, já que se usado em alinhamentos múltiplos o cálculo é extremamente difícil e complexo.
No geral, o alinhamento global é feito quando comparamos uma sequência de aminoácidos ou nucleotídeos com outra, ao longo de toda sua extensão (http://www.ncbi.nlm.nih.gov/Education/BLASTinfo/glossary2.html). O algoritmo Needleman-Wunsch é o mais conhecido para realizar esse tipo de alinhamento, © Francisco Prosdocimi, 2007. Todos os direitos reservados ao autor da obra. Críticas, sugestões, comentários e apreciações são bem-vindos franc @ icb . ufmg . br 19 embora outros programas, como o MULTALIN (http://prodes.toulouse.inra.fr/multalin/multalin.html) também o façam (Corpet, 1988). Nesse caso são dados valores em uma matriz de comparação para as similaridades (matches), diferenças (mismatches) e falhas (gaps) encontrados durante o alinhamento das sequências. As somas dos valores do alinhamento, de acordo com essa matriz de comparação, resulta num valor, que é um escore de similaridade entre as sequências (Figura 3.2.). No MULTALIN não é dado escore de similaridade (já que ele permite o alinhamento de várias sequências ao mesmo tempo), e a semelhança entre as sequências deve ser medida através de inspeção visual.

### Alinhamento local

Desenvolvido em 1981, o Alinhamento local ou conhecido como Smith-Waterman, nome derivado de seus desenvolvedores, é o método de alinhamento que envolvem apenas regiões do comprimento de uma sequência (subsequências), e não toda sua extensão como o alinhamento global. O alinhamento local é usado quando duas sequências devem ser examinadas para a localização de homologias, mas nenhuma correspondência é esperada em toda a extensão da sequência. Esse é o método mais utilizado devido a sua precisão, especialmente em alinhamentos múltiplos e a capacidade de obtenção de alinhamentos corretos em regiões de baixa similaridade entre sequências biológicas distantemente relacionadas. O alinhamento local foi desenvolvido a partir de algoritmos para alinhamentos globais. A ferramenta mais conhecida por realizar alinhamentos locais de forma rápida e eficiente chama-se BLAST (Basic Local Alignment Search Tool) ou Ferramenta Básica de Procura por Alinhamento Local), encontrado em http://www.ncbi.nlm.nih.gov/BLAST/. Esse software compreende um conjunto de algoritmos de comparação de sequências montado de forma a explorar toda a informação contida em bases de dados de DNA e proteínas (http://www.ncbi.nlm. nih.gov/BLAST/blast_overview.html). O BLAST apresenta diferentes subprogramas que devem ser utilizados de acordo com o tipo de sequência de entrada e os bancos de dados que se deseja pesquisar. $_{Figura:AlinhamentodeSequências.OalinhamentodesequênciasdeDNAérealizadobuscandoáreasdesimilaridadeentreduassequênciasusandoalgoritmosespecíficos,comooalgoritmoguloso.Duranteoprocesso,pontuaçõessãoatribuídasparadiferenteseventos:matches(correspondênciasexatas),mismatches(nãocorrespondências),aberturadefalhas(gapopening)eextensãodefalhas(gapextension).Essesvaloressãodefinidosporumamatrizdepontuaçãoquepenalizaourecompensaconformeotipodeeventoencontradonoalinhamento.Noexemploilustrado,asomadaspontuaçõesparacadaeventoresultaemumescoretotalde3,quequantificaograudesimilaridadeentreassequênciascomparadas.Esseescoreéaplicáveltantoemalinhamentosglobaisquantoemalinhamentoslocais,dependendodocontextodaanálise.}$

## Alinhamento par a par e Alinhamento de múltiplas sequências
### Alinhamento par a par

Os métodos de alinhamento de sequência par a par são usados ​​para encontrar os alinhamentos (locais ou globais) de duas sequências. Este método de alinhamento utiliza programação dinâmica para alinhar duas sequencias e requer Ω (mn) para tempo e espaço, onde m e n são os comprimentos das sequências. Os alinhamentos par a par só podem ser usados em duas sequências por vez, porém são eficientes para calcular e são frequentemente usados ​​para métodos que não exigem extrema precisão.
Desenvolvido em 1970 pelos pesquisadores Needleman e Wunsch, o alinhamento global é uma técnica que busca alinhar sequências inteiras, do início ao fim, correspondendo todos os elementos ao longo de seus comprimentos. Esse método é mais adequado quando as sequências a serem comparadas possuem comprimentos semelhantes e espera-se que compartilhem homologias em sua totalidade. O alinhamento global procura ajustar todas as partes das sequências, inserindo lacunas (gaps) conforme necessário para otimizar a correspondência.
Esse tipo de alinhamento é frequentemente utilizado em análises par a par, uma vez que em alinhamentos múltiplos ele se torna extremamente complexo e exigente em termos de recursos computacionais, dado o número crescente de combinações à medida que o número de sequências aumenta. Além disso, o alinhamento global pode não ser ideal quando as sequências são de tamanhos muito diferentes ou possuem regiões altamente divergentes, pois força o alinhamento de todo o conteúdo, o que pode comprometer a precisão. Nesses casos, abordagens de alinhamento local, como o algoritmo de Smith-Waterman, são preferidas, já que permitem alinhar apenas as regiões mais semelhantes entre as sequências.

### Alinhamentos ótimos e heurísticos

Ao alinhar sequências, é preciso decidir entre priorizar a precisão máxima, usando métodos exatos, ou optar por maior rapidez com abordagens aproximadas. Algoritmos como Needleman-Wunsch e Smith-Waterman garantem alinhamentos ótimos, explorando todas as combinações possíveis para maximizar a similaridade. Apesar de oferecerem alta precisão, essas técnicas demandam grande capacidade computacional, o que pode torná-las inviáveis para grandes volumes de dados ou análises que exigem agilidade.
Métodos heurísticos, como o BLAST, surgem como alternativas mais rápidas, ainda que menos precisas. Eles utilizam estratégias para reduzir o tempo de processamento, como a identificação inicial de segmentos altamente similares, permitindo buscas eficientes em grandes bancos de dados. Essas heurísticas são particularmente úteis em estudos exploratórios, onde a rapidez supera a necessidade de precisão absoluta.
A escolha entre métodos exatos e heurísticos depende do objetivo da análise. Para resultados altamente precisos, algoritmos ótimos são preferidos, enquanto métodos heurísticos são ideais para análises em larga escala ou com restrições de tempo. Em casos específicos, os resultados heurísticos podem ser validados por ferramentas de alinhamento exato, especialmente em pesquisas que exigem maior rigor.
Embora os algoritmos ótimos sejam mais confiáveis, sua aplicação em alinhamentos múltiplos pode ser inviável devido ao alto custo computacional. Nesses cenários, as heurísticas oferecem uma solução prática, gerando resultados aproximados em um tempo consideravelmente menor. Por outro lado, para alinhamentos locais ou globais em menor escala, a precisão dos métodos exatos justifica seu uso, desde que os recursos e o tempo necessários estejam disponíveis.
Portanto, o equilíbrio entre precisão e eficiência computacional é essencial na escolha da estratégia de alinhamento. A decisão deve considerar o contexto da análise, o volume de dados e a necessidade de rapidez, garantindo que o método escolhido atenda às demandas do estudo sem comprometer sua qualidade.
| Programa | Tipo de alinhamento | Precisão de alinhamento | Número de sequências a serem alinhadas |
| BLAST2SEQUENCES | Local | Heurístico | 2 |
| SWAY (SMITH-WATERMAN) | Local | Ótimo | 2 |
| CLUSTALW | Global | Heurístico | N |
| MULTALIN | Global | Heurístico | N |
| NEEDLEMAN-WUNSCH | Global | Ótimo | 2 |
Tabela: Principais programas de alinhamento de sequências e suas características.

### Alinhamento de múltiplas sequências

O alinhamento de múltiplas sequências é uma extensão do alinhamento par a par com o intuito de comparar mais de duas sequências por vez. Alinhamentos múltiplos são frequentemente usados ​​na identificação de regiões conservadas com um grupo de sequências que se supõe serem evolutivamente homólogas. Este tipo de alinhamento é considerado como sendo mais confiável que o alinhamento par a par que envolve apenas duas seqüências. A razão disto está em que o alinhamento múltiplo permite detectar mais facilmente as características estruturais comuns de proteínas homólogas.Alinhamentos de múltiplas sequências são computacionalmente difíceis de produzir e a maioria das formulações do problema levam a problemas de otimização e tempo. Por esses mesmos motivos técnicos de processamento, a utilização do alinhamento múltiplo com alinhamentos globais é desincentivada, já que seria um processo extremamente complexo, assim o alinhamento múltiplo de sequências é mais usado em alinhamentos locais.
O alinhamento de múltiplas sequências é de fundamental importância em todos os aspectos da análise de sequências de DNA e proteínas. Ele é usado como um primeiro e crítico passo na predição e classificação de estruturas de proteínas, reconstrução filogenética, análise de domínios de proteínas e identificação de sítios funcionais em sequências genômicas, para mencionar apenas algumas aplicações importantes. O desenvolvimento e a melhoria da metodologia de alinhamento múltiplo são, portanto, cruciais para todos os ramos da biologia molecular e genômica.
Considera-se um alinhamento múltiplo quando três ou mais sequências devem ser alinhadas entre si. No fundo, o alinhamento múltiplo é montado a partir do alinhamento par a par de cada uma das sequências com todas as outras, seguido por um outro procedimento que irá gerar o resultado final do alinhamento de todas contra todas. Assim, se 10 sequências são comparadas entre si, serão necessárias 10! (fatorial de 10) comparações de sequências, o que representam © Francisco Prosdocimi, 2007. icb . ufmg . br 22 3.628.800. E é exatamente por isso que os programas heurísticos são preferidos para gerar esse tipo de resultado.
Muitos métodos de alinhamento foram desenvolvidos, ClustalW, usa árvores guia semeadas e técnicas de perfil-perfil HMM para gerar alinhamentos. Adequado para alinhamentos médios-grandes, é talvez o método de alinhamento mais conhecido e provavelmente o mais frequentemente usado em sistemática, mas existem muitos outros, incluindo MAFFT, Ferramenta MSA que usa Transformadas Rápidas de Fourier. Adequado para alinhamentos médios-grandes. T-Coffee, Ferramenta MSA baseada em consistência que tenta mitigar as armadilhas dos métodos de alinhamento progressivo. Adequado para pequenos alinhamentos. Probcons, ferramenta para gerar múltiplos alinhamentos de sequências de proteínas usando uma combinação de modelagem probabilística e técnicas de alinhamento baseadas em consistência. POY, programa de código aberto para análise filogenética de dados morfológicos, de sequência pré-alinhada, de sequência não alinhada e genômicos. e Muscle, ferramenta MSA precisa, especialmente boa com proteínas. Adequada para alinhamentos médios, esses são usados ​​na comunidade sistemática. Existem também métodos mais novos, Opal, uma ferramenta para alinhamento de múltiplas sequências (MSA) usando "estratégia de formação e polimento". Prank, construção de múltiplos alinhamentos refletindo a homologia evolutiva e informação filogenética para lidar com inserções e deleções. FSA, alinha muitas proteínas, RNAs ou longas sequências de DNA genômico. SATCHMO, constrói simultaneamente uma árvore e um conjunto de alinhamentos de sequências múltiplas, um para cada nó interno da árvore. ProbAlign, usa estimativas de probabilidade posterior de função de partição para calcular alinhamentos de sequências múltiplas com precisão máxima esperada.
ProbTree, raciocínio probabilístico da árvore de pensamento. BALi-Phy, usa modelos evolutivos baseados em probabilidade de substituições, inserções e exclusões para colocar lacunas. Dialing, o programa combina recursos de alinhamento local e global e, portanto, pode ser aplicado a dados de sequência que não podem ser alinhados corretamente por abordagens mais tradicionais, e SATé, alinhamentos e árvores de DNA com o critério de máxima verossimilhança.

## Representações e Interpretação
### Representação

Na maioria das representações do resultado do alinhamento de sequências, as sequências são organizadas nas linhas da matriz de tal forma que os nucleotídeos ou aminoácidos estão um abaixo do outro (na mesma coluna). Os espaçamentos são substituídos por um sinal "-", chamado de gap (espaçamento), e denota um indel, ou seja, um local de possível inserção ou deleção.
Também é possível a representação por texto ao utilizar o formato FASTA, quando as sequências são escritas com espaçamentos, com o mesmo comprimento. Este tipo de representação é frequentemente usado por programas, e é conveniente para o processamento da máquina.
Neles, as sequências são escritas uma abaixo da outra, e na linha entre elas, diferentes símbolos indicam as diferentes relações entre os aminoácidos. Um espaço (ausência de um símbolo) indica a ausência de uma conexão entre aminoácidos, tanto em homologia quanto em função: o símbolo "*", e a letra "|" (BLAST) são aminoácidos idênticos; ":" ou "+" são semelhantes em propriedades; "." — semelhantes em propriedades.

### Interpretação

Se duas sequências em um alinhamento comungam de um ancestral comum, as incompatibilidades podem ser interpretadas como mutações pontuais e os espaçamentos (gaps) como indels (ou seja, mutações de inserção ou deleção) introduzidas em uma ou ambas as linhagens desde que divergiram uma da outra.
Nos alinhamentos de sequências de proteínas, o grau de similaridade entre aminoácidos que ocupam uma posição específica na sequência pode ser interpretado como uma medida aproximada de quão conservada é uma determinada região ou motivo de sequência entre as linhagens. A ausência de substituições, ou a presença apenas de substituições muito conservadoras em uma determinada região da sequência, sugerem que esta região tem importância estrutural ou funcional.

## Métodos
### Programação dinâmica

A técnica de programação dinâmica é de grande importância para o alinhamento de sequências e para toda a bioinformática por sua grande precisão em achar um alinhamento ótimo. Os algoritmos mais conhecidos para o alinhamento de sequências utilizam este modelo, estes são o algoritmo de Needleman–Wunsch (utilizado em alinhamentos de sequências globais) e Algoritmo de Smith-Waterman (utilizado em alinhamentos de sequências locais). O algorítimo de Needleman-Wunsch foi a primeira aplicação desta técnica a comparação de sequências biológicas. Para a utilização deste método no alinhamento de sequências, é necessário a construção de uma matriz de pontuação, onde os casamentos, substituições e remoções nas sequências são usados como parâmetros relativos. Os resultados obtidos são guardados numa tabela, conhecida como a matriz de programação dinâmica. Seu tamanho é igual ao do produto do tamanho de s pelo tamanho de t, ou seja, o algorítimo de programação dinâmica exige um gasto proporcional a esse produto. Embora a técnica de programação dinâmica seja aplicável a qualquer número de sequências, por ser computacionalmente custoso tanto em tempo quanto em memória, é raramente usado para mais de três ou quatro sequências em sua forma mais básica.

### Método K-tuple

O método K-tuple é um método consideravelmente mais rápido para alinhar duas sequências (usado exclusivamente em alinhamento de sequências par a par). Ele começa identificando sequências curtas idênticas, também conhecidas como k-tuple, e depois usa programação dinâmica para alinhar as sequências com base nessas palavras. Embora não garantem encontrar um alinhamento ideal, são significativamente mais eficientes que o algoritmo Smith Waterman. O método K-tuple é especialmente utilizado nos pacotes de software FASTA e BLAST, por sua eficiência em localizar e identificar sequencias. É um método independente de alinhamento de múltiplas sequências para inferência filogenética que envolve a estimativa da distância k-tupla (também conhecida como distância k-mer) entre sequências. A distância k-tupla entre duas sequências refere-se à soma das diferenças de frequência, em todas as tuplas possíveis de comprimento k, entre as sequências.

### Matrizes de comparação

Ao utilizarmos matrizes de substituição podemos dar valores diferentes para coincidências de diferentes nucleotídeos ou aminoácidos. Vale notar que o resultado de um alinhamento de sequências pode ser completamente diferente dependendo da matriz de substituição utilizada. As matrizes de comparação são utilizadas durante o alinhamento de sequências de proteínas e isso se deve ao fato de existirem aminoácidos que são mais (ou menos) parecidos entre si do que outros. Há aminoácidos com cargas polares, apolares, ou sem carga; e a mudança, em uma proteína de um aminoácido apresentando uma determinada característica, para outro da mesma característica, é menos drástica do que uma mudança para um aminoácido apresentando característica diferente. Portanto, as matrizes de substituição são extremamente utilizadas no alinhamento de sequências proteicas. Mesmo no caso de sequências de nucleotídeos, são mais comuns as mutações conhecidas como transições do que as transversões. Nas transições, a mutação ocorre entre bases do mesmo tipo, purina para purina (A para G ou G para A) ou pirimidina para pirimidina (C para T ou T para C), enquanto nas transversões ocorre a mudança de uma purina para uma pirimidina ou o contrário. Dessa forma, ao utilizarmos matrizes de substituição, podemos dar mais pesos para as transversões do que para as transições, o que faria com que o resultado fosse mais relevante e pudesse estar mais relacionado com a evolução, por exemplo. As matrizes de substituição mais comuns para sequências nucleotídicas são a mat50 e a mat70, enquanto para sequências proteicas as mais conhecidas são as matrizes PAM e BLOSUM. As matrizes BLOSUM (Blocks Substitution Matrix), por exemplo, são baseadas na observação das frequências de substituição em blocos de alinhamentos locais de proteínas relacionadas. Existem várias matrizes BLOSUM e elas devem ser utilizadas para comparar proteínas contendo um determinado valor de identidade, por exemplo, a matriz mais utilizada pelos programas é a BLOSUM62, que foi montada para comparar proteínas que apresentem 62% de aminoácidos idênticos. Abaixo vemos as matrizes de substituição de nucleotídeos mat50 e mat70. Podemos perceber que a matriz mat70 apresenta valores menores para algumas substituições. Isso faz com que o valor final do alinhamento entre duas sequências de DNA seja menor e, portanto, a matriz mat70 gera um resultado de alinhamento local de um menor número de bases do que a matriz mat50, que estende o alinhamento um pouco mais.

### Alinhamento progressivo

O método de alinhamento progressivo é um método usado no alinhamento de múltiplas sequências, que utiliza o algoritmo de alinhamento par a par de Needleman e Wunsch iterativamente para alcançar o alinhamento múltiplo de um conjunto de sequências de proteínas e construir uma árvore evolutiva descrevendo sua relação. O Alinhamento progressivo é uma das maneiras mais eficiente de se realizar o alinhamento múltiplo de sequências, ao utilizar pouco tempo e memoria computacional. Ele é realizado em três etapas principais: determinar a distância entre as sequências em par a par que serão alinhadas, construir uma árvore filogenética partir da matriz de distâncias e construir finalmente o alinhamento múltiplo. Muitas variações da implementação progressiva de Clustal são usadas para alinhamento de sequências múltiplas, construção de árvores filogenéticas e como entrada para predição da estrutura de proteínas. Uma variante mais lenta, mas mais precisa do método progressivo é conhecida como T-Coffee; A principal ideia do alinhamento progressivo é construir uma sucessão de alinhamentos entre pares de sequências, onde, inicialmente, dois pares de sequências são escolhidos e alinhadas. Em seguida, uma terceira sequência é escolhida e alinhada com a primeira, e assim sucessivamente até todas as sequências serem alinhadas.

### Alinhamento estrutural

Um alinhamento estrutural é um tipo de alinhamento de sequência baseado na comparação da forma das moléculas. Ou seja, os alinhamentos estruturais, que geralmente são específicos de sequências de proteínas e, às vezes, de RNA, usam informações sobre a estrutura secundária e terciária da proteína ou molécula de RNA para auxiliar no alinhamento das sequências. Esses métodos podem ser usados ​​para duas ou mais sequências e normalmente produzem alinhamentos locais; no entanto, por dependerem da disponibilidade de informação estrutural das moléculas, só podem ser utilizados para sequências cujas estruturas correspondentes sejam conhecidas (em geral via cristalografia de raios X ou espectroscopia de RMN). Como a estrutura da proteína e do RNA é mais conservada evolutivamente do que a sequência, os alinhamentos estruturais podem ser mais confiáveis ​​entre sequências que estão muito distantemente relacionadas e que divergiram tão extensivamente que a comparação de sequências não pode detectar com segurança sua similaridade. Portanto, o alinhamento estrutural pode ser usado para sugerir relações evolutivas entre proteínas que compartilham uma sequência comum muito curta.

## Sistema de Pontuação

O intuito do alinhamento de sequências é encontrar um alinhamento ótimo, para isso é criado um sistema de pontuação que permite quantificar a qualidade de um alinhamento. Desta forma é possível comparar alinhamentos, e assim, escolher um melhor, ou seja, aquele de maior relevância biológica. Um esquema de pontuação comumente empregado é aquele que diferencia concordâncias (matches), discordâncias (mismatches) e espaçamentos (gaps). Matches e mismatches ocorrem quando ha duas bases em uma mesma coluna. Para um match é necessário que as duas bases sejam iguais, sendo assim o alinhamento ganhara um ponto(s), caso contrario ocorreu mismatch, e o alinhamento perdera um ponto(s). Esses ajustes de pontuação refletem a semelhança ou a diferença entre as bases ou resíduos de proteínas, sendo essenciais para a avaliação da qualidade do alinhamento. Em estudos recentes, foi demonstrado que diferentes combinações de pontuação podem impactar significativamente os resultados do alinhamento, especialmente em sequências com alta variabilidade evolutiva.
Já um gap ocorre quando uma base é posicionada ao lado de um buraco, que correspondem aos indels que ocorreram no processo evolutivo, e será concedido uma penalidade ao alinhamento. Esses gaps podem representar eventos evolutivos significativos, como mutações estruturais, e a penalização por gaps visa refletir o custo evolutivo de manter essas lacunas. Estudos indicam que a penalização por gaps é crucial para evitar a superestimação de similaridades em sequências divergentes.
A pontuação do alinhamento é dada pela soma das pontuações das colunas. Como cada parâmetro definido é penalizado ou premiado é definido pelo tipo, método de alinhamento de sequências, intuito e exigência do usuário.
Por exemplo:
Possível sistema de Pontuação do alinhamento global das sequências: match=1, mismatch=-1 e gap=-2.
Possível de sistema de pontuação do alinhamento local das sequências: match=3, mismatch=-3 e gap=-5.
A pontuação para alinhamento de bases pode ser feita não só por valores fixos de match e mismatch, mas também por matrizes de substituição que são mais precisas em representar as probabilidades de mutação entre diferentes bases ou aminoácidos. O uso de matrizes de substituição específicas para proteínas, como as matrizes BLOSUM ou PAM, pode melhorar a precisão do alinhamento, especialmente em alguns contextos evolutivos. Matrizes de substituição, indicam a possibilidade de mutação de um aminoácido i por um aminoácido j, ou seja, os valores de match e mismatch para os aminoácidos. Elas são geradas a partir de diversos alinhamentos de pares de sequências de aminoácidos. e refletem as mudanças evolutivas mais comuns entre pares de aminoácidos. Alguns exemplos podem incluir as matrizes PAM (Point Accepted Mutation) e BLOSUM (BLOcks SUbstitution Matrix), que são comumente utilizadas para o alinhamento de proteínas.
Em estudos de alinhamento de proteínas é frequentemente apresentado que a escolha da matriz de substituição tem um impacto significativo na identificação de homologias (semelhanças evolutivas) e na previsão de estruturas proteicas. As matrizes de substituição são usadas para determinar a probabilidade de um aminoácido ser substituído por outro durante o processo evolutivo, e esses valores de substituição variam dependendo da similaridade evolutiva das sequências que estão sendo alinhadas. A escolha da matriz pode influenciar a sensibilidade e a precisão de alinhamentos entre sequências, especialmente quando se lida com proteínas de diferentes distâncias evolutivas.
Portanto, um bom alinhamento depende do modelo utilizado para penalidade de gaps: linear, afim, ou ainda modelos logaritmos. Em modelos mais realísticos considera-se o gap como um único evento mutacional, cuja penalidade é proporcional ao seu tamanho. Diferentes abordagens são utilizadas para alinhar sequências, sejam de proteínas ou de DNA, são diferenciados nos métodos usados para construção do alinhamento, nos tipos de pontuações e nas heurísticas em que se baseiam.
Para exemplos práticos, é comum o uso de algoritmos como o Smith-Waterman para alinhamento local e o Needleman-Wunsch para alinhamento global. A implementação de heurísticas como BLAST e CLUSTALW pode aumentar a eficiência dos alinhamentos ao considerar diferentes parâmetros, como a penalização de gaps, e ao aplicar métodos aproximados para grandes bases de dados, acelerando o processo de busca por similaridades em genomas completos.

## Uso

O alinhamento de sequências é um instrumento fundamental para a bioinformática, sendo amplamente utilizado em diversas áreas da pesquisa científica e aplicações práticas. O alinhamento de sequências é usado para determinar a homologia entre diferentes genes ou proteínas, identificar marcadores genéticos, localizar regiões não conservadas e regiões estruturais do genoma. O alinhamento da sequência também pode preanunciar as estruturas secundárias e terciárias das proteínas e prever localizações de genes e novos membros de famílias de genes. O alinhamento de sequência também é de grande importância no campo da filogenia, obtendo informações sobre a relação evolutiva entre as sequências alinhadas e tendo um grande papel na construção e interpretação de árvores filogenéticas.
Métodos usados para alinhamentos de sequências biológicas também podem ter aplicações em outros campos, e mais notavelmente no processamento de linguagem natural. As técnicas que geram o conjunto de elementos a partir dos quais as palavras serão selecionadas em algoritmos de geração de linguagem natural emprestaram técnicas de alinhamento de sequências à bioinformática para produzir versões linguísticas de testes matemáticos gerados por computador. O alinhamento de sequências também faz parte da montagem de genomas, na qual as sequências se alinham para encontrar sobreposições para que os chamados contigs (longos trechos de sequências) possam se formar. Outro uso é na análise de SNP, na qual sequências de diferentes indivíduos se alinham para encontrar pares de bases simples que muitas vezes são diferentes na população. O uso do método de alinhamento de sequências pode ser utilizados até mesmo em campos distantes da bioinformática, como, por exemplo, geologia.

## Software

Existem diversas ferramentas de software usadas no alinhamento de sequências, com variados níveis de eficiências, finalidade, alcance e capacidade. Os mais comumente utilizados são os softwares da família BLAST que incluem uma ampla funcionalidade como sistemas de buscas em banco de dados e comparação. O ClustalW é usado para o alinhamento progressivo local e global, assim como o T-coffe, usado em alinhamento progressivos mais sensíveis. FASTA é um pacote de softwares essenciais para o método K-tuple.
Exemplos de softwares e suas funcionalidades:
Kalign: usada para grandes alinhamentos.
Clustal Omega/MAFFT: usado para alinhamentos médio/grandes.
MUSCLE: usado para alinhamentos médios.
ClustalW: usado para o alinhamento progressivo local e global.
EMBOSS Cons: usado para alinhamento múltiplo de proteínas ou nucleotídeos.
T-coffe: usado em alinhamentos progressivos mais sensíveis.
MView: usado em alinhamentos de sequência múltipla.