Abstrakt
Summary: Clustal W og Clustal X programmerne til multiple sekvensudligning er blevet fuldstændig omskrevet i C++. Dette vil lette den videre udvikling af alignment-algoritmerne i fremtiden og har gjort det muligt at portere programmerne korrekt til de nyeste versioner af Linux-, Macintosh- og Windows-operativsystemer.
Contact:[email protected]
1 INDLEDNING
Multiple sequence alignments er nu en af de mest udbredte bioinformatiske analyser. De er rutinemæssigt nødvendige som dele af mere komplicerede analyser eller analysepipelines, og der findes flere meget udbredte pakker, f.eks. Clustal W (Thompson et al., 1994), Clustal X (Thompson et al., 1997), T-Coffee (Notredame et al., 2000), MAFFT (Katoh et al., 2002) og MUSCLE (Edgar, 2004). Clustal er også det ældste af de i øjeblikket mest udbredte programmer, idet det først blev distribueret med posten på disketter i slutningen af 1980’erne. Det blev oprindeligt skrevet i Microsoft Fortran til MS-DOS og kørte oprindeligt på IBM-kompatible personlige computere som fire separate eksekverbare programmer, Clustal1-Clustal4 (Higgins og Sharp, 1988, 1989). Disse blev senere omskrevet i C og slået sammen til et enkelt program, Clustal V (Higgins et al., 1992), som blev distribueret til VAX/VMS, Unix, Apple Macintosh og IBM-kompatible pc’er. Disse programmer blev distribueret fra EMBL File server (Stoehr og Omond, 1989), en e-mail- og FTP-server, der er baseret på EMBL i Heidelberg, Tyskland.
De nuværende Clustal-programmer stammer alle fra Clustal W (Thompson et al., 1994), som indarbejdede et nyt positionsspecifikt scoringssystem og et vægtningsskema til nedvægtning af overrepræsenterede sekvensgrupper. “W” står for “vægte”. Disse programmer er blevet ændret og suppleret mange gange siden 1994 med henblik på at øge funktionaliteten og øge følsomheden. Brugervenligheden er også blevet stærkt forbedret ved tilføjelsen i 1997 af en komplet grafisk brugergrænseflade (Thompson et al., 1997). Dette har gjort koden kompliceret at vedligeholde og udvikle, da den grafiske grænseflade konstant skal ændres og omkompileres til nye styresystemer og skrivebordsmiljøer (Windows, Macintosh, VMS, Unix og Linux).
I slutningen af 1990’erne var Clustal W og Clustal X de mest udbredte multiple alignment-programmer. De var i stand til at tilpasse mellemstore datasæt meget hurtigt og var lette at bruge. Justeringerne var af tilstrækkelig kvalitet til ikke at kræve manuel redigering eller justering særlig ofte. Denne situation ændrede sig meget med fremkomsten af det første specialfremstillede benchmark-testsæt for multiple alignment-programmer, BAliBASE (Thompson et al., 1999). Dette blev efterfulgt af T-Coffee, som var i stand til at foretage meget nøjagtige tilpasninger af meget divergerende proteiner, men kun for små sæt sekvenser på grund af dets høje beregningsomkostninger. Med den øgede behandlingshastighed på stationære computere og den efterfølgende optimering af T-Coffee-koden er T-Coffee nu praktisk anvendelig til rutinemæssig brug ved tilpasningsopgaver af moderat størrelse. For nylig dukkede MAFFT og MUSCLE op, som i begyndelsen var mindst lige så nøjagtige som Clustal med hensyn til nøjagtighed af tilpasningen, men som også var ekstremt hurtige og i stand til at tilpasse mange tusinde sekvenser. I løbet af de sidste 4-5 år er disse programmer også gradvist blevet mere og mere præcise i forbindelse med vanskelige tilpasninger. Ikke desto mindre er Clustal W og Clustal X fortsat meget udbredt, i stigende grad på websteder. EBI Clustal site, får bogstaveligt talt millioner af multiple alignment jobs om året.
Det er i denne sammenhæng, at vi har udviklet Clustal W 2.0 og Clustal X 2.0. Disse programmer blev omskrevet i C++ med en simpel objektmodel for at gøre det lettere at vedligeholde koden og endnu vigtigere for at gøre det lettere at ændre eller endog erstatte nogle af alignment-algoritmerne. Vi har produceret to nye programmer, som i udseende og funktion minder meget om de ældre programmer i version 1.83, men som nu kan administreres lettere. Vi har også foretaget nogle mindre justeringer af justeringsalgoritmerne. Vi har inkluderet ny kode til UPGMA-guide trees som et alternativ til de sædvanlige Neighbor-Joining-guide trees. Dette er med til at fremskynde tilpasningen af ekstremt store datasæt med titusindvis af sekvenser. Vi har også inkluderet en iterativ tilpasningsfacilitet for at øge tilpasningsnøjagtigheden.
ClustalX 2.0 Screenshot on Mac OS X.
ClustalX 2.0 Skærmbillede på Mac OS X.
Clustal X 2.0 er den nye version af det grafiske værktøj Clustal X til grafisk alignment. Det oprindelige Clustal X blev udviklet ved hjælp af NCBI’s vibrant toolbox. Den vibrerende værktøjskasse understøttes ikke længere, hvilket førte til problemer med at kompilere Clustal X på nyere versioner af styresystemer. Den grafiske grænseflade i Clustal X 2.0 er blevet fuldstændig omskrevet ved hjælp af Qt GUI-værktøjskassen. Qt er en brugervenlig, multi-platform C++ GUI-værktøjskasse. Koden behøver kun at blive kompileret én gang på hver af platformene. Qt-værktøjskassen giver et naturligt udseende på Windows-, Linux- og Mac-platforme. Clustal X 2.0 har samme funktionalitet som Clustal X.
2 NYE FUNKTIONER
To nye muligheder er blevet inkluderet i Clustal W 2.0 for at muliggøre hurtigere alignment af meget store datasæt og for at øge alignmentnøjagtigheden. Standardindstillingerne i Clustal W Og Clustal X 2.0 er de samme som i Clustal W 1.83, og vil give de samme alignmentresultater.
Guidetræerne i Clustal er blevet beregnet ved hjælp af Neighbor-Joining (NJ)-metoden, i de sidste ca. 10 år. I de tidligste versioner af programmet blev der anvendt UPGMA. UPGMA er hurtigere end NJ, men tilbøjelig til at samle lange grene sammen, når udviklingshastigheden er meget ulige i de forskellige slægter. Begge algoritmer har en kompleksitet på O(N2), men UPGMA er hurtigere for et givet datasæt, og forskellen bliver udtalt ved meget store N. På en standard desktop-pc er det muligt at clustere 10 000 sekvenser på mindre end et minut ved hjælp af UPGMA, mens NJ ville tage over en time. Vi har genimplementeret en meget effektiv algoritme til UPGMA, som kan kaldes ved hjælp af kommandolinjeindstillingen “-clustering=UPGMA”. Den er marginalt mindre nøjagtig på Balibase-benchmarken, men ved store alignments (f.eks. 10 000 globin-sekvenser) opvejes dette af besparelsen i behandlingstid (2 timer mod 12 timer).
Iteration er en hurtig og effektiv metode til at forfine alignments. Et “fjern først”-iterationsskema, som optimerer den vægtede sum af par (Weighted Sum of Pairs, WSP) score, er blevet inkluderet i denne version af Clustal. I løbet af hvert iterationstrin fjernes hver sekvens fra alignmentet på skift og justeres på ny. Hvis WSP-scoren reduceres, bevares den resulterende alignment. Iterationsskemaet kan bruges til enten at forfine den endelige alignment eller på hvert trin i den progressive alignment. Iteration under den progressive tilpasning har tendens til at være mere præcis, men også meget mere tidskrævende, da der er 2N-3 knuder i styretræet. Kommandolinjeindstillingen “-Iteration=Alignment” forfiner den endelige justering, mens indstillingen “-Iteration=Tree” indarbejder ordningen i den progressive justering. Antallet af iterationscyklusser indstilles via kommandolinjeindstillingen ‘-numiters’ (standard er 3).
Tilbagekaldelse
Dette arbejde blev hovedsageligt finansieret af Science Foundation Ireland.
Interessekonflikter: ingen erklæret.
Author notes
Associate Editor: Alex Bateman