• Nie Znaleziono Wyników

Konstrukcja biblioteki oligonukleotydów antykomplementarnych Instancja

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σα. 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σα. 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σα

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: