# Clustal

Clustal es una familia de programas informáticos ampliamente utilizados para realizar alineamientos múltiples de secuencias.

## Historia

Se han desarrollado diferentes variaciones del software Clustal, los cuales se enumeran a continuación:
* Clustal: El software original para alineamiento múltiple de secuencias, creado por Des Higgins en 1988. Se basa en la obtención de árboles filogenéticos a partir de pares de secuencias de aminoácidos o nucleótidos.
* ClustalV: En 1992, se publicó la segunda generación del software Clustal, siendo un rediseño de la primera. Introdujo la reconstrucción de árboles filogenéticos en el último alineamiento, la posibilidad de crear alineamiento a partir de otros alineamientos, y la opción de crear árboles con alineamientos mediante el método de unión de vecinos.
* ClustalW: Tercera generación, la cual fue publicada en 1994 y mejoró sustancialmente respecto a las anteriores versiones. El algoritmo de alineamiento progresivo mejoró en diferentes aspectos. Permite considerar o descartar secuencias individuales de acuerdo con su grado de similitud o divergencia respectivamente, en un alineamiento parcial. También permite ejecutar el programa por módulos en una interfaz de línea de comandos.
* ClustalX: Esta versión fue lanzada en 1997 e incluye una interfaz gráfica de usuario.
* Clustal2: Esta versión, publicada en 2007, actualiza tanto ClustalW como ClustalX, con mayor precisión y eficiencia.
* ClustalΩ (Omega): La versión estándar actual, la cual se publicó en 2011 por primera vez.

## Funciones
### Entrada/Salida

Este programa acepta un amplio rango de formatos de entrada. Incluyendo NBRF/PIR, FASTA, EMBL/Swissprot, Clustal, GCC/MSF, GCG9 RSF y GDE.
El formato de salida puede ser alguno de los siguientes: Clustal, NBRF/PIR, GCG/MSF, PHYLIP, GDE o NEXUS.

### Alineamiento múltiple de secuencias

Hay tres etapas importantes:
* Hacer un alineamiento por pares
* Crear un árbol filogenético (o usar un árbol definido por el usuario)
* Usar el árbol filogenético para llevar a cabo el alineamiento múltiple
Esto es hecho automáticamente cuando seleccionas "Do Complete Alignment" ("Hacer el alineamiento completo", en español). Otras opciones son "Do Alignment from guide tree" ("Hacer el alienamiento con el árbol guía") y "Produce guide tree only" ("Sólo producir el árbol guía).

### Alineamientos de perfiles

Los alineamientos de parejas son computados con un método todos contra todos y las similitudes son guardadas en una matriz. Esta es luego convertida en una matriz de distancias, donde la longitud de la distancia refleja la distancia evolutiva entre cada par de secuencias.
De esta matriz de distancias, es creado un árbol de guía o filogenético utilizando un algoritmo de clustering neighbour-joining para determinar el orden en que los pares de secuencias serán alineados y combinados con alineamientos previos. Las secuencias son alineadas progresivamente en cada punto de ramificación empezando por los pares de secuencias más cercanos.

### Configuraciones

Los usuarios pueden alinear las secuencias usando las configuraciones por defecto, pero ocasionalmente es más útil personalizar los parámetros. Los principales parámetros son la penalización por abrir huecos ("gaps") y por extenderlos.

## Versión acelerada

Una versión basada en FPGA del algoritmo ClustalW es ofrecida por Progeniq, mostrando ser 20 veces más veloz que otras implementaciones.