En bioinformática, un aliñamento de secuencias é unha forma de representar e comparar dúas ou máis secuencias ou cadeas de ADN, ARN, ou estruturas primarias proteicas para resaltar as súas zonas de similitude, que poderían indicar relacións funcionais ou evolutivas entre os xenes ou proteínas examinados. As secuencias aliñadas escríbense colocando as letras (que representan aminoácidos ou nucleótidos) en ringleiras formando unha matriz nas que, se é necesario, se insiren espazos para que as zonas con idéntica ou similar estrutura queden aliñadas.
miniatura|center|700px|Un aliñamento de secuencias, xerado por ClustalW entre dúas proteínas dedo de cinc identificadas polo número de acceso GenBank (Clave).
Se dúas secuencias nun aliñamento comparten un antepasado común, as non coincidencias observadas poden interpretarse como mutacións puntuais (substitucións), e os ocos como indeis (mutacións de inserción ou deleción) introducidas nunha ou en ambas as liñaxes no tempo que transcorreu desde que diverxeron. No aliñamento de secuencias proteicas, o grao de similitude entre os aminoácidos que ocupan unha posición concreta na secuencia pode interpretarse como unha medida aproximada de conservación nunha rexión particular, ou secuencia motivo, entre liñaxes. A ausencia de substitucións, ou a presenza de substitucións moi conservadas (a substitución de aminoácidos con cadeas laterais con propiedades químicas similares) nunha rexión particular da secuencia indica que esta zona ten importancia estrutural ou funcional. Aínda que as bases nucleotídicas do ADN e ARN son máis similares entre si que os aminoácidos, a conservación do emparellamento de bases podería indicar papeis funcionais ou estruturais semellantes. O aliñamento de secuencias pode utilizarse con secuencias non biolóxicas, como ocorre na identificación de similitudes en series de letras e palabras da linguaxe humana ou en análises de datos financeiros.
As secuencias moi curtas ou moi similares poden aliñarse manualmente. Aínda así, para resolver os problemas máis interesantes cómpre aliñar secuencias longas, moi variables e extremadamente numerosas que non poden ser aliñadas directamente por humanos e cómpre utilizar medios informáticos. O coñecemento humano aplícase principalmente á construción de algoritmos que produzan aliñamentos de alta calidade, e ocasionalmente axustando o resultado final para representar patróns que son difíciles de introducir en algoritmos (especialmente no caso de secuencias de nucleótidos). As aproximacións computacionais ao aliñamento de secuencias divídense en dúas categorías: aliñamento global e aliñamento local. Calcular un aliñamento global é unha forma de optimización global que "forza" ao aliñamento a ocupar a lonxitude total de todas as secuencias introducidas (secuencias problema). Comparativamente, os aliñamentos locais identifican rexións similares dentro de longas secuencias que normalmente son moi diverxentes entre si. A miúdo prefírense os aliñamentos locais, pero poden ser máis difíciles de calcular porque se engade o desafío de identificar as rexións de maior similitude. Ao problema do aliñamento de secuencias aplícanse gran variedade de algoritmos computacionais, como métodos lentos, pero de optimización, como a programación dinámica, e métodos heurísticos ou probabilísticos eficientes, pero non exhautivos, deseñados para a procura a grande escala en bases de datos.
Representacións Os aliñamentos represéntanse normalmente cun formato gráfico e de texto. En case todas as representacións de aliñamentos, as secuencias escríbense en ringleiras de tal xeito que os residuos aliñados aparecen en columnas sucesivas. Nos formatos de texto, as columnas aliñadas conteñen caracteres idénticos ou similares, estes últimos indicados con sistemas de símbolos de conservación. Na imaxe superior utilízase o asterisco para indicar identidade entre dúas columnas. Outros símbolos menos comúns son a coma para substitucións conservativas e o punto para substitucións semiconservativas. Moitos programas de visualización de secuencias utilizan tamén esquemas coloreados para mostrar información das propiedades dos elementos secuencia individuais; en secuencias de ADN e ARN isto significa asignar a cada base a súa propia cor. En aliñamentos de proteínas, como o da imaxe superior, as cores utilízanse para indicar propiedades dos aminoácidos para axudar na caracterización de conservación ou nunha substitución de aminoácidos dada. Cando se introducen múltiples secuencias a última ringleira de cada columna adoita representar a secuencia consenso determinada polo aliñamento. Tamén acostuma a representarse a secuencia consenso nun formato gráfico baixo un logo de secuencias, no que o tamaño da letra de cada nucleótido ou aminoácido é proporcional ao seu grao de conservación.
Os aliñamentos de secuencias poden almacenarse nunha ampla variedade de formatos de ficheiro de texto, moitos dos cales foron desenvolvidos ao mesmo tempo que un programa ou aplicación de aliñamento. A maioría das ferramentas web permiten varios formatos de entrada e saída, como o formato FASTA e GenBank. A utilización de ferramentas específicas en cada laboratorio de investigación pode complicarse pola baixa compatibilidade. Existen programas de conversión xenérica en SEQRET (EMBOSS), ou en DNA Baser.
Aliñamentos locais e globais miniatura|Imaxe dun aliñamento local e outro global demostrando a tendencia a poñer ocos dos aliñamentos globais se as secuencias non son moi similares.
Os aliñamentos globais, que intentan aliñar cada residuo de cada secuencia, son máis útiles cando as secuencias problema iniciais son similares e aproximadamente do mesmo tamaño (isto non quere dicir que os aliñamentos globais non poidan terminar en ocos). Unha estratexia xeral de aliñamento global é o algoritmo de Needleman-Wunsch baseado en programación dinámica. Os aliñamentos locais son máis útiles para secuencias diferenciadas nas que se sospeita que existen rexións moi similares ou motivos de secuencia similares dentro dun contexto maior. O algoritmo de Smith-Waterman é un método xeral de aliñamento local baseado en programación dinámica. Cando as secuencias son suficientemente similares, non existe diferenza entre aliñamentos globais e locais.
Os métodos híbridos, coñecidos como semiglobais ou métodos "glocais" (globais + locais) intentan atopar o mellor aliñamento posible que inclúa o inicio e o final dunha ou outra secuencia. Pode ser especialmente útil cando a parte situada "corrente arriba" dunha secuencia se solapa coa parte situada "corrente abaixo" da outra. Neste caso, nin o aliñamento global nin o local son completamente adecuados: un aliñamento global intentará forzar á aliñación a estenderse máis alá da rexión de solapamento, mentres que o aliñamento local non cubrirá totalmente a rexión solapada.
Aliñamento de pares Os métodos de aliñamento de pares, ou emparellamentos, utilízanse para encontrar a mellor coincidencia en bloque (local) ou aliñamento global de dúas secuencias. Os aliñamentos de pares só poden utilizarse con dúas secuencias á vez, pero son eficientes de calcular, e son utilizados a miúdo en métodos que non requiren precisión extrema, como a procura en bases de datos de secuencias con alta homoloxía de secuencia con respecto a unha petición. Os tres métodos principais de xerar aliñamentos de pares son os de matriz de puntos, os de programación dinámica e os de busca de palabra, aínda que a maioría dos métodos de aliñamento de secuencias múltiple poden funcionar con só dúas secuencias. Aínda que cada método ten os seus propios puntos fortes e fracos, todos eles teñen problemas para aliñar secuencias repetitivas con baixo contido de información, especialmente cando o número de repeticións pode ser diferente nas dúas secuencias que se aliñan. Unha maneira de cuantificar a utilidade dun aliñamento de pares determinado é a "máxima coincidencia individual", ou a maior subsecuencia que se dá en ambas as secuencias en estudo. En xeral, canto maior sexa tal subsecuencia, máis próxima será a súa relación.
Métodos de matriz de puntos miniatura|200px|Unha matriz de puntos de ADN do factor de transcrición dedo de cinc humano (GenBank ID NM_002383), mostrando autosimilitude rexional. A diagonal principal representa o aliñamento da secuencias consigo mesma; as liñas fóra desta diagonal representan patróns similares ou repetitivos dentro da secuencia. É un exemplo típico de gráfica recorrente. O enfoque de matriz de puntos (ou matrix-dot), que implicitamente produce unha familia de aliñamentos para rexións individuais da secuencia, é cualitativo e simple, malia que consome moito tempo para análises a grande escala. É doado identificar visualmente determinadas características da secuencia (tales como insercións, delecións, repeticións, ou repeticións invertidas) nunha gráfica de matriz de puntos. Para construír unha gráfica de matriz de puntos, as dúas secuencias colócanse ao longo da ringleira superior e da columna que está máis á esquerda da matriz de dúas dimensións e colócase un punto en calquera lugar no que coincidan os caracteres nas columnas correspondentes (esta é unha típica gráfica recorrente). Algunhas aplicacións varían o tamaño ou a intensidade dos puntos en función do grao de similitude dos dous caracteres, para dar cabida ás substitucións conservadas. A gráfica de puntos de secuencias moi estreitamente relacionadas aparece como unha única liña ao longo da diagonal principal da matriz.
As gráficas de puntos tamén poden utilizarse para avaliar a repetitividade nunha soa secuencia: unha secuencia represéntase graficamente co plotter contra si mesma, e as rexións que comparten similitudes significativas aparecerán como liñas fóra da diagonal principal. Este efecto pode darse cando unha proteína consta de múltiples dominios estruturais similares.
Programación dinámica A técnica de programación dinámica pode aplicarse para producir aliñamentos globais por medio do algoritmo de Needleman-Wunsch, e aliñamentos locais por medio do algoritmo de Smith-Waterman. Nunha utilización habitual, nos aliñamentos de proteínas utilízase unha matriz de substitución para asignar puntuacións ás coincidencias e ás diferenzas entre aminoácidos, e unha penalización por gap (literalmente oco, aínda que na literatura se usa moitas veces o termo en inglés) ao facer coincidir un aminoácido dunha secuencia cun oco noutra. En aliñamentos de ADN e ARN pode usarse unha matriz de puntuacións, pero na práctica, a miúdo, asígnase simplemente unha puntuación positiva ás coincidencias, unha negativa ás diferenzas, e outra penalización negativa aos gaps. (Na programación dinámica estándar a puntuación da posición de cada aminoácido é independente da identidade dos seus veciños, polo que os efectos do chamado base stacking non se teñen en conta. Porén, é posible facelo modificando o algoritmo.)