Clustal W y Clustal X versión 2.0

Abstract

Resumen: Los programas de alineación de secuencias múltiples Clustal W y Clustal X han sido completamente reescritos en C++. Esto facilitará el desarrollo de los algoritmos de alineación en el futuro y ha permitido portar adecuadamente los programas a las últimas versiones de los sistemas operativos Linux, Macintosh y Windows.

Contact:[email protected]

1 INTRODUCCIÓN

Los alineamientos de secuencias múltiples son ahora uno de los análisis bioinformáticos más utilizados. Se necesitan de forma rutinaria como partes de análisis más complicados o pipelines de análisis y hay varios paquetes muy utilizados, por ejemplo Clustal W (Thompson et al., 1994), Clustal X (Thompson et al., 1997), T-Coffee (Notredame et al., 2000), MAFFT (Katoh et al., 2002) y MUSCLE (Edgar, 2004). Clustal es también el más antiguo de los programas más utilizados actualmente, ya que se distribuyó por primera vez por correo en disquetes a finales de la década de 1980. Inicialmente fue escrito en Microsoft Fortran para MS-DOS y originalmente funcionaba en ordenadores personales compatibles con IBM como cuatro programas ejecutables separados, Clustal1-Clustal4 (Higgins y Sharp, 1988, 1989). Posteriormente se reescribieron en C y se fusionaron en un único programa, Clustal V (Higgins et al., 1992), que se distribuyó para VAX/VMS, Unix, Apple Macintosh y ordenadores personales compatibles con IBM. Estos programas se distribuyeron desde el servidor de archivos del EMBL (Stoehr y Omond, 1989), un servidor de correo electrónico y FTP, con sede en el EMBL en Heidelberg, Alemania.

Todos los programas Clustal actuales derivan de Clustal W (Thompson et al., 1994), que incorporó un novedoso esquema de puntuación específico para cada posición y un esquema de ponderación para rebajar los grupos de secuencias sobrerrepresentados. La «W» significa «pesos». Estos programas han sido modificados y añadidos muchas veces desde 1994 para aumentar la funcionalidad y la sensibilidad. La facilidad de uso también se ha mejorado mucho con la adición, en 1997, de una interfaz gráfica de usuario completa (Thompson et al., 1997). Esto ha hecho que el código sea complicado de mantener y desarrollar, ya que la interfaz gráfica debe modificarse y recompilarse constantemente para nuevos sistemas operativos y entornos de escritorio (Windows, Macintosh, VMS, Unix y Linux).

A finales de la década de 1990, Clustal W y Clustal X eran los programas de alineación múltiple más utilizados. Eran capaces de alinear conjuntos de datos de tamaño medio muy rápidamente y eran fáciles de usar. Los alineamientos eran de suficiente calidad como para no requerir la edición o el ajuste manual muy a menudo. Esta situación cambió mucho con la aparición del primer conjunto de pruebas de referencia hecho a medida para los programas de alineación múltiple, BAliBASE (Thompson et al., 1999). A esto le siguió la aparición de T-Coffee, que fue capaz de realizar alineaciones muy precisas de proteínas muy divergentes, pero sólo para pequeños conjuntos de secuencias, dado su alto coste computacional. Con el aumento de la velocidad de procesamiento de los ordenadores de sobremesa, y la posterior optimización del código de T-Coffee, este último es ahora práctico para el uso rutinario en problemas de alineación de tamaño moderado. Más recientemente, aparecieron MAFFT y MUSCLE, que, inicialmente, eran al menos tan precisos como Clustal, en términos de precisión de alineación, pero que también eran extremadamente rápidos y capaces de alinear muchos miles de secuencias. En los últimos 4 o 5 años, estos programas también se han vuelto gradualmente más precisos con los alineamientos difíciles. Sin embargo, Clustal W y Clustal X siguen siendo muy utilizados, cada vez más en los sitios web. El sitio Clustal del EBI, recibe literalmente millones de trabajos de alineación múltiple por año.

Es en este contexto que desarrollamos Clustal W 2.0 y Clustal X 2.0. Estos programas fueron reescritos en C++ con un modelo de objetos sencillo para facilitar el mantenimiento del código y, lo que es más importante, para facilitar la modificación o incluso la sustitución de algunos de los algoritmos de alineación. Hemos producido dos nuevos programas que son muy similares en apariencia a los antiguos programas de la versión 1.83, pero que ahora pueden ser manejados más fácilmente. También hemos realizado algunos ajustes menores en los algoritmos de alineación. Hemos incluido un nuevo código para árboles guía UPGMA como alternativa a los habituales árboles guía Neighbor-Joining. Esto ayuda a acelerar la alineación de conjuntos de datos extremadamente grandes de decenas de miles de secuencias. También hemos incluido una facilidad de alineación iterativa para aumentar la precisión de la alineación.

Fig. 1.

ClustalX 2.0 Captura de pantalla en Mac OS X.

Fig. 1.

ClustalX 2.0 Screenshot on Mac OS X.

Clustal X 2.0 es la nueva versión de la herramienta de alineación gráfica Clustal X. El Clustal X original fue desarrollado utilizando la caja de herramientas vibrante del NCBI. El vibrant toolbox ya no está soportado, lo que ha provocado problemas de compilación de Clustal X en las nuevas versiones de los sistemas operativos. Las secciones de la interfaz gráfica de Clustal X 2.0 han sido completamente reescritas utilizando la caja de herramientas Qt GUI. Qt es un conjunto de herramientas de interfaz gráfica de usuario C++ fácil de usar y multiplataforma. El código sólo tiene que compilarse una vez en cada una de las plataformas. La caja de herramientas Qt proporciona un aspecto nativo en las plataformas Windows, Linux y Mac. Clustal X 2.0 tiene la misma funcionalidad que Clustal X.

2 NUEVAS CARACTERÍSTICAS

Se han incluido dos nuevas opciones en Clustal W 2.0, para permitir una alineación más rápida de conjuntos de datos muy grandes y para aumentar la precisión de la alineación. Las opciones por defecto de Clustal W y Clustal X 2.0 son las mismas que las de Clustal W 1.83, y darán los mismos resultados de alineación.

Los árboles guía en Clustal se han calculado utilizando el método Neighbor-Joining (NJ), durante los últimos 10 años aproximadamente. En las primeras versiones del programa se utilizaba UPGMA. UPGMA es más rápido que NJ pero tiende a agrupar las ramas largas cuando las tasas de evolución son muy desiguales en los diferentes linajes. Ambos algoritmos tienen una complejidad de O(N2), pero UPGMA es más rápido para un conjunto de datos determinado y la diferencia se acentúa con N muy grandes. En un PC de sobremesa estándar, es posible agrupar 10 000 secuencias en menos de un minuto utilizando UPGMA, mientras que NJ tardaría más de una hora. Hemos reimplementado un algoritmo muy eficiente para UPGMA que puede ser llamado usando la opción de línea de comandos ‘-clustering=UPGMA’. Es marginalmente menos preciso en el punto de referencia Balibase, pero en alineaciones grandes (por ejemplo, 10 000 secuencias de globina) esto se compensa con el ahorro en el tiempo de procesamiento (2 h frente a 12 h).

La iteración es un método rápido y eficaz para refinar las alineaciones. En esta versión de Clustal se ha incluido un esquema de iteración «eliminar primero», que optimiza la puntuación de la suma ponderada de pares (WSP). Durante cada paso de iteración, cada secuencia es eliminada del alineamiento y realineada. Si la puntuación WSP se reduce, el alineamiento resultante se mantiene. El esquema de iteración puede utilizarse para refinar el alineamiento final o en cada paso del alineamiento progresivo. La iteración durante la alineación progresiva tiende a ser más precisa pero también consume mucho más tiempo ya que hay 2N-3 nodos en el árbol guía. La opción de línea de comandos ‘-Iteration=Alignment’ refina la alineación final, mientras que la opción ‘-Iteration=Tree’ incorpora el esquema en la alineación progresiva. El número de ciclos de iteración se establece a través de la opción de línea de comandos ‘-numiters’ (por defecto es 3).

Agradecimientos

Este trabajo fue financiado principalmente por la Science Foundation Ireland.

Conflicto de intereses: ninguno declarado.

Notas de los autores

Editor Asociado: Alex Bateman

Deja un comentario