Clustal W und Clustal X Version 2.0

Abstract

Zusammenfassung: Die Clustal W und Clustal X Multiple Sequence Alignment Programme wurden komplett in C++ umgeschrieben. Dies wird die Weiterentwicklung der Alignment-Algorithmen in der Zukunft erleichtern und ermöglichte die Portierung der Programme auf die neuesten Versionen der Betriebssysteme Linux, Macintosh und Windows.

Contact:[email protected]

1 EINLEITUNG

Multiple Sequence Alignments sind heute eine der am häufigsten verwendeten bioinformatischen Analysen. Sie werden routinemäßig als Teil komplizierterer Analysen oder Analysepipelines benötigt, und es gibt mehrere weit verbreitete Pakete, z.B. Clustal W (Thompson et al., 1994), Clustal X (Thompson et al., 1997), T-Coffee (Notredame et al., 2000), MAFFT (Katoh et al., 2002) und MUSCLE (Edgar, 2004). Clustal ist auch das älteste der derzeit am weitesten verbreiteten Programme und wurde erstmals Ende der 1980er Jahre per Post auf Disketten verbreitet. Es wurde ursprünglich in Microsoft Fortran für MS-DOS geschrieben und lief ursprünglich auf IBM-kompatiblen Personal Computern als vier separate ausführbare Programme, Clustal1-Clustal4 (Higgins und Sharp, 1988, 1989). Diese wurden später in C umgeschrieben und zu einem einzigen Programm, Clustal V (Higgins et al., 1992), zusammengeführt, das für VAX/VMS, Unix, Apple Macintosh und IBM-kompatible PCs vertrieben wurde. Diese Programme wurden über den EMBL File Server (Stoehr und Omond, 1989), einen E-Mail- und FTP-Server am EMBL in Heidelberg, Deutschland, vertrieben.

Die aktuellen Clustal-Programme stammen alle von Clustal W (Thompson et al., 1994) ab, das ein neuartiges positionsspezifisches Scoring-Schema und ein Gewichtungsschema zur Herabgewichtung überrepräsentierter Sequenzgruppen enthielt. Das ‚W‘ steht für ‚Gewichte‘. Diese Programme wurden seit 1994 mehrfach geändert und ergänzt, um die Funktionalität zu erweitern und die Empfindlichkeit zu erhöhen. Die Benutzerfreundlichkeit wurde auch durch die Hinzufügung einer vollständigen grafischen Benutzeroberfläche im Jahr 1997 erheblich verbessert (Thompson et al., 1997). Dies hat die Wartung und Entwicklung des Codes kompliziert gemacht, da die grafische Oberfläche ständig modifiziert und für neue Betriebssysteme und Desktop-Umgebungen (Windows, Macintosh, VMS, Unix und Linux) neu kompiliert werden muss.

Ab Ende der 90er Jahre waren Clustal W und Clustal X die am häufigsten verwendeten Programme für multiples Alignment. Sie waren in der Lage, mittelgroße Datensätze sehr schnell auszurichten und waren einfach zu bedienen. Die Qualität der Alignments war so gut, dass sie nicht oft manuell bearbeitet oder angepasst werden mussten. Diese Situation änderte sich grundlegend mit dem Erscheinen des ersten maßgeschneiderten Benchmark-Testsatzes für Multiple Alignment Programme, BAliBASE (Thompson et al., 1999). Es folgte das Erscheinen von T-Coffee, das in der Lage war, sehr genaue Alignments von sehr unterschiedlichen Proteinen zu erstellen, allerdings nur für kleine Sequenzmengen, da es sehr rechenintensiv war. Mit der Zunahme der Verarbeitungsgeschwindigkeit von Desktop-Computern und der anschließenden Optimierung des T-Coffee-Codes ist dieser nun für den routinemäßigen Einsatz bei mäßig großen Alignment-Problemen geeignet. In jüngerer Zeit kamen MAFFT und MUSCLE auf den Markt, die anfangs in Bezug auf die Alignment-Genauigkeit mindestens so genau waren wie Clustal, aber auch extrem schnell und in der Lage, viele Tausende von Sequenzen zu alignieren. Im Laufe der letzten 4 oder 5 Jahre sind diese Programme auch bei schwierigen Alignments immer genauer geworden. Nichtsdestotrotz werden Clustal W und Clustal X weiterhin sehr häufig verwendet, zunehmend auch auf Websites. Die Clustal-Website des EBI erhält buchstäblich Millionen von Aufträgen für Mehrfach-Alignments pro Jahr.

In diesem Zusammenhang haben wir Clustal W 2.0 und Clustal X 2.0 entwickelt. Diese Programme wurden in C++ mit einem einfachen Objektmodell neu geschrieben, um die Wartung des Codes zu vereinfachen und, was noch wichtiger ist, um es einfacher zu machen, einige der Alignment-Algorithmen zu ändern oder sogar zu ersetzen. Wir haben zwei neue Programme erstellt, die den älteren Programmen der Version 1.83 sehr ähnlich sind, aber jetzt einfacher zu verwalten sind. Wir haben auch einige kleinere Anpassungen an den Alignment-Algorithmen vorgenommen. Wir haben einen neuen Code für UPGMA-Führungsbäume als Alternative zu den üblichen Neighbor-Joining-Führungsbäumen aufgenommen. Dadurch wird das Alignment von extrem großen Datensätzen mit Zehntausenden von Sequenzen beschleunigt. Wir haben auch eine iterative Ausrichtungsmöglichkeit aufgenommen, um die Ausrichtungsgenauigkeit zu erhöhen.

Abb. 1.

ClustalX 2.0 Screenshot auf Mac OS X.

Abb. 1.

ClustalX 2.0 Screenshot auf Mac OS X.

Clustal X 2.0 ist die neue Version des grafischen Alignment-Tools Clustal X. Das ursprüngliche Clustal X wurde mit der Vibrant Toolbox des NCBI entwickelt. Die Vibrant Toolbox wird nicht mehr unterstützt, was zu Problemen bei der Kompilierung von Clustal X auf neueren Versionen von Betriebssystemen führte. Die Teile der grafischen Oberfläche von Clustal X 2.0 wurden unter Verwendung der Qt GUI Toolbox komplett neu geschrieben. Qt ist ein einfach zu verwendendes, plattformübergreifendes C++ GUI-Toolkit. Der Code muss nur einmal auf jeder der Plattformen kompiliert werden. Die Qt-Toolbox bietet ein natives Erscheinungsbild auf den Plattformen Windows, Linux und Mac. Clustal X 2.0 hat die gleiche Funktionalität wie Clustal X.

2 NEUE FEATURES

Zwei neue Optionen wurden in Clustal W 2.0 aufgenommen, um ein schnelleres Alignment von sehr großen Datensätzen zu ermöglichen und die Alignment-Genauigkeit zu erhöhen. Die Standardoptionen von Clustal W und Clustal X 2.0 sind die gleichen wie bei Clustal W 1.83 und führen zu den gleichen Alignment-Ergebnissen.

Die Leitbäume in Clustal wurden in den letzten 10 Jahren mit der Neighbor-Joining (NJ) Methode berechnet. In den frühesten Versionen des Programms wurde UPGMA verwendet. UPGMA ist schneller als NJ, neigt aber dazu, lange Zweige zu bündeln, wenn die Evolutionsraten in verschiedenen Abstammungslinien sehr ungleich sind. Beide Algorithmen haben eine Komplexität von O(N2), aber UPGMA ist für einen gegebenen Datensatz schneller, und der Unterschied wird bei sehr großen N deutlich. Auf einem Standard-Desktop-PC ist es möglich, 10 000 Sequenzen in weniger als einer Minute mit UPGMA zu clustern, während NJ über eine Stunde benötigen würde. Wir haben einen sehr effizienten Algorithmus für UPGMA neu implementiert, der mit der Kommandozeilenoption ‚-clustering=UPGMA‘ aufgerufen werden kann. Er ist beim Balibase-Benchmark geringfügig ungenauer, aber bei großen Alignments (z. B. 10 000 Globin-Sequenzen) wird dies durch die Einsparungen bei der Verarbeitungszeit (2 h gegenüber 12 h) ausgeglichen.

Iteration ist eine schnelle und effektive Methode zur Verfeinerung von Alignments. Diese Version von Clustal enthält ein Iterationsschema, das die gewichtete Summe der Paare (WSP) optimiert. Bei jedem Iterationsschritt wird jede Sequenz nacheinander aus der Ausrichtung entfernt und neu ausgerichtet. Wenn sich die WSP-Punktzahl verringert, wird die resultierende Ausrichtung beibehalten. Das Iterationsschema kann entweder zur Verfeinerung des endgültigen Alignments oder bei jedem Schritt des progressiven Alignments verwendet werden. Die Iteration während des progressiven Alignments ist in der Regel genauer, aber auch sehr viel zeitaufwändiger, da es 2N-3 Knoten im Guidebaum gibt. Die Befehlszeilenoption ‚-Iteration=Ausrichtung‘ verfeinert die endgültige Ausrichtung, während die Option ‚-Iteration=Baum‘ das Schema in die progressive Ausrichtung einbezieht. Die Anzahl der Iterationszyklen wird über die Kommandozeilenoption ‚-numiters‘ eingestellt (Standard ist 3).

HINWEIS

Diese Arbeit wurde hauptsächlich von der Science Foundation Ireland finanziert.

Interessenkonflikt: keiner angegeben.

Autorenhinweise

Assoziierter Herausgeber: Alex Bateman

Schreibe einen Kommentar