Algorytm budowy bibliotek oligonukleotydów oparty na
Problem 5.2. Konstrukcja biblioteki oligonukleotydów antykomplementarnych Instancja
1. Długość łańcucha p.
2. Alfabet Σ, |Σ| = α > 0 taki, że 2|α, na którym określona jest relacja komple-mentarności zgodnie z definicją 5.1.
3. Długość przesunięcia okna kontrolnego σ > 0 taka, że p > 12σα2σ. Odpowiedź
Słowo P o długości |P | p, które posiada okno antykomplementarne z przesunięciem σ o minimalnej możliwej długości (zgodnie z opisanym wcześniej założeniem, P ma być zbudowane ze wszystkich liter alfabetu Σ).
Problem 5.2. Konstrukcja biblioteki oligonukleotydów antykomplementarnych Instancja
1. Liczba elementów biblioteki n.
2. Długość elementu biblioteki l.
3. Alfabet Σ, |Σ| = α > 0 taki, że 2|α, na którym określona jest relacja komple-mentarności zgodnie z definicją 5.1.
4. Długość przesunięcia okna kontrolnego σ > 0 taka, że nl > 12σα2σ. Odpowiedź
Zbiór B zawierający n słów o długości l nad alfabetem Σ, tj. ∀b∈B b ∈ Σl, które mogą być uzyskane z podziału słowa o długości p nl posiadającego okno antykomplementarne z przesunięciem σ o minimalnej możliwej długości (zgodnie z założeniem B zawiera elementy zbudowane ze wszystkich liter alfabetu Σ).
5.3 Opis algorytmu
Zgodnie z założeniami, problem 5.2 jest rozwiązywany na podstawie rozwiązania pro-blemu 5.1 poprzez pocięcie go na n części o długości l. Dlatego poniżej przedstawiono algorytm rozwiązującego problem 5.1.
Do wyznaczenia parametrów grafu zdefiniowana jest funkcja f (p, α, σ) obliczająca mi-nimalną długość etykiety łuku w grafie leksykalnym potrzebną, że wygenerować łańcuch wynikowy o długości p:
f (p, α, σ) = 2
1 2
min
j > 0 : p ¬ 1
2σαj+ j − σ
+ 1 Wyprowadzenie tej funkcji znajduje się w podrozdziale 5.3.2.
Algorytm budowy bibliotek oligonukleotydów oparty na grafach leksykalnych 50 5.3.1 Algorytm budowy łańcucha wewnętrznie antykomplementarnego
1. Wyznacz parametry grafu leksykalnego: j = f (p, α, σ) oraz k = j − σ.
2. Utwórz graf de leksykalny L(α, k, σ) = (V, A) (graf ten posiada αk wierzchołków oraz αj łuków).
3. Dla każdej komplementarnej pary łuków a1, a2 ∈ A, tj. takiej, że:
[a1] ∼ [a2]
usuń a1albo a2 w taki sposób, żeby otrzymany graf L6∼(α, k, σ) = (V, A0) był gra-fem Eulera. Algorytm spełniający te założenia jest opisany w podrozdziale5.3.3.
4. Znajdź obwód Eulera E = (a1, a2, a3, . . . , am) w grafie L6∼(α, k, σ) = (V, A0) (m = |A0| = |A|2 = α2j).
5. Zbuduj wynikowe słowo P jako etykietę znalezionego obwodu Eulera E = (a1, a2, a3, . . . , am), tj. dołączając kolejno swobody prawostronne łu-ków:
P = [E] = ([a1], right(a2), . . . , right(am−1), right(am)) Słowo P ma okno antykomplementarne z przesunięciem σ o długości j.
5.3.2 Wyprowadzenie zależności dla parametrów algorytmu
Każda swoboda prawostronna łuku ma σ liter, etykieta łuku ma j liter stąd długość łańcucha P wynosi:
|P | = j + (m − 1)σ = mσ + j − σ = 1
2σαj+ j − σ
Powyższa zależność jest wyjściową zależnością do wyprowadzenia zależności f (p, α, σ), tj. szukana jest najmniejsza wartość j, dla której wygenerowany łańcuch będzie niemniejszy niż |P |. Nie istnieje ogólne rozwiązanie wyprowadzające wartość j, gdyż j jest w zarówno w wykładniku oraz poza wykładnikiem. Przyjmując dodatkowo, że dla zadanej długości p nie musi istnieć jego całkowitoliczbowe rozwiązanie, to można wartość j opisać w następujący sposób:
j = min
i > 0 : p ¬ 1
2σαi+ i − σ
Można zauważyć, że składnik j − σ jest zaniedbywalnie mały w porównaniu do war-tości 12σαj. Pominięcie go w rozwiązaniu równania może zmienić wartość j najwyżej o 1 w dół dla bardzo niewielkiej części wartości p. Uwzględniając to spostrzeżenie oraz uwzględniając, że j musi być liczbą całkowitą otrzymujemy uproszczoną zależność:
j ≈
logα 2p
σ
Algorytm usuwania łuków będący krokiem3powyższego algorytmu zakłada, że rela-cja komplementarności dla łuków musi być przeciwzwrotna, czyli etykiety łuków muszą mieć nieparzystą długość. Nie udało się bowiem znaleźć algorytmu, który usuwa z grafu
Algorytm budowy bibliotek oligonukleotydów oparty na grafach leksykalnych 51
etykiety będące komplementarnymi palindromami i pozostawia graf spójny z obwodem Eulera. Można zauważyć, że jeśli istniałby algorytm usuwania łuków komplementarnych o parzystej długości, to powyższe rozumowanie doprowadziłoby do poniższych zależności (αj2 to liczba łuków będących komplementarnymi palindromami):
m = 12αj − α2j ⇒ p = σm = 12σαj− αj2
W związku z powyższym długość etykiety łuku jest zaokrąglana do najbliższej liczby nieparzystej, stąd zależność określona przez funkcję f (p, α, σ):
j = f (p, α, σ) = 2 W grafie leksykalnym długość etykiety musi być większa od długości swobody łuku, stąd zależności:
k = j − σ > σ ⇒ j > 2σ
Z uwagi na fakt, że zaokrąglanie j do najbliższej większej liczby nieparzystej oraz za-okrąglenie w górę samego logarytmu nie wpłynie na naruszenie tej nierówności, możemy pominąć te zaokrąglenia, tj. przyjąć do rozwiązania nierówności j = logα 2pσ:
logα2p
σ > 2σ ⇒ p > 1 2σα2σ
Zatem powyższa zależność wyjaśnia ograniczenie na dopuszczalne wartości swobody łuków i tym samym przesunięcia okna kontrolnego w wynikowym słowie. Dla danej długości łańcucha p można więc zdefiniować zbiór S dopuszczalnych długości swobody łuków:
W tabeli5.1przedstawiono możliwe wartości σ w zależności od długości łańcucha.
Otrzymany w algorytmie łańcuch P jest zbudowany ze swobód prawostronnych łu-ków parami antykomplementarnych. Każde podsłowo o długości j zaczynające się na pozycji podzielnej przez σ jest zatem obrazem łuku, co oznacza, że słowo P ma okno antykomplementarne z przesunięciem σ o długości j. Zgodnie z rozważaniami z poprzed-niego podrozdziału, słowo które ma okno antykomplementarne z przesunięciem σ > 1 nie musi posiadać okna antykomplementarnego o tej samej długości z przesunięciem σ0 < σ.
Jeśli jest to słowo wygenerowane zgodnie z algorytmem dla grafu leksykalnego w którym σ > 1, to wynikowe słowo na pewno nie będzie posiadało okna antykomplementarnego o tej samej długości z przesunięciem 1, gdyż słowo takie będzie dłuższe niż słowo wy-generowane dla grafu de Bruijna, które z kolei jest najdłuższym słowem posiadającym okno antykomplementarne o tej długości z przesunięciem 1.
Jeśli P jest słowem uzyskanym zgodnie z algorytmem z poprzedniego podrozdziału, które ma okno antykomplementarne z przesunięciem σ > 1 o długości j, to można dla niego rozpatrywać liczbę okien kontrolnych z przesunięciem 1 o długości j dla których nie jest spełniona własność unikalności oraz własność antykomplementarności.
Można zauważyć, że zwiększanie długości okna kontrolnego spowoduje, że w pewnym momencie słowo |P | uzyska okno antykomplementarne z przesunięciem 1 o długości j0 >
j, co wynika z faktu, że dodanie jednej litery do każdego okna zmniejsza statystycznie α-krotnie prawdopodobieństwo „kolizji” z innym oknem zarówno względem unikalności
Algorytm budowy bibliotek oligonukleotydów oparty na grafach leksykalnych 52
jak i antykomplementarności. Wartość j0 zależy jednak od sposobu usunięcia relacji komplementarności między łukami w grafie leksykalnym oraz od wyboru konkretnego obwodu Eulera i może się różnić między konkretnymi postaciami słowa P dla takich samych parametrów j oraz σ. Tabela 5.3 przedstawia zestawienie liczby nieunikalnych oraz komplementarnych okien kontrolnych w słowie uzyskanym dla grafu L(4, 5, 2) w zależności od przesunięcia i długości okna kontrolnego oraz doboru tabel decyzyjnych (opisanych w kolejnym podrozdziale).
Tabela 5.2pokazuje, że niekiedy zwiększenie parametru σ pozwala na skrócenie dłu-gości okna, co jest wynikiem stosowanych zaokrągleń oraz ujemnej korelacji między j i σ w funkcji f (p, α, σ). Skrócenie to nawet dla bardzo dużych wartości p przedstawionych w tej tabeli nie przekracza dwóch liter. Wynika to z faktu, że skrócenie długości okna o x liter może nastąpić jeśli σ αx, gdyż wtedy tylko wartość σ może równoważyć zmniejszenie wartości wykładnika w funkcji f (p, α, σ). Zmniejszenie długości okna anty-komplementarnego o dwie litery dla wartości σ < α2 wynika natomiast z wymaganych zaokrągleń.
Tabela5.4pokazuje, że zwiększenie wartości σ powoduje znaczne straty jakości słowa wynikowego jeśli miarą jakości jest liczba okien kontrolnych z przesunięciem 1 na których nie zachodzi kolizja względem unikalności lub antykomplementarności z innymi oknami.
Zwiększanie długości okna kontrolnego powoduje co prawda zmniejszenie liczby okien na których zachodzą kolizje, ale długość okna jest parametrem, który powinien być minimalizowany zgodnie z definicją problemu5.1 oraz 5.2. Z rozważań tych wynika, że najlepsze własności ma rozwiązanie, gdy parametr σ = 1, czyli gdy algorytm oparty jest na grafach de Bruijna.
Nawet jeśli wartość σ = 2 pozwoli skrócić o dwie litery długość okna antykomplemen-tarnego, to zwiększając z powrotem długość okna kontrolnego dla słowa wynikowego nie uzyskamy takiej miary jakości słowa jak w przypadku słowa otrzymanego z wartości σ = 1, gdyż widać w tabelach5.3oraz5.4, że występują dla takiego słowa kolizje wzglę-dem unikalności rzędu 1, 3% oraz kolizje wzglęwzglę-dem antykomplementarności rzędu 3, 2%
(dla σ = 2, przesunięcia okna 1 oraz długości okna kontrolnego równej j + 2).
Jeśli jednak kolizje tego rzędu są akceptowalne przy zapewnieniu okna antykomple-mentarnego z przesunięciem 2 o długości o 2 mniejszej niż dla grafu de Bruijna, to należy wybrać parametr σ = 2. W tabeli 5.4 można zauważyć, że dla σ = 3 analogiczne ko-lizje są rzędu 6% względem antykomplementarności oraz 3% względem unikalności, co oznacza dwukrotny spadek jakości.
Z powyższych oraz wcześniejszych rozważań wynika, że generalnie najlepszą warto-ścią σ jest 1, czyli gdy algorytm bazuje na grafach de Bruijna, jednak w niektórych przypadkach dla wartości σ = 2 wynikowe słowa mają zbliżone własności przy znacz-nym skróceniu długości okna antykomplementarnego z przesunięciem 2. W tabeli 5.4 przedstawione są także dla porównania wyniki eksperymentu obliczeniowego dla grafów de Bruijna, dla których istnieje okno antykomplementarne o dowolnej długości większej lub równej j (własność ta jest oczywista, gdyż każde okno dłuższe niż j będzie zawie-rało podsłowa o długości j, które są względem siebie wzajemnie antykomplementarne i unikalne).
Obserwacje wyników eksperymentu obliczeniowego w tabeli5.4prowadzą do wniosku, że procent kolizji okien kontrolnych względem unikalności lub antykomplementarności nie zależy praktycznie od rozmiarów grafu leksykalnego ani od sposobu usuwania re-lacji komplementarności z grafu leksykalnego, a jedynie od długości swobody łuków σ oraz przesunięcia i długości rozpatrywanego okna kontrolnego w słowie wynikowym.
Są drobne różnice w wartościach tych kolizji, ale dla kolejnych wartości długości łuku
Algorytm budowy bibliotek oligonukleotydów oparty na grafach leksykalnych 53
(j równe 7, 9 oraz 11) dla σ = 2, przesunięcia okna kontrolnego równego 1 oraz dłu-gości okna równego j procent kolizji względem antykomplementarności oscyluje wokół wartości 60%, a względem unikalności wokół 26%. Podobne obserwacje występują dla większych wartości σ.
Eksperyment obliczeniowy wykazał, że względem kolizji na unikalności przy zmianie przesunięcia okna kontrolnego na 1 wyniki są zbliżone do wyników dla ciągu losowego.
Niestety nie udało się znaleźć formuły, która opisuje te zależności (tj. definiującej war-tość oczekiwaną zmiennej losowej kolizji). Dla liczby kolizji względem unikalności okien kontrolnych można więc sformułować następujący otwarty problem matematyczny: