W kierunku równoległej implementacji pakietu T-Coffee

Podobne dokumenty
PRZYRÓWNANIE SEKWENCJI

Przyrównanie sekwencji. Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI

Bioinformatyka 2 (BT172) Progresywne metody wyznaczania MSA: T-coffee

PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI

Bioinformatyka Laboratorium, 30h. Michał Bereta

Dopasowanie sekwencji (sequence alignment)

Dopasowywanie sekwencji (ang. sequence alignment) Metody dopasowywania sekwencji. Homologia a podobieństwo sekwencji. Rodzaje dopasowania

MultiSETTER: web server for multiple RNA structure comparison. Sandra Sobierajska Uniwersytet Jagielloński

Aproksymacja funkcji a regresja symboliczna

Bioinformatyka. Ocena wiarygodności dopasowania sekwencji.

Wykład 5 Dopasowywanie lokalne

Dopasowania par sekwencji DNA

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

prof. dr hab. inż. Marta Kasprzak Instytut Informatyki, Politechnika Poznańska Dopasowanie sekwencji

Programowanie celowe #1

Przyrównywanie sekwencji

Bioinformatyka. (wykład monograficzny) wykład 5. E. Banachowicz. Zakład Biofizyki Molekularnej IF UAM

Genomika Porównawcza. Agnieszka Rakowska Instytut Informatyki i Matematyki Komputerowej Uniwersytet Jagiellooski

Spis treści. Przedmowa... XI. Wprowadzenie i biologiczne bazy danych. 1 Wprowadzenie Wprowadzenie do biologicznych baz danych...

Politechnika Wrocławska. Dopasowywanie sekwencji Sequence alignment

Podstawy Informatyki Systemy sterowane przepływem argumentów

Statystyczna analiza danych

Konstruowanie drzew filogenetycznych. Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

Porównywanie i dopasowywanie sekwencji

RMSD - Ocena jakości wybranych molekularnych struktur przestrzennych

Bioinformatyka II Modelowanie struktury białek

Temat: Algorytm kompresji plików metodą Huffmana

Porównywanie i dopasowywanie sekwencji

METODY CHEMOMETRYCZNE W IDENTYFIKACJI ŹRÓDEŁ POCHODZENIA

Bioinformatyka Laboratorium, 30h. Michał Bereta

PODSTAWY BIOINFORMATYKI 8 DOPASOWYWANIE SEKWENCJI AMINOKWASÓW

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Dopasowanie sekwencji Sequence alignment. Bioinformatyka, wykłady 3 i 4 (19, 26.X.2010)

dr inż. Jarosław Forenc

PROBLEM: SORTOWANIE PRZEZ ODWRÓCENIA METODA: ALGORYTMY ZACHŁANNE

PODSTAWY BIOINFORMATYKI WYKŁAD 5 ANALIZA FILOGENETYCZNA

Programowanie dynamiczne

Modelowanie niezawodności prostych struktur sprzętowych

Wstęp do Techniki Cyfrowej... Teoria automatów

Bioinformatyka II Modelowanie struktury białek

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

Metody przeszukiwania

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012

Zaawansowane algorytmy i struktury danych

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Algorytmy ewolucyjne NAZEWNICTWO

Maciej Piotr Jankowski

Heurystyczne metody przeszukiwania

Kryptografia na procesorach wielordzeniowych

TEORETYCZNE PODSTAWY INFORMATYKI

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Teoria informacji i kodowania Ćwiczenia

Dopasowanie sekwencji Sequence alignment. Bioinformatyka, wykłady 3 i 4 (16, 23.X.2012)

Algorytmy genetyczne

Zapisywanie algorytmów w języku programowania

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

BIOINFORMATYKA. edycja 2016 / wykład 11 RNA. dr Jacek Śmietański

Algorytmy genetyczne

Modelowanie motywów łańcuchami Markowa wyższego rzędu

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Teoretyczne Podstawy Informatyki

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Pomorski Czarodziej 2016 Zadania. Kategoria C

Analiza ilościowa w przetwarzaniu równoległym

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Dopasowanie par sekwencji

Programowanie współbieżne Wykład 2. Iwona Kochańska

Bioinformatyka Laboratorium, 30h. Michał Bereta

1.1. Pozycyjne systemy liczbowe

Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.

PRZEWODNIK PO PRZEDMIOCIE

Wstęp do Biologii Obliczeniowej

0 + 0 = 0, = 1, = 1, = 0.

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

Programowanie komputerów

Programowanie i techniki algorytmiczne

Wstęp do programowania

Webowy generator wykresów wykorzystujący program gnuplot

Algorytm indukcji klasyfikatora za pomocą EA z automatycznym przełączaniem ukierunkowań

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Procesowa specyfikacja systemów IT

Kurs MATURA Z INFORMATYKI

Hierarchiczna analiza skupień

PRZEWODNIK PO PRZEDMIOCIE

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Platforma e-learnigowa Moodle Testy i oceny

Arkusz kalkulacyjny Excel

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Analiza efektywności przetwarzania współbieżnego. Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak Grudzień 2015

Transkrypt:

W kierunku równoległej implementacji pakietu T-Coffee Adrian Rospondek 1 1 Wydział Inżynierii Mechanicznej i Informatyki Kierunek Informatyka, Rok V a.rospondek@poczta.fm Streszczenie Artykuł ten prezentuje pakiet używany do porównywania sekwencji biologicznych oraz jego analizę pod kątem równoległej implementacji. 1 Wstęp T-Coffee to pakiet, który robi dopasowanie wielu sekwencji. Może on działać na dwóch rodzajach sekwencji biologicznych: DNA i białkach. Pakiet ten jest rozwijany w Centre National de la Recherche Scientifique we Francji pod kierownictwem Cedrica Notredame a jako oprogramowanie darmowe o otwartym kodzie źródłowym. Najnowsza dostępna wersja ma numer 3.93 [1]. Dopasowanie wielu sekwencji genetycznych jest techniką często używaną w procesie ich analizy, gdyż pomaga znaleźć odpowiedź na pytanie, czy dane sekwencje są ze sobą spokrewnione. Z kolei stwierdzenie pokrewieństwa stanowi wstęp do wielu innych, bardziej złożonych działań, takich jak np. rekonstrukcja filogenetyczna, identyfikacja wspólnych motywów, modelowanie struktur drugorzędowych czy przewidywanie pełnionych funkcji. Niestety zbudowanie dokładnego dopasowania może być trudne, przede wszystkim z dwóch powodów. Po pierwsze, problemem jest dobranie modelu oceny jakości, który byłby satysfakcjonujący z biologicznego punktu widzenia. Po drugie, tworzenie najlepszego (lub optymalnego), według przyjętego kryterium, dopasowania przeważnie charakteryzuje bardzo duża złożoność obliczeniowa i dokładne rozwiązanie można uzyskać jedynie dla niewielkiej liczby spokrewnionych sekwencji. Obecnie analizuje się zbiory zawierające często setki długich sekwencji, co znacznie wydłuża czas obliczeń. Można go jednak zredukować stosując przetwarzanie równoległe. Problem dopasowania wielu sekwencji Sekwencje można rozpatrywać jako słowa nad pewnym alfabetem Σ. W przypadku sekwencji nukleinowych zawiera on cztery litery i są to: {A,C,T,G} dla DNA oraz {A,C,U, G} dla RNA. Natomiast do zapisu sekwencji białkowych używa się alfabetu dwudziestoliterowego, gdyż jest dwadzieścia aminokwasów tworzących białka. 1

Spokrewnione sekwencje ewoluując od wspólnego przodka ulegały procesowi mutacji i selekcji. Przejawami mutacji są substytucje zmieniające jedną literę w inną a także insercje i delecje, które odpowiednio wstawiają lub usuwają litery [1]. Rysunek 1 przedstawia przykładowe dopasowanie trzech sekwencji. Jak można zauważyć, dopasowanie polega na umieszczeniu wszystkich sekwencji jedna pod drugą i wprowadzeniu przerw (znak - ) w celu wyrównania ich długości. Reszty 1 znajdujące się w tej samej kolumnie są homologiczne w sensie strukturalnym i ewolucyjnym. W idealnym przypadku wszystkie one zajmują podobną pozycję w strukturze trójwymiarowej oraz pochodzą od wspólnego przodka. Nie zawsze jednak każda kolumna dopasowania zawiera wyłącznie homologiczne reszty. Jeżeli w jakiejś sekwencji brakuje odpowiedniej litery, na jej miejsce wstawiana jest przerwa. Przerwy odnoszą się do insercji i delecji. AXO1 RAT NCA HUMAN NRG DROME ----DINVGDNLTLQCHASHDPTMDLTFTWTLDDFPIDF IVNATANLGQSVTLVCDAEGF--PEPTMSWTKDGEQ--I PQNYEVAAGQSATFRCNEAHDDTLEIEIDWWKDGQS--I...G..+.+.C.+...+.W...+ Rys. 1: Przykładowe dopasowanie fragmentów trzech sekwencji z rodziny immunoglobulin. W ostatniej linijce zaznaczono reszty identyczne (litera) lub konserwatywne (+). Generalnie rozróżnia się dwa typy dopasowań: globalne - obejmujące pełny zakres sekwencji branych do analizy i lokalne, w których bierze się pod uwagę tylko wyraźnie homologiczne fragmenty, jednocześnie ignorując pozostałe części sekwencji []. Oczywiście dla danego zbioru sekwencji można wygenerować wiele różnych dopasowań, spośród których należy wybrać jedno najlepsze. W tym celu do każdego z nich przypisuje się wynik. Dopasowaniem optymalnym jest to, dla którego ten wynik jest najwyższy..1 Model oceny W przypadku dwóch sekwencji wynik całego dopasowania jest sumą wartości przypisywanych każdej parze dopasowanych liter i każdej przerwie. Reszty identyczne oraz substytucje konserwatywne (zastępujące daną resztę inną ale o podobnych właściwościach fizykochemicznych) są bardziej prawdopodobne i dlatego otrzymują wartości dodatnie. Z kolei zmiany niekonserwatywne (w tym przerwy) występują rzadziej, więc przypisuje się im wartości ujemne. Taką funkcję oceny można wyrazić następującym wzorem: SCORE(s 1,s ) = l i=1 score(s 1 (i),s (i)) + γ(g j ) (1) j gdzie s 1 i s to dopasowane sekwencje o długości l, s x (i) to i ta litera sekwencji s x a g j to długość j te j przerwy. Żeby obliczyć wynik dopasowania musimy zdefiniować funkcje score i γ określające zakładany przez nas model ewolucyjny. Pierwsza z nich opisuje prawdopodobieństwo wystąpienia pary (a, b) wśród wszystkich możliwych par. Zazwyczaj wartości tej funkcji dla każdej kombinacji układa się w symetryczną macierz, zwaną macierza substytucji. Przykład stanowią zaprojektowane dla białek zbiory macierzy BLOSUM i PAM. Ponieważ 1 Terminem reszta określa się pojedynczą literę.

powstały one w wyniku statystycznej analizy dużej liczby dopasowań, są zbyt ogólne, co czasami utrudnia ich używanie. Funkcja γ zwraca wartość kary dla danej przerwy o długości g. Może ona mieć postać liniową: γ(g) = g q lub aficzną: γ(g) = q (g 1) w, gdzie q to kara za otwarcie przerwy a w to kara za jej przedłużanie. Zazwyczaj w jest mniejsze od q. Postać aficzną stosuje się, gdy przerwy o długości jednego i kilku znaków są prawie tak samo prawdopodobne. Model oceny dopasowania wielu sekwencji jest bardziej skomplikowany. Teoretycznie powinien on uwzględniać całą wiedzę na temat struktur drugorzędowych oraz ewolucyjnej historii analizowanych sekwencji. Niestety w większości przypadków trzeba zastosować pewne uproszczenia, wynikające z braku tych informacji. Zakładając, że poszczególne kolumny dopasowania są niezależne, jego całkowity wynik można zapisać tak: SCORE(A) = l i=1 score(a i ) + Γ () gdzie A i to i ta kolumna dopasowania A a Γ to pewna ogólna funkcja wartościująca przerwy. Kolumny ocenia się za pomocą tzw. sumy par, zdefiniowanej jako suma wartości substytucji dla każdej pary reszt [3].. Poszukiwanie dopasowania Rozpatrując problem dopasowania sekwencji, trzeba podkreślić konieczność dysponowania algorytmem na znalezienie optymalnego, według przyjętego przez nas kryterium oceny, rozwiązania. Dopasowanie dwóch sekwencji tworzy się za pomocą techniki zwanej programowaniem dynamicznym. Główną ideą tego podejścia jest budowanie optymalnego dopasowania na podstawie optymalnych dopasowań poprzednich subsekwencji [4]. Jako modelu oceny używa się macierzy substytucji i kar za przerwy. Oczywiście technikę tą można uogólnić, jednak dla większej liczby sekwencji okazuje się być bardzo niepraktyczna ze względu na dużą złożoność. Wprawdzie istnieje zmodyfikowany algorytm redukujący ilość niezbędnych obliczeń [5], ale potrafi on dopasować nie więcej niż dziesięć blisko spokrewnionych sekwencji [6]. Najpowszechniej używanym i zarazem najprostszym sposobem poradzenia sobie ze zbiorem sekwencji jest heurystyczna metoda, oparta na strategii progresywnego dopasowania [7]. Polega ona na budowaniu końcowego rezultatu krok po kroku, według pewnego ustalonego porządku. Na początku, przy pomocy standardowego podejścia, dopasowuje się dwie najmniej różniące się sekwencje. Następnie do tego dopasowania stopniowo dokładane są pozostałe. Kolejność w jakiej się to odbywa, zwykle opisuje tzw. drzewo przewodnie (ang. guide tree) będące prostym przybliżeniem rzeczywistego drzewa filogenetycznego. Metoda ta ma jednak wadę wynikającą z faktu, że pośrednie dopasowania nie mogą być modyfikowane, nawet jeśli kolidują z dodanymi później sekwencjami. Popełnione we wczesnym etapie błędy odbijają się na jakości końcowego dopasowania. Drzewo filogenetyczne reprezentuje relację pomiędzy sekwencjami wynikającą z ich ewolucyjnej historii. 3

3 Algorytm T-Coffee Ogólnie metoda T-Coffee opiera się na progresywnej strategii budowania dopasowania wielu sekwencji, jednak unika najpoważniejszej wady tego podejścia (opisanej w rozdziale.). Najpierw robi dopasowanie dla każdej możliwej pary sekwencji ze zbioru wejściowego i uzyskane tą drogą informacje gromadzi w bibliotece. Następnie biblioteka ta jest wykorzystywana podczas tworzenia ostatecznego dopasowania. W ten sposób wyniki pośrednie powstają w oparciu o wiedzę na temat wszystkich sekwencji a nie tylko tych, które są analizowane na danym etapie. Skutkiem tego jest znacznie mniejsze prawdopodobieństwo wystąpienia błędu. Inną charakterystyczną cechą T-Coffee jest zdolność łączenia informacji pochodzących z różnych źródeł. Elastyczność tą uzyskano dzięki bibliotece, stanowiącej niejako inerfejs pomiędzy algorytmem progresywnego dopasowania a dowolną metodą porównywania sekwencji. Najczęściej bibliotekę tworzy się na podstawie globalnych i lokalnych podwójnych dopasowań. W specjalnym trybie, używanym wyłącznie do analizy białek, dodatkowo uwzględnia się dane o ich trójwymiarowej strukturze. Tryb ten nazwano 3D- Coffee i to właśnie na nim skupimy się w dalszej części artykułu. Jak wynika z rysunku, metoda T-Coffee składa się z dwóch faz, którymi są: tworzenie biblioteki i budowanie dopasowania. TWORZENIE BIBLIOTEK PREKOMPILOWANYCH TWORZENIE BIBLIOTEKI PODSTAWOWEJ 1 FAZA ROZSZERZANIE BIBLIOTEKI FAZA PROGRESYWNE DOPASOWANIE SEKWENCJI BUDOWANIE DRZEWA PRZEWODNIEGO Rys. : Ogólny schemat metody T-Coffee. 3.1 Tworzenie biblioteki Biblioteki prekompilowane Domyślnie T-Coffee tworzy dwie prekompilowane biblioteki. Obie zawierają informacje o każdej z n n par sekwencji, gdzie n jest ich liczbą. Pierwsza to zbiór dopasowań globalnych. Druga przechowuje dziesięć najlepiej ocenionych, nie nakładających się na siebie, lokalnych dopasowań poszczególnych par sekwencji. W trybie 3D-Coffee procedura jest trochę inna. Oprócz biblioteki dopasowań globalnych, tworzonych przy użyciu programowania dynamicznego, są jeszcze dwie, zawierające dopasowania par sekwencji białkowych bazujące na danych o ich strukturze przestrzennej. W pierwszej z nich są dopasowania budowane programem SAP, który generuje 4

wyniki na podstawie superpozycji dwóch struktur [9]. Druga to zbiór dopasowań utworzonych przez pakiet Fugue, wykorzystujący strukturę 3D do obliczenia zależnej od pozycji macierzy substytucji [10]. SAP używany jest, gdy dane strukturalne dostępne są dla obu sekwencji, Fugue gdy tylko dla jednej z nich. Każde dopasowanie reprezentowane jest w bibliotece jako lista sparowanych reszt. Do poszczególnych par przypisane są wagi równe procentowej identyczności sekwencji, z których dopasowania pochodzą. Biblioteka podstawowa Kolejnym krokiem jest połączenie wszystkich prekompilowanych bibliotekach w jedną. Osiąga się to poprzez proste dodawanie. Jeżeli któraś para reszt występuje więcej niż raz, w wyjściowej bibliotece ma ona wagę równą sumie wag, jakie otrzymała do tej pory. Rozszerzanie biblioteki Biblioteka podstawowa może być bezpośrednio użyta podczas budowy dopasowania. Jednak aby zwiększyć wartość informacji w niej zawartej, poddaje się ją procesowi rozszerzania. Polega on na sprawdzaniu trójek reszt. Każdą dopasowaną parę liter sprawdza się pod kątem zgodności z pozostałymi literami ze wszystkich sekwencji. Mając parę reszt (r 1,r ) i wagę w 1 przypisaną im w bibliotece podstawowej oraz resztę r 3 bada się, czy występują dopasowania r 1 z r 3 i r 3 z r. Jeżeli taka sytuacja ma miejsce, to wartość w 1 jest modyfikowana tak, że w 1 = w 1 + min(w 13,w 3 ). Całkowite rozszerzenie wymaga sprawdzenia wszystkich możliwych trójek (r i,r j,r k ). Po zakończeniu tej operacji, każda waga odzwierciedla podobieństwo sekwencji, z których pochodzi dana para liter i jej zgodność z pozostałymi parami w bibliotece podstawowej. 3. Budowanie dopasowania Jak już wspomniano, T-Coffee generuje ostateczne dopasowanie używając strategii progresywnej. Najpierw jednak oblicza macierz odległości, zawierającą przybliżone wartości ewolucyjnych dystansów między sekwencjami. Następnie wykorzystuje ją do utworzenia drzewa przewodniego. Zgodnie z wyznaczonym przez nie porządkiem, sekwencje są dopasowywane za pomocą zwykłego programowania dynamicznego, z tą różnicą, że zamiast macierzy substytucji i kar za przerwy używa się wag z biblioteki rozszerzonej. W ten sposób uzyskano zależny od pozycji reszt w sekwencjach model oceny. 4 Analiza T-Coffee Teraz przyjrzymy się pakietowi T-Coffee pod kątem jego równoległej implementacji. Analizując algorytm, a przede wszystkim kod źródłowy programu, można w nim wyodrębnić kilka podzadań, które przedstawiono na rysunku 3. Zanim T-Coffee zacznie generować biblioteki prekompilowane, sprawdza dostępność danych strukturalnych dla każdej sekwencji ze zbioru wejściowego. W tym celu przeszukuje bazę RCSB [13] i pobiera z niej potrzebne informacje w postaci plików PDB. 5

T0 T1 T T3 T4 T5 T6 T7 T8 T9 T10 Rys. 3: Dekompozycja pakietu T-Coffee na podzadania z uwzględnieniem ich zależności. T 0 inicjalizacja, T 1 wczytywanie danych, T pobieranie plików PDB, T 3 preprocesing, T 4 biblioteka globalna, T 5 biblioteka SAP, T 6 biblioteka Fugue, T 7 biblioteka rozszerzona, T 8 macierz dystansów, T 9 drzewo, T 10 ostateczne dopasowanie. W zależności od liczby sekwencji i przepustowości łącza może to potrwać od kilku do kilkudziesięciu sekund. Wyprodukowanie biblioteki globalnej i biblioteki SAP wymaga obliczenia odpowiednio n 1 n 1 i n n podwójnych dopasowań, gdzie n 1 to licza wszystkich sekwencji a n to liczba sekwencji z dostępną strukturą 3D. W większości przypadków n będzie mniejsze od n 1. W celu utworzenia trzeciej biblioteki T-Coffee korzysta z oficjalnego serwera Fugue [14], do którego wysyła pary sekwencja struktura aby otrzymać gotowe dopasowanie. Proces ten jest czasochłonny, gdyż cała biblioteka wymaga (n 1 n ) n żądań a każde z nich może zająć od kilkudziesięciu sekund do kilku minut. Obliczając macierz dystansów trzeba dopasować n 1 n 1 par sekwencji. Zadania T 4, T 5 i T 8 składają się z niezależnych podwójnych dopasowań co bardzo ułatwia ich zrównoleglenie. Jedyna kwestia jaką trzeba wziąść pod uwagę to staranne rozdzielenie obliczeń. Używana do tworzenia drzewa przewodniego metoda przyłaczania sasiadów [8] jest szybka, dlatego zadanie T 9 zajmuje niewielki procent całkowitego czasu wykonania. Tak więc przyspieszenie uzyskane z jego paralelizacji byłoby nieznaczne. 6

Chociaż progresywne dopasowanie można zaimplementować w sposób równoległy, trudno jest osiągnąć satysfakcjonujące zrównoważenie obciążenia. Dopasowania odpowiadające węzłom z tego samego poziomu nie zależą od siebie, więc mogą być przydzielone do oddzielnych procesorów. Jednak im bliżej korzenia tym mniej węzłów, co sprawia, że stosunek liczby sekwencji do liczby jednostek przetwarzających maleje. 5 Podsumowanie Wymienione powyżej cechy pakietu T-Coffee ułatwiają jego wydajną paralelizację. Planuje się, że wersja równoległa będzie przeznaczona na architekturę z pamięcią rozproszoną bazującą na klastrze komputerów klasy PC i zaprogramowana przy użyciu standardu MPI [11] w oparciu o model master worker. Master zajmie się wczytaniem i wstępnym przetworzeniem danych (sekwencji i struktur) oraz rozesłaniem ich do wszystkich workerów. Następnie zbierze wygenerowane przez nich biblioteki i złączy w jedną, którą podda procesowi rozszerzania. Master będzie również odpowiedzialny za wygenerowanie drzewa przewodniego i utworzenie dopasowań związanych z węzłami na górnych poziomach tego drzewa. Dopasowania z dolnych poziomów zostaną przydzielone workerom. Będą one także uczestniczyć w obliczaniu macierzy dystansów. Literatura [1] M. Kimura. The Neutral Theory of Molecular Evolution. Cambridge Univ. Press, 1983. [] M. S. Waterman. Introduction to Computational Biology. Chapman & Hall, 1995. [3] S. F. Altschul, D. J. Lipman. Trees, stars and multiple biological sequence alignment. SIAM J. Appl. Math., 49: 197 09, 1989. [4] W. Miller, W. R. Pearson. Dynamic programming algorithms for biological sequence comparison. Methods Enzymol., 10: 575 601, 199. [5] H. Carrillo, D. J. Lipman. The multiple sequence alignment problem in biology. SIAM J. Appl. Math., 48: 1073 108, 1988. [6] S. F. Altschul, J. D. Kececioglu, D. J. Lipman. A tool for multiple sequence alignment. In Proc. Natl. Acad. Sci. USA, 86: 441 4415, 1989. [7] B. Hesper, P. Hogeweg. The alignment of sets of sequences and the construction of phylogenetic trees: an integrated method. J. Mol. Biol., 0(): 175 186, 1984. [8] M. Nei, N. Saitou. The neighbor-joining method: a new method for reconstructing phylogenetic trees. Mol. Biol. Evol., 4(4): 406 45, 1987. [9] C. A. Orengo, W. R. Taylor. Protein structure alignment. J. Mol. Biol., 08: 1, 1989. 7

[10] T. L. Blundell, K. Mizuguchi, J. Shi. FUGUE: sequence structure homology recognition using environment-specific substitution tables and structure-dependent gap penalties. J. Mol. Biol., 310: 43 57, 001. [11] W. Gropp, S. Huss-Lederman, A. Lumsdaine, E. Lusk, B. Nitzberg, W. Saphir, M. Snir. MPI: The Complete Reference, volume. The MIT Press, 1998. [1] Strona domowa pakietu T-Coffee. http://igs-server.cnrs-mrs.fr/ cnotred/, 006. [13] RCSB. http://www.rcsb.org/pdb/cgi/export.cgi/, 006. [14] Serwer Fugue. http://www-cryst.bioc.cam.ac.uk/cgi-bin/cgiwrap/kenji/fugue/align.cgi/, 006. 8