Wyk Ă©ady[1]


WYKŁAD 1, 23/02/2012

Wstęp do bioinformatyki

Bioinformatyka jest dyscypliną pomocniczą biologii, gałęzią biologii teoretycznej. Zajmuje się wykorzystaniem komputerów do wspomagania prowadzenia badań w wielu dziedzinach biologii, np.

Wspomaganie to polega na gromadzeniu, udostępnianiu i przetwarzaniu danych różnego typu. Przetwarzanie zgromadzonych danych może prowadzić do nowych odkryć, należy jednak pamiętać, że bioinformatyka umożliwia predykcje, które muszą być zawsze zweryfikowane doświadczalnie.

Systemy linuksowe dzielą się na kilka rodzajów, w zależności od sposobu „pakietowania” oprogramowania:

Obsługa linuksa w trybie graficznym:

Oprogramowanie pod linuksem:

Bazy danych

Zasoby informacji na temat organizmów i procesów w nich zachodzących można podzielić na kilka kategorii:

Trzy główne ośrodki gromadzonych danych sekwencyjnych to:

Te trzy ośrodki prowadzą zsynchronizowane bazy danych - informacje zgłoszone w jednej z nich zostaną wprowadzone do wszystkich trzech.

Bazy sekwencji:

- pozycja systematyczna organizmu, z którego pochodzi sekwencja

- rodzaj cząsteczki (DNA, RNA, białko)

- rodzaj sekwencji (genomowa, plazmidowa, sztucznie stworzony wektor)

- autor

- unikalny numer sekwencji

Numery dostępu:

Bazy map genetycznych i fizycznych:

Bazy struktur:

- PDB (Protein Data Bank)

- MMDB (Molecular Modelling Data Base)

Bazy literatury:

- tytuł publikacji

- autorów i ich afiliację

- dane o czasopiśmie, w którym ukazała się publikacja

- datę publikacji

- unikalny identyfikator PMID

- abstrakt

Bazy informacji o ekspresji genów:

WYKŁAD 2, 1/03/2012

Przeszukiwanie baz sekwencji

Przeszukiwanie baz danych sekwencji polega na skonstruowaniu alignmentu, czyli dopasowaniu sekwencji kwerendowej do sekwencji poszukiwanej. Konstrukcja alignmentu zachodzi nie w obrębie całej bazy danych, ale w obrębie rekordów, które dadzą istotne wyniki (idea algorytmu heurystycznego).

Niech A będzie alfabetem (np. A = {A, C, T, G} dla sekwencji nukleotydowej), z którego pochodzą symbole w dwóch zbiorach X i Y, o liczności odpowiednio n i m (i = 0, 1, …, n, xi należy do A; j = 0, 1, …, n, yj należy do A).

Zbiory te nazywamy sekwencjami. Alignmentem sekwencji X i Y nazywamy uporządkowany zbiór par PI (xi, yj), takich, że:

VI: iI > iI-1 ^ jI > jI-1

Chodzi o to, by zmaksymalizować liczbę kolumn o identycznych wartościach.

Rodzaje alignmentów:

1. alignmenty dzielimy na dwie klasy:

2. z przyczyn obliczeniowych wyróżniamy:

Ocena alignmentu

Odróżnianie alignmentów „lepszych” od „gorszych” wymaga jakiejś mierzalnej wartości. Liczbę, która mówi o „dobroci” alignmentów nazywamy score - oceną. Score zależy od:

Matematycznie, score jest sumą score wszystkich par dopasowanych i kar za przerwy.

Macierz wagowa to tablica, w której wszystkim możliwym parom symboli z danego alfabetu przypisano jakieś wartości liczbowe. Macierze wagowe mają prostą interpretację probabilistyczną - im wyższy jest score przypisany danej parze symboli, tym większe prawdopodobieństwo napotkania takiej pary w „dobrych” alignmentach i odwrotnie.

Kary za przerwy

Najczęściej stosuje się dwa rodzaje funkcji ważącej przerwy:

W modelu afinicznym g oznacza długość przerwy, d oznacza karę za otwarcie przerwy, natomiast e karę za jej przedłużenie.

Ponieważ prawdopodobieństwo powstania przerwy o długości n nie jest na ogół równe prawdopodobieństwu powstania n przerw o długości 1 (insercje lub delecje mogą zachodzić blokami), bardziej realistyczny jest model afiniczny, który wprowadza mniejszą karę za przedłużenie już otwartej przerwy. Z tego powodu jest on szerzej stosowany niż model liniowy.

Macierze twarde (np. BLOSUM80) uzyskujemy z sekwencji, które niewiele się od siebie różnią. Te macierze dużo wyżej nagradzają idealne dopasowania. Macierze miękkie (np. BLOSUM45) łagodniej karzą przerwy lub nieidealne dopasowania.

Istnieją algorytmy umożliwiające obliczenie alignmentu optymalnego dowolnych dwóch sekwencji. Alignment globalny oblicza się zgodnie z algorytmem Needlemana-Wunscha. Alignment lokalny konstruuje się przy pomocy algorytmu Smith-Watermana. Algorytmy te stosują techniki programowania dynamicznego - podziału dużego problemu na mniejsze, łatwe do rozwiązania.

Przeszukiwanie baz sekwencji polega na:

Do konstrukcji dopasowania można wykorzystać dowolny algorytm, jednak te oparte na programowaniu dynamicznym są zbyt wolne.

HOMOLOGIA JEST LUB JEJ NIE MA!! CECHAMI ILOŚCIOWYMI (COŚ JEST MNIEJSZE LUB WIĘKSZE) SĄ IDENTYCZNOŚĆ I PODOBIEŃSTWO!!

Statystyczna istotność dopasowania jest miarą „sensowności” alignmentu. Dokładniej, mówi ona, jak prawdopodobne jest znalezienie w losowej bazie sekwencji, której alignment z sekwencją kwerendową będzie miał score większy lub równy score aktualnego dopasowania.

Losowa baza sekwencji to baza o takiej wielkości, jak faktycznie przeszukiwana, w której pozamieniano litery, nie zmieniając przy tym składu bazy - czyli ich częstości występowania. Jak widać, o istotności dopasowania można mówić wyłącznie w kontekście przeszukiwanych baz danych.

Istnieją dwie miary statystycznej ilości dopasowania:

E-value i p-value są ze sobą związane. Dla wartości dużo mniejszych niż 0,01, E(S) ≈ P(S).

P(S) = 1 - e-E(S)

Stąd istotne będą dopasowania, dla których e-value i p-value będą dużo mniejsze od 1. Standardowo za próg istotności uznaje się wartość 0,01.

Przeszukiwanie baz danych sekwencji z użyciem algorytmu Smith-Watermana lub Needlemana-Wunscha trwa długo, dlatego stosuje się inne algorytmy, które pozwalają proces przyspieszyć kosztem absolutnej poprawności wyników.

Programem, który jest najczęściej używany do przeszukiwania jest BLAST. Przeszukiwanie przy użyciu pojedynczej sekwencji nie jest najczulszą metodą. Do przeszukiwania można wykorzystać informacje płynące z dopasować wielu sekwencji - możliwość znalezienia odległych homologów jest wtedy znacząco większa. Wtedy stosuje się PSI-BLAST.

Czułość przeszukiwania to prawdopodobieństwo niepominięcia istotnego dopasowania. Im czułość większa, tym większą pewność mamy, że znaleźliśmy wszystkie faktyczne homologi, znajdujące się w bazie sekwencji.

Specyficzność to 1 - prawdopodobieństwo błędnego uznania dopasowania za istotne. Im wyższa specyficzność, tym rzadziej w wynikach znajdą się bzdury.

BLAST działa szybciej niż algorytmy oparte na programowaniu dynamicznym, ponieważ nie konstruuje alignmentów sekwencji kwerendowej ze wszystkimi sekwencjami w bazie. BLAST konstruuje alignmenty z krótkimi, idealnie dopasowanymi fragmentami sekwencji, tzw. słowami. Słowa muszą spełniać trzy warunki:

Sprawdzanie BLASTem opiera się na tym, że istotnie podobne sekwencje zawierają słowa.

BLAST zawdzięcza swoją prędkość temu, że sprawdza obecność słów z sekwencji kwerendowej w specjalnie przygotowanej tablicy, zawierającej informacje o tym, jakie słowa występują w kolejnych sekwencjach z bazy i jaka jest ich pozycja. Dla wybranej sekwencji konstruowany jest alignment i oceniana jest jego istotność.

PSI-BLAST

Algorytm wykorzystujący BLAST do iteracyjnego (powtarzanego) przeszukiwania bazy białkowej sekwencją białkową przy użyciu informacji płynących z dopasowania wielu sekwencji. W metodzie tej obecność konkretnego aminokwasu w danej pozycji sekwencji z bazy „nagradzana” jest score zależnego od składu kolumny alignmentu, do której ten aminokwas jest dopasowywany, a nie tylko od macierzy wagowej - mówimy, że score jest pozycyjnie specyficzny.

Dzięki temu mamy możliwość wykrywania dalekich homologów, których podobieństwo liczone „tradycyjną” metodą byłoby zbyt niskie, żeby uznać dopasowanie za istotne.

Parametr „inclusion threshold

Najważniejszym z parametrów umożliwiających kontrolę nad przeszukiwaniem jest w przypadku PSI-BLASTa próg włączenia. Jest to maksymalne e-value, jaką może mieć dopasowanie danej sekwencji, aby była ona włączona do profilu (i brana pod uwagę w kolejnej iteracji). Użycie zbyt wysokiej wartości powoduje, że do profilu włączane są śmieci - sekwencje, które nie są homologiczne do sekwencji kwerendowej. Z kolei zbyt niska wartość wykluczy z profilu sekwencje, które powinny się w nim znaleźć, czyli faktycznie odległe homologi. Właściwą wartość należy dobrać eksperymentalnie. Dobrym punktem startowym jest wartość 0,005.

WYKŁAD 3, 8/03/2012

Alignmenty wielu sekwencji

Konstruowanie alignmentów wielu sekwencji jest jednym z ważnych zadań bioinformatyki. Analignmentów wielu sekwencji używa się w analizie filogenetycznej i przy przeszukiwaniu baz danych.

Rozszerzenie pojęcia alignmentu dwóch sekwencji na większą ich liczbę nazywamy multiple alignment.

W idealnym przypadku aminokwasy lub zasady w każdej kolumnie alignmentu mają wspólne pochodzenie ewolucyjne i zajmują podobne miejsca w strukturach swoich cząstek. Z zasady zawsze istnieje dobry alignment ewolucyjny dla dowolnego zestawu sekwencji (nawet jeśli ich struktury nie dają się nałożyć), jednak stwierdzenie, który z bardzo wielu możliwych alignmentów jest właściwy może nie być możliwe. Alignment w sensie strukturalnym możemy zweryfikować jeżeli dysponujemy wszystkimi strukturami wchodzącymi w skład alignmentu.

Podstawowymi pytaniami w analizie sekwencji białkowych są:

Aby na nie odpowiedzieć, należy przyrównać sekwencję kwerendową do różnych sekwencji pochodzących z rodziny, do której białko prawdopodobnie należy.

Drugim, niezmiernie istotnym zastosowaniem alignmentu jest analiza filogenetyczna. Drzewa filogenetyczne konstruuje się na podstawie alignmentu.

Trzecim zastosowaniem jest identyfikacja nieznanych do tej pory członków rodzin białkowych w bazach danych.

System oceny alignmentu wielu sekwencji powinien brać pod uwagę dwie rzeczy:

Idealnym score dla alignmentu wielu sekwencji byłoby prawdopodobieństwo takiego alignmentu, przy założeniu prawidłowego drzewa filogenetycznego i modelu ewolucyjnego. W takim przypadku prawdopodobieństwo alignmentu jest iloczynem prawdopodobieństw.

Na ogół nie znamy prawidłowego drzewa, a model ewolucyjny musiałby być tak skomplikowany, że jego stosowanie w praktyce jest niemożliwe - stosuje się więc następujące przybliżenia:

Ze względu na zbyt wysoką złożoność obliczeniową algorytmów konstruujących optymalny alignment, konieczne jest stosowanie algorytmów heurystycznych, szybszych, lecz nie gwarantujących optymalnych rozwiązań. Najczęściej stosowaną heurystyką jest progresywna metoda konstrukcji alignmentu. Polega ona na konstrukcji alignmentu na podstawie alignmentu dwóch sekwencji.

Algorytm alignmentu progresywnego:

  1. utwórz (N-1)N/2 alignmentów sekwencji (każda z każdą)

  2. na podstawie score'ów otrzymanych alignmentów oblicz odległości między sekwencjami

  3. na podstawie odległości oblicz drzewo przewodnie (np. metodą „Neighbor-Joining”, NJ)

  4. utwórz alignment najbliżej spokrewnionych sekwencji, od tego momentu jest on niezmienny („zamrożony”)

  5. do istniejącego alignmentu dołącz kolejną, najbliższą sekwencję

  6. powtarzaj powyższy krok, dopóki są sekwencje do dołączenia

W niektórych metodach konstruuje się najpierw alignment z najbardziej zbliżonych par, a następnie z utworzonych alignmentów dwóch sekwencji robi się alignmenty czterech najbliższych sekwencji. I tak dalej.

ClustalW

W programie ClustalW i jego odpowiedniku z graficznym interfejsem (ClustalX) zastosowano metodę progresywnego konstruowania alignmentu z użyciem profili i score w postaci SP. Zaimplementowano także dodatkowe heurystyki poprawiające wynik:

ANALIZA FILOGENETYCZNA

Analiza filogenetyczna - dział biologii, zajmujący się ustalaniem zależności ewolucyjnych między organizmami i grupami organizmów. Jest ściśle związana z systematyką. Wydaje się, że wszystkie organizmy pochodzą od wspólnego przodka (LUCA). W związku z tym, relacje filogenetyczne między nimi można przedstawić w postaci drzewa życia o korzeniu będącym wspólnym przodkiem wszystkich współczesnych organizmów.

Ewolucja zachodzi na poziomie molekularnym (substytucje, insercje i delecje w materiale genetycznym), manifestuje się jednak również makroskopowo. Jednak badając ewolucję przy pomocy cech makroskopowych, należy zawsze pamiętać o ich podłożu molekularnym.

Rozwój technik sekwencjonowania DNA spowodował, że stało się możliwe porównywanie sekwencji homologicznych wszystkich genów danego organizmu. Umożliwia to zbadanie, jak zachodziła ewolucja pojedynczych genów i całego genomu.

Może zdarzyć się tak, że ewolucja jakiegoś genu zachodziła inaczej niż większości genów danego organizmu. Analiza filogenetyczna umożliwia nam stwierdzenie tego faktu.

Informacje płynące z drzew filogenetycznych pomagają w przypisaniu potencjalnej funkcji danej sekwencji.

Drzewo filogenetyczne - diagram (graf skierowany), przedstawiający relacje filogenetyczne między organizmami.

0x01 graphic

Drzewo może być ukorzenione (pokazuje wtedy kierunek ewolucji) bądź nieukorzenione (pokazuje jedynie względne relacje między organizmami).

Drzewo skonstruowane przy pomocy metod kladystycznych nazywamy kladogramem, zaś skonstruowane przy pomocy metod fenetycznych nazywamy fenogramem.

Kladystyka - metoda analizy filogenetycznej używająca wspólnych cech odziedziczonych, czyli synapomorfii, do określenia zależności między organizmami.

Fenetyka - opiera się na klasyfikacji organizmów na podstawie ogólnego podobieństwa.

Niektóre drzewa filogenetyczne dają się na siebie nałożyć, jeżeli nie bierze się pod uwagę długości krawędzi. Mówimy o nich, że mają równoważną topologię. Jeżeli długość krawędzi jest identyczna, mówimy o drzewach całkowicie identycznych.

Istnieje wiele metod konstrukcji drzew filogenetycznych. Najważniejsze są trzy:

Metody odległościowe:

- Jukesa-Cantona - najprostszy; częstości równowagowe nukleotydów 0,25; wszystkie rodzaje mutacji jednakowo prawdopodobne

- Kimury - częstości równowagowe nukleotydów 0,25; tranzycje dwa razy częstsze niż transwersje

- Hasegawy, Kishino i Yano - najbardziej skomplikowany; zakłada rzeczywiste częstości równowagowe; częstości mutacji oszacowane na podstawie sekwencji

- najczęściej stosuje się model PAM lub PMB (Probability Matrix for Blocks)

- nie można stosować macierzy BLOSUM, ponieważ nie pozwalają one na określenie właściwej liczby substytucji, skorygowanej o wielokrotne podstawienia

- jeżeli macierz jest ultrametryczna, stosujemy metodę UPGMA

- jeżeli macierz jest addytywna, stosujemy przyłączanie sąsiada (NJ) lub metodę Fitch i Margoliash

Macierz jest ultrametryczna, kiedy sekwencje ewoluowały ze stałą szybkością (sytuacja BARDZO mało prawdopodobna). Jeżeli dla dowolnych trzech sekwencji x, y i z zachodzi równość:

dxy = dxz = dyz

lub dwie są równe, a trzecia wartość mniejsza, macierz jest ultrametryczna.

Macierz jest addytywna, kiedy została uzyskana z sekwencji, których filogeneza jest określona drzewem o odległościach addytywnych. Drzewo takie ma tę własność, że odległość między dowolną parą liści jest równa sumie długości krawędzi je łączących.

Przyłączenie sąsiada (NJ, Neighbor-Joining):

WYKŁAD 4, 15/03/2012

Metody oszczędnościowe:

1. obliczanie kosztu pojedynczego drzewa

2. przeszukiwanie zbioru wszystkich możliwych drzew lub jego podzbioru

- „brute force” - przeszukiwanie wszystkich drzew

- „branch and bound” - ogranicza przestrzeń przeszukiwania

- stochastyczna zamiana gałęzi - konstruuje się drzewo losowe, ocenia, losowo zmienia się topologię i ponownie ocenia; akceptuje się nowe drzewo, jeśli jego koszt jest mniejszy

- stochastyczna budowa drzewa - wybiera się losowo trzy sekwencje i umieszcza na drzewie (jest tylko jeden sposób), a następnie dokłada się kolejną sekwencję w takim miejscu, które daje najniższy koszt; jest to najczęściej stosowane podejście

Prosta parsymonia - zlicza zdarzenia ewolucyjne, nie przypisując im wag. Algorytm realizujący zliczenia dla pojedynczego miejsca (kolumny alignmentu) o numerze u jest prosty:

  1. inicjalizacja: ustaw koszt C = 0 i k = 2n-1 (k to liczba węzłów w drzewie o n liściach)

  2. rekursja: aby uzyskać zbiór możliwych symboli ancestralnych dla węzła k (Rk):

- jeżeli k jest liściem: Rk = xku (u-ty symbol w sekwencji przypisanej do węzła k)

- jeżeli k nie jest liściem: należy obliczyć zbiory Ri i Rj dla węzłów zastępczych i i j; następnie obliczyć zbiór Rk = Ri ∩ Rj; jeżeli zbiór jest pusty, należy obliczyć zbiór
Rk = Ri u Rj, a koszt zwiększa się o 1

  1. terminacja: koszt drzewa = C

0x01 graphic

Interpretacja drzew uzyskanych metodą oszczędnościową:

Drzewa uzyskane metodami parsymonii, w których występują grupy siostrzane, połączone długimi (relatywnie) gałęziami, należy traktować podejrzliwie.

Felsenstein wykazał, że parsymonia może konsekwentnie błędnie rekonstruować pewien typ drzew, gdzie liczba cech jest niewielka. Sytuacja ta jest nazywana przyciąganiem długich gałęzi.

Metody maksymalnego prawdopodobieństwa (ML) poszukują wśród wszystkich możliwych drzew takiego, którego prawdopodobieństwo przy założeniu danych jest największe. Aby znaleźć to prawdopodobieństwo, potrzebne jest prawdopodobieństwo wyewoluowania sekwencji x z ancestralnej sekwencji y wzdłuż gałęzi o długości t. Prawdopodobieństwo topologii T z zestawionych sekwencji ancestralnych przypisanych węzłom można obliczyć mnożąc przez siebie wszystkie prawdopodobieństwa, po jednym dla każdej gałęzi drzewa.

Ponieważ na ogół nie znamy sekwencji ancestralnej, trzeba wysumować prawdopodobieństwo po wszystkich możliwych przodkach. Proces przeszukiwania maksymalnego prawdopodobieństwa będzie się składał z dwóch etapów:

  1. obliczenie prawdopodobieństwa danej topologii i przypisanie sekwencji do liści

  2. znalezienie zestawu długości gałęzi maksymalizującego prawdopodobieństwo

Ponieważ liczba drzew rośnie bardzo szybko wraz ze wzrostem liczby liści, a metody ML są kosztowne obliczeniowo, potrzebne są heurystyki ograniczające przestrzeń poszukiwania.

Prosty algorytm ML działa używając modelu ewolucyjnego, w którym założone są niezmienne szybkości substytucji. Dodatkowym założeniem jest brak przerw w alignmencie i niezależna ewolucja w poszczególnych miejscach.

ANALIZA SEKWENCJI BIAŁKOWYCH

Zidentyfikowanie nowego białka, np. w nowo zsekwencjonowanym genomie, powoduje konieczność przeanalizowania jego sekwencji. Analiza taka ma na celu przede wszystkim określenie prawdopodobnej funkcji białka.

Analizy możemy podzielić na trzy grupy:

Analizy sekwencji, jako całości:

Wykrywanie funkcjonalnych fragmentów sekwencji:

Wykrywanie potencjalnych modyfikacji potranslacyjnych - różne modyfikacje i organizmów prokariotycznych i eukariotycznych.

SEKWENCJONOWANIE DNA

Jest to ustalanie kolejności zasad w sekwencji DNA (ewentualnie aminokwasów w białku, jeżeli mówimy o sekwencjonowaniu białka). Ostatnio powstało wiele metod sekwencjonowania, co spowodowało gwałtowny spadek cen. Ogólnie, metody sekwencjonowania można podzielić na trzy grupy:

Sekwencjonowanie przez degradację:

Sekwencjonowanie przez syntezę:

Metoda Sangera (dideoksyterminatorów):

Sekwencjonowanie drugiej generacji (NGS):

1. pirosekwencjonowanie - niemodyfikowane nukleotydy są dodawane po kolei

2. metoda Helicos - zmodyfikowane nukleotydy (odwracalne terminatory) dodawane są po kolei

3. metoda Illumina - zmodyfikowane nukleotydy (odwracalne terminatory) dodawane są jednocześnie

WYKŁAD 5, 22/03/2012

Pirosekwencjonowanie:

Illumina/Solexa:

Sekwencjonowanie w czasie rzeczywistym (Real Time Sequencing):

Sekwencjonowanie w trakcie przechodzenia przez nanopory:

Strategie sekwencjonowania genomów i metody składania

Sekwencjonowanie fragmentów DNA dłuższych niż jeden odczyt z metody Sangera wymaga ustalenia strategii zapewniającej najefektywniejsze (w sensie kosztów) i najprostsze uzyskanie pełnej sekwencji.

W zależności od długości sekwencji różne strategie są najbardziej opłacalne. Wybierając strategię należy brać pod uwagę:

Dla fragmentów DNA o długości do kilkudziesięciu kilopar zasad mamy do wyboru dwie strategie:

Dla dłuższych sekwencji używana jest właściwie tylko jedna metoda: shotgun sequencing.

Ukierunkowane klonowanie:

- ustaleniu mapy restrykcyjnej badanego fragmentu

- sklonowaniu fragmentu restrykcyjnego

- zsekwencjonowaniu sklonowanego fragmentu

- złożeniu uzyskanej sekwencji w jedną całość na podstawie mapy restrykcyjnej

- złożenie odczytu w ciągłą całość (contig) jest bardzo proste

- niektóre fragmenty nie dają się klonować

- koszt z zasady jest wysoki

- klonowanie trwa długo

Primer walking:

- uzyskaniu fragmentu sekwencji, od którego można zacząć

- projektowaniu primerów do znanej już sekwencji i generowaniu odczytów

- przedłużaniu sekwencji

- powtarzaniu powyższych kroków przez określoną liczbę cykli

Shotgun sequencing: