Clustal W och Clustal X version 2.0

Abstract

Sammanfattning: Programmen Clustal W och Clustal X för flera sekvenser har skrivits om helt i C++. Detta kommer att underlätta den fortsatta utvecklingen av anpassningsalgoritmerna i framtiden och har möjliggjort en korrekt anpassning av programmen till de senaste versionerna av operativsystemen Linux, Macintosh och Windows.

Contact:[email protected]

1 INTRODUKTION

Flera sekvensanpassningar är numera en av de mest använda bioinformatiska analyserna. De behövs rutinmässigt som delar av mer komplicerade analyser eller analyspipelines och det finns flera mycket allmänt använda paket, t.ex. Clustal W (Thompson et al., 1994), Clustal X (Thompson et al., 1997), T-Coffee (Notredame et al., 2000), MAFFT (Katoh et al., 2002) och MUSCLE (Edgar, 2004). Clustal är också det äldsta av de för närvarande mest använda programmen eftersom det först distribuerades per post på disketter i slutet av 1980-talet. Det skrevs ursprungligen i Microsoft Fortran för MS-DOS och kördes ursprungligen på IBM-kompatibla persondatorer som fyra separata körbara program, Clustal1-Clustal4 (Higgins och Sharp, 1988, 1989). Dessa skrevs senare om i C och slogs samman till ett enda program, Clustal V (Higgins et al., 1992), som distribuerades för VAX/VMS, Unix, Apple Macintosh och IBM-kompatibla persondatorer. Dessa program distribuerades från EMBL File server (Stoehr och Omond, 1989), en e-post- och FTP-server, baserad vid EMBL i Heidelberg, Tyskland.

De nuvarande Clustal-programmen härstammar alla från Clustal W (Thompson et al., 1994), som innehöll ett nytt positionsspecifikt poängsättningsschema och ett viktningsschema för nedviktning av överrepresenterade sekvensgrupper. W” står för ”vikter”. Dessa program har ändrats och kompletterats många gånger sedan 1994 för att öka funktionaliteten och känsligheten. Användarvänligheten har också förbättrats avsevärt genom att ett fullständigt grafiskt användargränssnitt lades till 1997 (Thompson et al., 1997). Detta har gjort koden komplicerad att underhålla och utveckla, eftersom det grafiska gränssnittet ständigt måste modifieras och kompileras om för nya operativsystem och skrivbordsmiljöer (Windows, Macintosh, VMS, Unix och Linux).

I slutet av 1990-talet var Clustal W och Clustal X de mest använda programmen för multipel anpassning. De kunde anpassa medelstora datamängder mycket snabbt och var lätta att använda. Anpassningarna var av tillräcklig kvalitet för att inte kräva manuell redigering eller justering särskilt ofta. Denna situation förändrades kraftigt när den första skräddarsydda benchmark-testuppsättningen för program för multipel anpassning, BAliBASE (Thompson et al., 1999), dök upp. Detta följdes av T-Coffee, som kunde göra mycket noggranna anpassningar av mycket divergerande proteiner, men endast för små uppsättningar av sekvenser, med tanke på dess höga beräkningskostnad. I och med den ökade bearbetningshastigheten hos stationära datorer och den efterföljande optimeringen av T-Coffee-koden är T-Coffee nu praktisk för rutinmässig användning vid måttligt stora anpassningsproblem. På senare tid har MAFFT och MUSCLE dykt upp, som till en början var minst lika exakta som Clustal när det gäller noggrannhet i anpassningen, men som också var extremt snabba och kunde anpassa många tusen sekvenser. Under de senaste fyra eller fem åren har dessa program också gradvis blivit mer och mer exakta när det gäller svåra anpassningar. Clustal W och Clustal X fortsätter dock att användas i stor utsträckning, allt oftare på webbplatser. EBI:s Clustal-webbplats får bokstavligen miljontals jobb med multipla anpassningar per år.

Det är i detta sammanhang som vi utvecklade Clustal W 2.0 och Clustal X 2.0. Dessa program skrevs om i C++ med en enkel objektmodell för att göra det lättare att underhålla koden och, ännu viktigare, för att göra det lättare att ändra eller till och med ersätta vissa av anpassningsalgoritmerna. Vi har tagit fram två nya program som till utseende och funktion är mycket lika de äldre programmen i version 1.83, men som nu kan hanteras lättare. Vi har också gjort några mindre justeringar av anpassningsalgoritmerna. Vi har inkluderat ny kod för UPGMA-styrträd som ett alternativ till de vanliga Neighbor-Joining-styrträden. Detta bidrar till att snabba upp anpassningen av extremt stora datamängder med tiotusentals sekvenser. Vi har också inkluderat en iterativ anpassningsfunktion för att öka noggrannheten i anpassningen.

Fig. 1.

ClustalX 2.0 Screenshot on Mac OS X.

Fig. 1.

ClustalX 2.0 Skärmdump på Mac OS X.

Clustal X 2.0 är den nya versionen av det grafiska anpassningsverktyget Clustal X. Det ursprungliga Clustal X utvecklades med hjälp av NCBI:s vibrerande verktygslåda. Den vibrerande verktygslådan stöds inte längre, vilket ledde till problem med att kompilera Clustal X på nyare versioner av operativsystem. De grafiska gränssnittsdelarna i Clustal X 2.0 har skrivits om helt och hållet med hjälp av Qt GUI-verktygslådan. Qt är en lättanvänd C++ GUI-verktygslåda för flera plattformar. Koden behöver bara kompileras en gång för varje plattform. Qt-verktygslådan ger ett inhemskt utseende och känsla på Windows-, Linux- och Mac-plattformar. Clustal X 2.0 har samma funktionalitet som Clustal X.

2 NYA FUNKTIONER

Två nya alternativ har inkluderats i Clustal W 2.0, för att möjliggöra snabbare anpassning av mycket stora datamängder och för att öka anpassningsnoggrannheten. Standardalternativen i Clustal W Och Clustal X 2.0 är desamma som i Clustal W 1.83 och ger samma anpassningsresultat.

Guideträden i Clustal har beräknats med hjälp av Neighbor-Joining (NJ)-metoden, under de senaste 10 åren eller så. I de tidigaste versionerna av programmet användes UPGMA. UPGMA är snabbare än NJ men benägen att klustra ihop långa grenar när utvecklingshastigheterna är mycket ojämna i olika släktled. Båda algoritmerna har en komplexitet på O(N2) men UPGMA är snabbare för en given datamängd och skillnaden blir uttalad med mycket stora N. På en vanlig stationär dator är det möjligt att klustra 10 000 sekvenser på mindre än en minut med hjälp av UPGMA, medan NJ skulle ta över en timme. Vi har återimplementerat en mycket effektiv algoritm för UPGMA som kan anropas genom att använda kommandoradsalternativet ”-clustering=UPGMA”. Den är marginellt mindre noggrann på Balibase benchmark, men på stora anpassningar (t.ex. 10 000 globinsekvenser) uppvägs detta av besparingen i bearbetningstid (2 h jämfört med 12 h).

Iteration är en snabb och effektiv metod för att förfina anpassningar. Ett iterationsschema med ”ta bort först”, som optimerar WSP-poängen (Weighted Sum of Pairs), har inkluderats i denna version av Clustal. Under varje iterationssteg tas varje sekvens bort från anpassningen i tur och ordning och anpassas på nytt. Om WSP-poängen minskar behålls den resulterande anpassningen. Iterationsschemat kan användas antingen för att förfina den slutliga anpassningen eller vid varje steg i den progressiva anpassningen. Att iterera under den progressiva anpassningen tenderar att bli mer exakt men också mycket mer tidskrävande eftersom det finns 2N-3 noder i styrträdet. Kommandoradsalternativet ”-Iteration=Alignment” förfinar den slutliga inriktningen, medan alternativet ”-Iteration=Tree” införlivar systemet i den progressiva inriktningen. Antalet iterationscykler ställs in via kommandoradsalternativet ’-numiters’ (standard är 3).

ACKNOWLEDGEMENT

Detta arbete finansierades huvudsakligen av Science Foundation Ireland.

Interessentkonflikt: ingen deklarerad.

Författarnotiser

Associate Editor: Alex Bateman

Lämna en kommentar