Adrian Rospondek - W kierunku równoległej implementacji pakietu

Transkrypt

Adrian Rospondek - W kierunku równoległej implementacji pakietu
W kierunku równoległej implementacji pakietu
T-Coffee
Adrian Rospondek1
1 Wydział
Inżynierii Mechanicznej i Informatyki
Kierunek Informatyka, Rok V
[email protected]
Streszczenie
Artykuł ten prezentuje pakiet używany do porównywania sekwencji biologicznych oraz jego analiz˛e pod katem
˛
równoległej implementacji.
1
Wst˛ep
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˛epna
wersja ma numer 3.93 [12].
Dopasowanie wielu sekwencji genetycznych jest technika˛ cz˛esto używana˛ w procesie
ich analizy, gdyż pomaga znaleźć odpowiedź na pytanie, czy dane sekwencje sa˛ ze soba˛
spokrewnione. Z kolei stwierdzenie pokrewieństwa stanowi wst˛ep do wielu innych, bardziej złożonych działań, takich jak np. rekonstrukcja filogenetyczna, identyfikacja wspólnych motywów, modelowanie struktur drugorz˛edowych 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 satysfakcjonujacy
˛ z biologicznego punktu widzenia. Po drugie, tworzenie
najlepszego (lub optymalnego), według przyj˛etego kryterium, dopasowania przeważnie
charakteryzuje bardzo duża złożoność obliczeniowa i dokładne rozwiazanie
˛
można uzyskać jedynie dla niewielkiej liczby spokrewnionych sekwencji.
Obecnie analizuje si˛e zbiory zawierajace
˛ cz˛esto setki długich sekwencji, co znacznie
wydłuża czas obliczeń. Można go jednak zredukować stosujac
˛ przetwarzanie równoległe.
2
Problem dopasowania wielu sekwencji
Sekwencje można rozpatrywać jako słowa nad pewnym alfabetem Σ. W przypadku sekwencji nukleinowych zawiera on cztery litery i sa˛ to: {A,C, T, G} dla DNA oraz {A,C,U,
G} dla RNA. Natomiast do zapisu sekwencji białkowych używa si˛e alfabetu dwudziestoliterowego, gdyż jest dwadzieścia aminokwasów tworzacych
˛
białka.
1
Spokrewnione sekwencje ewoluujac
˛ od wspólnego przodka ulegały procesowi mutacji i selekcji. Przejawami mutacji sa˛ substytucje zmieniajace
˛ jedna˛ liter˛e w inna˛ a także
insercje i delecje, które odpowiednio wstawiaja˛ lub usuwaja˛ litery [1].
Rysunek 1 przedstawia przykładowe dopasowanie trzech sekwencji. Jak można zauważyć, dopasowanie polega na umieszczeniu wszystkich sekwencji jedna pod druga˛
i wprowadzeniu przerw (znak ’-’) w celu wyrównania ich długości. Reszty1 znajdujace
˛
si˛e w tej samej kolumnie sa˛ homologiczne w sensie strukturalnym i ewolucyjnym. W idealnym przypadku wszystkie one zajmuja˛ podobna˛ pozycj˛e w strukturze trójwymiarowej
oraz pochodza˛ od wspólnego przodka. Nie zawsze jednak każda kolumna dopasowania
zawiera wyłacznie
˛
homologiczne reszty. Jeżeli w jakiejś sekwencji brakuje odpowiedniej
litery, na jej miejsce wstawiana jest przerwa. Przerwy odnosza˛ si˛e do insercji i delecji.
AXO1 RAT
NCA2 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˛e dwa typy dopasowań: globalne - obejmujace
˛ pełny zakres
sekwencji branych do analizy i lokalne, w których bierze si˛e pod uwag˛e tylko wyraźnie
homologiczne fragmenty, jednocześnie ignorujac
˛ pozostałe cz˛eści sekwencji [2].
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˛e wynik. Dopasowaniem optymalnym jest to, dla którego ten wynik jest najwyższy.
2.1
Model oceny
W przypadku dwóch sekwencji wynik całego dopasowania jest suma˛ wartości przypisywanych każdej parze dopasowanych liter i każdej przerwie. Reszty identyczne oraz substytucje konserwatywne (zast˛epujace
˛ dana˛ reszt˛e inna˛ ale o podobnych właściwościach
fizykochemicznych) sa˛ bardziej prawdopodobne i dlatego otrzymuja˛ wartości dodatnie.
Z kolei zmiany niekonserwatywne (w tym przerwy) wyst˛epuja˛ rzadziej, wi˛ec przypisuje
si˛e im wartości ujemne. Taka˛ funkcj˛e oceny można wyrazić nast˛epujacym
˛
wzorem:
l
SCORE(s1 , s2 ) = ∑ score(s1 (i), s2 (i)) + ∑ γ(g j )
(1)
j
i=1
gdzie s1 i s2 to dopasowane sekwencje o długości l, sx (i) to i − ta litera sekwencji sx
a g j to długość j − te j przerwy.
Żeby obliczyć wynik dopasowania musimy zdefiniować funkcje score i γ określajace
˛
zakładany przez nas model ewolucyjny. Pierwsza z nich opisuje prawdopodobieństwo wystapienia
˛
pary (a, b) wśród wszystkich możliwych par. Zazwyczaj wartości tej funkcji dla
każdej kombinacji układa si˛e w symetryczna˛ macierz, zwana˛ macierza˛ substytucji. Przykład stanowia˛ zaprojektowane dla białek zbiory macierzy BLOSUM i PAM. Ponieważ
1 Terminem
reszta określa si˛e pojedyncza˛ liter˛e.
2
powstały one w wyniku statystycznej analizy dużej liczby dopasowań, sa˛ 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ć
liniowa:
˛ γ(g) = −g · q lub aficzna:
˛ γ(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ć aficzna˛
stosuje si˛e, gdy przerwy o długości jednego i kilku znaków sa˛ prawie tak samo prawdopodobne.
Model oceny dopasowania wielu sekwencji jest bardziej skomplikowany. Teoretycznie powinien on uwzgl˛edniać cała˛ wiedz˛e na temat struktur drugorz˛edowych oraz ewolucyjnej historii analizowanych sekwencji. Niestety w wi˛ekszości przypadków trzeba zastosować pewne uproszczenia, wynikajace
˛ z braku tych informacji.
Zakładajac,
˛ że poszczególne kolumny dopasowania sa˛ niezależne, jego całkowity wynik można zapisać tak:
l
SCORE(A) = ∑ score(Ai ) + Γ
(2)
i=1
gdzie Ai to i − ta kolumna dopasowania A a Γ to pewna ogólna funkcja wartościujaca
˛
przerwy. Kolumny ocenia si˛e za pomoca˛ tzw. sumy par, zdefiniowanej jako suma wartości
substytucji dla każdej pary reszt [3].
2.2
Poszukiwanie dopasowania
Rozpatrujac
˛ problem dopasowania sekwencji, trzeba podkreślić konieczność dysponowania algorytmem na znalezienie optymalnego, według przyj˛etego przez nas kryterium
oceny, rozwiazania.
˛
Dopasowanie dwóch sekwencji tworzy si˛e za pomoca˛ techniki zwanej programowaniem dynamicznym. Główna˛ idea˛ tego podejścia jest budowanie optymalnego dopasowania na podstawie optymalnych dopasowań poprzednich subsekwencji [4]. Jako modelu
oceny używa si˛e macierzy substytucji i kar za przerwy.
Oczywiście technik˛e ta˛ można uogólnić, jednak dla wi˛ekszej liczby sekwencji okazuje
si˛e być bardzo niepraktyczna ze wzgl˛edu na duża˛ złożoność. Wprawdzie istnieje zmodyfikowany algorytm redukujacy
˛ ilość niezb˛ednych obliczeń [5], ale potrafi on dopasować
nie wi˛ecej niż dziesi˛eć 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 porzadku.
˛
Na poczatku,
˛
przy pomocy standardowego podejścia, dopasowuje si˛e dwie najmniej różniace
˛ si˛e sekwencje. Nast˛epnie do tego dopasowania stopniowo
dokładane sa˛ pozostałe. Kolejność w jakiej si˛e to odbywa, zwykle opisuje tzw. drzewo
przewodnie (ang. guide tree) b˛edace
˛ prostym przybliżeniem rzeczywistego drzewa filogenetycznego2 . Metoda ta ma jednak wad˛e wynikajac
˛ a˛ z faktu, że pośrednie dopasowania
nie moga˛ być modyfikowane, nawet jeśli koliduja˛ z dodanymi później sekwencjami. Popełnione we wczesnym etapie bł˛edy odbijaja˛ si˛e na jakości końcowego dopasowania.
2 Drzewo
filogenetyczne reprezentuje relacj˛e pomi˛edzy sekwencjami wynikajac
˛ a˛ z ich ewolucyjnej hi-
storii.
3
3
Algorytm T-Coffee
Ogólnie metoda T-Coffee opiera si˛e na progresywnej strategii budowania dopasowania
wielu sekwencji, jednak unika najpoważniejszej wady tego podejścia (opisanej w rozdziale 2.2). Najpierw robi dopasowanie dla każdej możliwej pary sekwencji ze zbioru
wejściowego i uzyskane ta˛ droga˛ informacje gromadzi w bibliotece. Nast˛epnie biblioteka ta jest wykorzystywana podczas tworzenia ostatecznego dopasowania. W ten sposób
wyniki pośrednie powstaja˛ w oparciu o wiedz˛e na temat wszystkich sekwencji a nie tylko
tych, które sa˛ analizowane na danym etapie. Skutkiem tego jest znacznie mniejsze prawdopodobieństwo wystapienia
˛
bł˛edu.
Inna˛ charakterystyczna˛ cecha˛ T-Coffee jest zdolność łaczenia
˛
informacji pochodza˛
cych z różnych źródeł. Elastyczność ta˛ uzyskano dzi˛eki bibliotece, stanowiacej
˛ niejako
inerfejs pomi˛edzy algorytmem progresywnego dopasowania a dowolna˛ metoda˛ porównywania sekwencji. Najcz˛eściej bibliotek˛e tworzy si˛e na podstawie globalnych i lokalnych
podwójnych dopasowań. W specjalnym trybie, używanym wyłacznie
˛
do analizy białek,
dodatkowo uwzgl˛ednia si˛e dane o ich trójwymiarowej strukturze. Tryb ten nazwano 3DCoffee i to właśnie na nim skupimy si˛e w dalszej cz˛eści artykułu.
Jak wynika z rysunku 2, metoda T-Coffee składa si˛e z dwóch faz, którymi sa:
˛ tworzenie biblioteki i budowanie dopasowania.
TWORZENIE BIBLIOTEK
TWORZENIE BIBLIOTEKI
PREKOMPILOWANYCH
PODSTAWOWEJ
1 FAZA
ROZSZERZANIE
BIBLIOTEKI
2 FAZA
PROGRESYWNE
DOPASOWANIE
SEKWENCJI
BUDOWANIE DRZEWA
PRZEWODNIEGO
Rys. 2: Ogólny schemat metody T-Coffee.
3.1
Tworzenie biblioteki
Biblioteki prekompilowane
Domyślnie T-Coffee tworzy dwie prekompilowane biblioteki. Obie zawieraja˛ informacje
2
o każdej z n 2−n par sekwencji, gdzie n jest ich liczba.˛ Pierwsza to zbiór dopasowań globalnych. Druga przechowuje dziesi˛eć najlepiej ocenionych, nie nakładajacych
˛
si˛e na siebie,
lokalnych dopasowań poszczególnych par sekwencji.
W trybie 3D-Coffee procedura jest troch˛e inna. Oprócz biblioteki dopasowań globalnych, tworzonych przy użyciu programowania dynamicznego, sa˛ jeszcze dwie, zawierajace
˛ dopasowania par sekwencji białkowych bazujace
˛ na danych o ich strukturze przestrzennej. W pierwszej z nich sa˛ 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, wykorzystujacy
˛ struktur˛e 3D do obliczenia zależnej od pozycji
macierzy substytucji [10]. SAP używany jest, gdy dane strukturalne dost˛epne sa˛ 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 sa˛ wagi równe procentowej identyczności sekwencji,
z których dopasowania pochodza.˛
Biblioteka podstawowa
Kolejnym krokiem jest połaczenie
˛
wszystkich prekompilowanych bibliotekach w jedna.˛
Osiaga
˛ si˛e to poprzez proste dodawanie. Jeżeli któraś para reszt wyst˛epuje wi˛ecej niż raz,
w wyjściowej bibliotece ma ona wag˛e równa˛ 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˛ekszyć wartość informacji w niej zawartej, poddaje si˛e ja˛ procesowi rozszerzania.
Polega on na sprawdzaniu trójek reszt. Każda˛ dopasowana˛ par˛e liter sprawdza si˛e pod
katem
˛
zgodności z pozostałymi literami ze wszystkich sekwencji.
Majac
˛ par˛e reszt (r1 , r2 ) i wag˛e w12 przypisana˛ im w bibliotece podstawowej oraz
reszt˛e r3 bada si˛e, czy wyst˛epuja˛ dopasowania r1 z r3 i r3 z r2 . Jeżeli taka sytuacja ma
miejsce, to wartość w12 jest modyfikowana tak, że w12 = w12 + min(w13 , w32 ). Całkowite
rozszerzenie wymaga sprawdzenia wszystkich możliwych trójek (ri , r j , rk ).
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.2
Budowanie dopasowania
Jak już wspomniano, T-Coffee generuje ostateczne dopasowanie używajac
˛ strategii progresywnej. Najpierw jednak oblicza macierz odległości, zawierajac
˛ a˛ przybliżone wartości
ewolucyjnych dystansów mi˛edzy sekwencjami. Nast˛epnie wykorzystuje ja˛ do utworzenia
drzewa przewodniego. Zgodnie z wyznaczonym przez nie porzadkiem,
˛
sekwencje sa˛ dopasowywane za pomoca˛ zwykłego programowania dynamicznego, z ta˛ różnica,˛ że zamiast
macierzy substytucji i kar za przerwy używa si˛e 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˛e pakietowi T-Coffee pod katem
˛
jego równoległej implementacji. Analizujac
˛ algorytm, a przede wszystkim kod źródłowy programu, można w nim wyodr˛ebnić
kilka podzadań, które przedstawiono na rysunku 3.
Zanim T-Coffee zacznie generować biblioteki prekompilowane, sprawdza dost˛epność
danych strukturalnych dla każdej sekwencji ze zbioru wejściowego. W tym celu przeszukuje baz˛e RCSB [13] i pobiera z niej potrzebne informacje w postaci plików PDB.
5
T0
T2
T1
T3
T4
T5
T6
T7
T8
T9
T10
Rys. 3: Dekompozycja pakietu T-Coffee na podzadania z uwzgl˛ednieniem ich zależności.
T0 – inicjalizacja, T1 – wczytywanie danych, T2 – pobieranie plików PDB, T3 – preprocesing, T4 – biblioteka “globalna”, T5 – biblioteka “SAP”, T6 – biblioteka “Fugue”, T7 –
biblioteka rozszerzona, T8 – macierz dystansów, T9 – drzewo, T10 – ostateczne dopasowanie.
W zależności od liczby sekwencji i przepustowości łacza
˛
może to potrwać od kilku do
kilkudziesi˛eciu sekund.
Wyprodukowanie biblioteki “globalnej” i biblioteki “SAP” wymaga obliczenia odpon2 −n
n2 −n
wiednio 1 2 1 i 2 2 2 podwójnych dopasowań, gdzie n1 to licza wszystkich sekwencji
a n2 to liczba sekwencji z dost˛epna˛ struktura˛ 3D. W wi˛ekszości przypadków n2 b˛edzie
mniejsze od n1 . 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 (n1 − n2 ) · n2
żadań
˛
a każde z nich może zajać
˛ od kilkudziesi˛eciu sekund do kilku minut.
n2 −n
Obliczajac
˛ macierz dystansów trzeba dopasować 1 2 1 par sekwencji.
Zadania T4 , T5 i T8 składaja˛ si˛e z niezależnych podwójnych dopasowań co bardzo
ułatwia ich zrównoleglenie. Jedyna kwestia jaka˛ trzeba wziaść
˛ pod uwag˛e to staranne
rozdzielenie obliczeń.
Używana do tworzenia drzewa przewodniego metoda przyłaczania
˛
sasiadów
˛
[8] jest
szybka, dlatego zadanie T9 zajmuje niewielki procent całkowitego czasu wykonania. Tak
wi˛ec przyspieszenie uzyskane z jego paralelizacji byłoby nieznaczne.
6
Chociaż progresywne dopasowanie można zaimplementować w sposób równoległy,
trudno jest osiagn
˛ ać
˛ satysfakcjonujace
˛ zrównoważenie obciażenia.
˛
Dopasowania odpowiadajace
˛ w˛ezłom z tego samego poziomu nie zależa˛ od siebie, wi˛ec moga˛ być przydzielone do oddzielnych procesorów. Jednak im bliżej korzenia tym mniej w˛ezłów, co
sprawia, że stosunek liczby sekwencji do liczby jednostek przetwarzajacych
˛
maleje.
5
Podsumowanie
Wymienione powyżej cechy pakietu T-Coffee ułatwiaja˛ jego wydajna˛ paralelizacj˛e.
Planuje si˛e, że wersja równoległa b˛edzie przeznaczona na architektur˛e z pami˛ecia˛
rozproszona˛ bazujac
˛ a˛ na klastrze komputerów klasy PC i zaprogramowana przy użyciu
standardu MPI [11] w oparciu o model master–worker.
Master zajmie si˛e wczytaniem i wst˛epnym przetworzeniem danych (sekwencji i struktur) oraz rozesłaniem ich do wszystkich workerów. Nast˛epnie zbierze wygenerowane
przez nich biblioteki i złaczy
˛
w jedna,˛ która˛ podda procesowi rozszerzania. Master b˛edzie
również odpowiedzialny za wygenerowanie drzewa przewodniego i utworzenie dopasowań zwiazanych
˛
z w˛ezłami na górnych poziomach tego drzewa. Dopasowania z dolnych
poziomów zostana˛ przydzielone workerom. B˛eda˛ one także uczestniczyć w obliczaniu
macierzy dystansów.
Literatura
[1] M. Kimura. The Neutral Theory of Molecular Evolution. Cambridge Univ. Press,
1983.
[2] 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–209, 1989.
[4] W. Miller, W. R. Pearson. Dynamic programming algorithms for biological sequence
comparison. Methods Enzymol., 210: 575–601, 1992.
[5] H. Carrillo, D. J. Lipman. The multiple sequence alignment problem in biology.
SIAM J. Appl. Math., 48: 1073–1082, 1988.
[6] S. F. Altschul, J. D. Kececioglu, D. J. Lipman. A tool for multiple sequence alignment. In Proc. Natl. Acad. Sci. USA, 86: 4412–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., 20(2): 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–425, 1987.
[9] C. A. Orengo, W. R. Taylor. Protein structure alignment. J. Mol. Biol., 208: 1–22,
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: 243–257, 2001.
[11] W. Gropp, S. Huss-Lederman, A. Lumsdaine, E. Lusk, B. Nitzberg, W. Saphir,
M. Snir. MPI: The Complete Reference, volume 2. The MIT Press, 1998.
[12] Strona domowa pakietu T-Coffee. http://igs-server.cnrs-mrs.fr/∼cnotred/, 2006.
[13] RCSB. http://www.rcsb.org/pdb/cgi/export.cgi/, 2006.
[14] Serwer Fugue.
http://www-cryst.bioc.cam.ac.uk/cgi-bin/cgiwrap/kenji/fugue/align.cgi/, 2006.
8

Podobne dokumenty