• Nie Znaleziono Wyników

Algorytm budowy bibliotek oligonukleotydów oparty na

Problem 5.3. Problem liczby powtórzeń spektrum słowa losowego

5.5 Podsumowanie, implementacja i przykłady

W niniejszym rozdziale omówiono zagadnienia związane z budową biblioteki oligonukle-otydów antykomplementarnych. Zdefiniowano dwa problemy formalne związane z tym zagadnieniem oraz zaproponowano algorytm rozwiązujący te problemy. Przeanalizowane zostały także własności algorytmu, możliwości optymalizacji oraz wykonano ekspery-menty obliczeniowe.

Algorytm został w pełni zaimplementowany w języku Java przy użyciu otwartej bi-blioteki Java Universal Network/Graph Framework (JUNG) [66]. Wszystkie przykła-dowe grafy w tym rozdziale są wygenerowane bezpośrednio przez opisany algorytm. Dla

Algorytm budowy bibliotek oligonukleotydów oparty na grafach leksykalnych 72

zwiększenia czytelności jedynie ułożenie wierzchołków zostało poprawione ręcznie przy użyciu edytora wizualnego grafów opartego na bibliotece JUNG. Wartości w tabelach 5.3oraz 5.4zostały obliczone na podstawie słów wygenerowanych przez algorytm.

Implementacja umożliwia definiowanie dowolnego alfabetu, dowolnych mechanizmów konstrukcji tablic decyzyjnych oraz funkcji kosztu. Zaimplementowano też funkcję obli-czającą entalpię swobodną (∆G) sekwencji nukleotydów zgodnie z modelem najbliższego sąsiada [90] wzorowaną na implementacji z projektu „Oligo Calc: Oligonucleotide Pro-perties Calculator” [46].

Przedstawiony algorytm konstrukcji łańcucha wewnętrznie antykomplementarnego jest ciekawy nie tylko ze względu na potencjalne zastosowanie dla kodowania instan-cji dla komputerów DNA. Jest także interesujący z matematycznego punktu widzenia, gdyż de facto, łańcuch wewnętrznie antykomplementarny jest sekwencją de Bruijna (lub sekwencją leksykalną w ogólności), w której wyeliminowana jest pewna relacja opozy-cji między unikalnymi składnikami tej sekwenopozy-cji. Z uwagi na fakt, że te same obiekty matematyczne znajdują zastosowanie nawet w bardzo odległych dziedzinach, możliwe jest, że słowo wynikowe które w kontekście biochemicznym nazwane zostało łańcuchem wewnętrznie antykomplementarnym może mieć zupełnie inne znaczenie i zastosowanie w innej dziedzinie (podobnie jak sekwencje leksykalne zostały wykorzystane w problemie Frobeniusa w wolnym monoidzie [99], co wspomniano w rozdziale 4).

Algorytm budowy bibliotek oligonukleotydów oparty na grafach leksykalnych 73

Rysunek 5.1: Przykład grafu leksykalnego L(4, 2, 1) (u góry, σ = 1, więc jest także grafem de Bruijna) oraz grafu L6∼(4, 2, 1) (na dole) utworzonego przez usunięcie komplementarności między łukami w L(4, 2, 1). Przykładowy łańcuch wynikowy dla L6∼(4, 2, 1) AATGTTTCAGGGTGCCGCTCCAAGACGATACTAA, który ma okno antykomplementarne z przesunięciem 1 o długości 3. Przedstawiono też podział Σ na Q i W oraz zastosowaną globalną (wspólną dla całego zbioru Q) tablicę decyzyjną.

Algorytm budowy bibliotek oligonukleotydów oparty na grafach leksykalnych 74

Rysunek 5.2: Przykład grafu L6∼(4, 2, 1) (u góry, oznaczone są etykiety wierzchoł-ków) oraz L6∼(4, 4, 3) (na dole, oznaczenie wierzchołków to baza łuków wchodzący-ch/baz łuków wychodzących). W obu przypadkach została zastosowana ta sama glo-balna tablica decyzyjna oraz ten sam zbiór Q baz. Widać z rysunku, że wierzchołki grafu L6∼(4, 4, 3) można klastrować w taki sposób, że każdy klaster odpowiada wierz-chołkowi w L6∼(4, 2, 1). Wynika to z faktu, że w obu przypadkach β = k − σ = 1, a dłuższa swoboda w przypadku L6∼(4, 4, 3), powoduje zwielokrotnienie wierzchołków,

które tworzą w kopie połączeń.

Algorytm budowy bibliotek oligonukleotydów oparty na grafach leksykalnych 75

Rysunek 5.3: Przykład grafu składającego się z trzech spójnych składowych będą-cych grafami Eulera. Graf ten uzyskano z grafu L(4, 2, 1) po usunięciu dla każdego wierzchołka połowy łuków wchodzących oraz połowy łuków wychodzących. Nie prze-prowadzono tutaj eliminacji relacji komplementarności, tj. dla każdej bazy ze zbioru

Σβ zastosowano tą samą tablicę decyzyjną:

A C T G A 0 0 1 1 C 0 0 1 1 T 1 1 0 0 G 1 1 0 0

Dla powyższej tablicy wszystkie łuki posiadają łuki komplementarne (łuki posiadające łuki komplementarne są oznaczone kolorem czerwonym).

Algorytm budowy bibliotek oligonukleotydów oparty na grafach leksykalnych 76

Rysunek 5.4: Przykłady grafów L6∼(4, 2, 1) uzyskanych z grafu leksykalnego L(4, 2, 1) po zastosowaniu przedstawionego zbioru Q oraz tablicy decyzyjnej. Zastosowana tablica decyzyjna nie spełnia warunku niejednolitych decyzji dla dowolnych par kolumn i wier-szy. Górny graf składa się z dwóch spójnych składowych, które są grafami Eulera. Dolny graf jest spójny pomimo zastosowania tablicy, która nie gwarantuje spójności. Jedyna różnica pomiędzy tymi grafami, to zastosowanie innego podziału na zbiory Q i W .

Algorytm budowy bibliotek oligonukleotydów oparty na grafach leksykalnych 77

Rysunek 5.5: Porównanie dwóch grafów L6∼(4, 3, 2) uzyskanych z grafu leksykalnego L(4, 2, 1) po zastosowaniu przedstawionego zbioru Q oraz tablicy decyzyjnej. W górnej części graf się rozspójnił na dwie spójne składowe będące podgrafami Eulera, nato-miast w dolnej z uwagi na zastosowanie innej tablicy decyzyjnej graf pozostał spójny, jest grafem Eulera. Oba grafy mają łuki antykomplementarne. Przy każdym klastrze wierzchołków oznaczona jest wspólna dla niego baza łuków wchodzących/baza łuków

wychodzących.

Algorytm budowy bibliotek oligonukleotydów oparty na grafach leksykalnych 78

Rysunek 5.6: Przykładowy graf L6∼(4, 4, 1). Na podstawie tego grafu może być wy-generowany łańcuch wynikowy o długości p = 12σαj + j − σ = 516, który ma okno

antykomplementarne z przesunięciem 1 o długości 5:

GTACCATAAGAGATATGAGCTGGACTCGACGTAATATACTCTACACTGGCCCCGAAACGTGAGTTGGCTGTCTTTATCCG AGCCGTCACCGTACTAGCCTGCACTATAATCGGTAGGAGGTATGCGTGCCCTCAACGGGATGTGTGCTTTCAAAATGTAT TTGCATTAAAAGGTGTTTGTTCTTCACAATAGGCGGTCTGCGCCGCACCAGAAATTGGTTGTCCTTAACATAGAAGCGGG CGTTCCACAGGAATCTAAGCTACGCTCCGCGCTATCATCAGCGACACGATACGAGACTTACCCGGCCTTCGTCCCCAAAG TAGTCATTCGCCACGGAAGTGATTGATCCTCGCAATGGATTTACAAGATGCTCTCAGAGGCAGCAACAGTCGTTATTCTC CAAGGGAGTGGTCGGCATGGGTTTTTCCCAGGGGGTGGGCTTGCCATCGAACCGGACCCTAAACTTGACATGAATTAGTT

AGCAGTAACCTGAACTGACCTAGACGCGATCTGTAC

Algorytm budowy bibliotek oligonukleotydów oparty na grafach leksykalnych 79

Rysunek 5.7: Powyższy graf jest wynikiem zastosowania algorytmu eliminowania re-lacji komplementarności między łukami w grafie L(4, 3, 1), który ma parzystą długość etykiety łuku (j = 3 + 1 = 4). Graf został uzyskany poprzez rozszerzenie zbioru Q dla grafu L(4, 3, 1) o zbiór baz, które są komplementarnymi palindromami. Graf L(4, 3, 1) posiada αj = 256 łuków podczas gdy powyższy graf posiada 12

αj12ασαj2

= 112 łuków (dla αβ2 baz będących komplementarnymi palindromami osobno podejmowanych jest ασ× ασ decyzji, z czego połowa jest decyzją o usunięciu: 12ασασαβ2 = 12ασα2j).

Wszystkie pary łuków w tym grafie są antykomplementarne jednak graf przestał być grafem Eulera. Wierzchołki, dla których stopień wejściowy różni się od stopnia

wyjścio-wego zaznaczone są na szaro.

Algorytm budowy bibliotek oligonukleotydów oparty na grafach leksykalnych 80

Rysunek 5.8: Powyższy graf jest wynikiem zastosowania algorytmu eliminowania re-lacji komplementarności między łukami w grafie L(4, 3, 1), który ma parzystą długość etykiety łuku (j = 3 + 1 = 4). Relacja komplementarności jest wyeliminowana między bazami nie będącymi komplementarnymi palindromami oraz w połowie przypadków dla baz będących komplementarnymi palindromami. Zastosowano tutaj podział zbioru baz Σβna trzy zbiory - Q, W oraz zbiór E, który zawiera komplementarne palindromy. Eli-minacja relacji komplementarności została zastosowana dla zbioru Q, natomiast dla baz ze zbioru E usunięto jedynie połowę łuków wchodzących oraz połowę wychodzących bez uwzględniania komplementarności. Relacja komplementarności nie jest więc całkowicie

wyeliminowana, ale graf ten jest grafem Eulera. Przykładowy łańcuch wynikowy:

CCATTTGAAAAGGACAACAGTTCCGTGTGCCTCCCCTGCGTCTATGTATCAGCAATAGGTCACTTGGGTTTAGCGAGAA TGAGTAACGACTACGGCTTCGGGCATCGCTCTGGATAAGATTACCACCGCCA

posiada następujące fragmenty komplementarne z innymi częściami łańucha: CCGT, CGCT, TGCC, TCGC, CATT, TATC, GGCA, ATAG, GATA, AGCG, CTAT, TTAC, GCGA, AATG, GTAA, ACGG, które odpowiadają łukom oznaczonym kolorem

czer-wonym. Zastosowano tutaj tablicę decyzyjną:

A C T G A 0 1 1 0 C 1 0 0 1 T 1 0 1 0 G 0 1 0 1

dzięki której wiadomo, że powyższe komplementarne fragmenty nie będą komplemen-tarnymi palindromami. Wynika z faktu, że w tablicy tej podjęta jest decyzja o usunięciu każdego łuku, którego swoboda lewostronna jest komplementarna ze swobodą prawo-stronną (A-T, T-A, C-G, G-C), a taką własność musi mieć każdy komplementarny

palindrom.

Rozdział 6