Przyrównywanie sekwencji



Podobne dokumenty
PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI

PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI

PRZYRÓWNANIE SEKWENCJI

Przyrównanie sekwencji. Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

Dopasowanie par sekwencji

Dopasowanie sekwencji (sequence alignment)

Dopasowywanie sekwencji (ang. sequence alignment) Metody dopasowywania sekwencji. Homologia a podobieństwo sekwencji. Rodzaje dopasowania

Porównywanie i dopasowywanie sekwencji

Wykład 5 Dopasowywanie lokalne

Dopasowania par sekwencji DNA

Politechnika Wrocławska. Dopasowywanie sekwencji Sequence alignment

Bioinformatyka. Ocena wiarygodności dopasowania sekwencji.

Dopasowanie sekwencji Sequence alignment. Bioinformatyka, wykłady 3 i 4 (19, 26.X.2010)

Dopasowanie sekwencji Sequence alignment. Bioinformatyka, wykłady 3 i 4 (16, 23.X.2012)

Spis treści. Przedmowa... XI. Wprowadzenie i biologiczne bazy danych. 1 Wprowadzenie Wprowadzenie do biologicznych baz danych...

prof. dr hab. inż. Marta Kasprzak Instytut Informatyki, Politechnika Poznańska Dopasowanie sekwencji

Bioinformatyka. (wykład monograficzny) wykład 5. E. Banachowicz. Zakład Biofizyki Molekularnej IF UAM

Porównywanie i dopasowywanie sekwencji

Bioinformatyka Laboratorium, 30h. Michał Bereta

Statystyczna analiza danych

BIOINFORMATYKA. edycja 2016 / wykład 11 RNA. dr Jacek Śmietański

D: Dopasowanie sekwencji. Programowanie dynamiczne

PODSTAWY BIOINFORMATYKI 8 DOPASOWYWANIE SEKWENCJI AMINOKWASÓW

Algorytmy kombinatoryczne w bioinformatyce

Algorytmy kombinatoryczne w bioinformatyce

Bioinformatyka Laboratorium, 30h. Michał Bereta

Wstęp do Biologii Obliczeniowej

Bioinformatyka. Porównywanie sekwencji

WSTĘP DO BIOINFORMATYKI Konspekt wykładu - wiosna 2018/19

Programowanie dynamiczne (optymalizacja dynamiczna).

Porównywanie sekwencji białek i kwasów nukleinowych

Generator testów Bioinformatyka wer / 0 Strona: 1

Projektowanie i analiza algorytmów

Porównywanie sekwencji białkowych

Algorytmy i Struktury Danych

Wstęp do programowania

Motywy i podobieństwo

Urszula Poziomek, doradca metodyczny w zakresie biologii Materiał dydaktyczny przygotowany na konferencję z cyklu Na miarę Nobla, 14 stycznia 2010 r.

Bioinformatyka Laboratorium, 30h. Michał Bereta

Porównanie szeregów czasowych z wykorzystaniem algorytmu DTW

Bioinformatyka Laboratorium, 30h. Michał Bereta

Algorytmika dla bioinformatyki

Bioinformatyka II Modelowanie struktury białek

Programowanie dynamiczne

Wstęp do programowania

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A

Techniki konstruowania algorytmów. Metoda dziel i zwyciężaj

Genomika Porównawcza. Agnieszka Rakowska Instytut Informatyki i Matematyki Komputerowej Uniwersytet Jagiellooski

Wykład Bioinformatyka. Wykład 9. E. Banachowicz. Zakład Biofizyki Molekularnej IF UAM

dopasowanie sekwencji Porównywanie sekwencji Etapy dopasowywania sekwencji Homologia, podobieństwo i analogia

Bioinformatyka Laboratorium, 30h. Michał Bereta

Generator testów Bioinformatyka_zdalne wer / 0 Strona: 1

Wykład Bioinformatyka Bioinformatyka. Wykład 7. E. Banachowicz. Zakład Biofizyki Molekularnej IF UAM. Ewolucyjne podstawy Bioinformatyki

Wybrane techniki badania białek -proteomika funkcjonalna

Analizy DNA in silico - czyli czego można szukać i co można znaleźć w sekwencjach nukleotydowych???

Wybrane techniki badania białek -proteomika funkcjonalna

Optymalizacja. Przeszukiwanie lokalne

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

października 2013: Elementarz biologii molekularnej. Wykład nr 2 BIOINFORMATYKA rok II

Sekwencjonowanie Nowej Generacji ang. Next Generation Sequencing

Sortowanie. LABORKA Piotr Ciskowski

Priorytetyzacja przypadków testowych za pomocą macierzy

Metody numeryczne Wykład 4

Podstawy Informatyki. Sprawność algorytmów

Mutacje jako źródło różnorodności wewnątrzgatunkowej

Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze,

Dopasowanie sekwencji c.d. Sequence alignment. Bioinformatyka, wykład 5 (16.XI.2010) krzysztof_pawlowski@sggw.pl

PODSTAWY BIOINFORMATYKI WYKŁAD 5 ANALIZA FILOGENETYCZNA

ANALIZA DANYCH POCHODZĄCYCH Z SEKWENCJONOWANIA NASTĘPNEJ GENERACJI

Schemat programowania dynamicznego (ang. dynamic programming)

Bioinformatyka II Modelowanie struktury białek

Gry hazardowe, gry ewolucyjne, ekspresja genów, tak czy owak łańcuchy Markowa

BIOINFORMATYKA BIOLOGICZNE BAZY DANYCH

Dopasowanie sekwencji c.d. Sequence alignment. Bioinformatyka, wykład 5 (6.XI.2012) krzysztof_pawlowski@sggw.pl

Zmienność ewolucyjna. Ewolucja molekularna

Teoria ewolucji. Podstawowe pojęcia. Wspólne pochodzenie.

Programowanie dynamiczne

Gry hazardowe, gry ewolucyjne, ekspresja genów, tak czy owak łańcuchy Markowa

Badanie doboru naturalnego na poziomie molekularnym

Mechanizmy zmienności ewolucyjnej. Podstawy ewolucji molekularnej.

Sekwencjonowanie Nowej Generacji ang. Next Generation Sequencing

Algorytmy i struktury danych

Bioinformatyka Laboratorium, 30h. Michał Bereta

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.

; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze...

Proteomika: umożliwia badanie zestawu wszystkich lub prawie wszystkich białek komórkowych

Matematyk Ci powie, co łączy Eugeniusza Oniegina i gry hazardowe

Grafy i sieci wybrane zagadnienia wykład 3: modele służące porównywaniu sieci

dr inż. Jarosław Forenc

Ćwiczenie 5/6. Informacja genetyczna i geny u różnych grup organizmów. Porównywanie sekwencji nukleotydowych w bazie NCBI z wykorzystaniem BLAST.

Złożoność obliczeniowa zadania, zestaw 2

Ewolucja molekularna człowieka okiem bioinformatyka. Justyna Wojtczak Jarosław Jeleniewicz

Generator testów bioinformatyka wer / Strona: 1

MultiSETTER: web server for multiple RNA structure comparison. Sandra Sobierajska Uniwersytet Jagielloński

Algorytmy przeszukiwania wzorca

RMSD - Ocena jakości wybranych molekularnych struktur przestrzennych

Podstawy biologii. Informacja, struktura i metabolizm.

Strategia "dziel i zwyciężaj"

MSA i analizy filogenetyczne

Co to jest transkryptom? A. Świercz ANALIZA DANYCH WYSOKOPRZEPUSTOWYCH 2

Transkrypt:

Instytut Informatyki i Matematyki Komputerowej UJ, opracowanie: mgr Ewa Matczyńska, dr Jacek Śmietański Przyrównywanie sekwencji 1. Porównywanie sekwencji wprowadzenie Sekwencje porównujemy po to, aby zidentyfikować miejsca podobne, które mogą świadczyć o powiązaniu ewolucyjnym czy funkcjonalnym obu sekwencji. Można również badać samopodobieństwo sekwencji. Rysunek 1: Dopasowanie dwóch sekwencji motywów palca cynkowego u człowieka (ang. zinc finger domain), który jest rodzajem domeny białkowej występującej w białkach wiążących DNA i bierze bezpośredni udział w związaniu cząsteczki kwasu nukleinowego przez białko. W szczególności mówimy, że sekwencje są homologiczne jeśli wywodzą się od wspólnego przodka, tzn. że różnice między nimi są wynikiem różnicowania się w toku ewolucji. Rysunek 2: Pojęcie homologii w biologii nie dotyczy tylko sekwencji, jest dużo szersze, przykład homologii kończyn u ssaków (jeden z argumentów Darwina za teorią ewolucji). 1

Możliwa jest również sytuacja, kiedy sekwencje wykazują duże podobieństwo mimo braku wspólnego przodka. Najczęściej ma to miejsce wtedy, kiedy pełnią one podobną funkcję np. wiążą się do tego samego białka lub helisy DNA (np. motyw palca cynkowego powyżej), wtedy ich podobna struktura niejako wymusza pewne podobieństwo w sekwencji. Oczywiście podobieństwo może również być przypadkowe, wtedy musimy się zastanowić czy otrzymane podobieństwo jest statystycznie istotne. Tak więc, wyszukiwanie podobieństw w sekwencjach może służyć np. wyszukiwania prawdopodobnej funkcji genów, do porównywania genów, białek między gatunkami - obserwowaniu działania ewolucji. 2. Macierze kropkowe - dot plot Jedną z pierwszych metod porównywania sekwencji był tzw. dot plot. Tworzymy macierz, której kolumny odpowiadają kolejnym resztom pierwszej sekwencji, a wiersze kolejnym resztom drugiej sekwencji. Bardzo prosta idea polega na uzupełnianiu kropkami macierzy, tam gdzie mamy zgodność. Ta metoda nie nadaje się do analizy dużej liczby sekwencji, ale można dzięki niej szybko zobrazować charakterystyczne cechy dopasowania. Często porównuje się sekwencję samą ze sobą, np. aby zobaczyć czy są jakieś fragmenty które się powtarzają. 2

Zadanie 1. - Wejdź na stronę Instytutu Bioinformatyki w Monachium, który udostępnia program do generacji dot-plotów: https://www.helmholtz-muenchen.de/icb/software/gepard/index.html - W sekcji download - uruchom program przez Java Web Start (może być low memory version) [żeby zadziałało w pracowni, zapewne trzeba pogmerać w ustawieniach zabezpieczeń] - Załaduj jako sekwencję 1 i 2 - sekwencję nukleotydową ludzkiego genu TPO (ID: 7173) - Przyglądnij się rejonom samopodobieństwa sekwencji używając powiększenia. 3. Dopasowanie globalne i lokalne Rozróżniamy dopasowanie globalne i lokalne : - globalne - dopasowuje sekwencje na całej długości, użyteczne jeśli sekwencje są w miarę podobnych rozmiarów - np. dopasowanie domen białkowych; - lokalne - dopasowuje pewne lokalne regiony sekwencji, wyszukuje lokalne podobieństwa, możemy nim dopasowywać sekwencje, które znacznie różnią się długością np. wyszukujemy określonej sekwencji genu na całym chromosomie, bądź pewnego motywu białkowego w całej sekwencji białka. Dla przypomnienia, jakie zmiany mogą nam zajść w łańcuchu DNA lub aminokwasowym? 3

4. Algorytm LCS Ponieważ algorytmy wyznaczające dopasowanie globalne i lokalne są algorytmami dynamicznymi, jako rozgrzewkę przypomnimy sobie algorytm najdłuższego wspólnego podciągu (LCS - longest common subsequence). Pamiętajmy, że ważną cechą problemów do których możemy używać algorytmów dynamicznych jest własność optymalnej podstruktury tzn. jego optymalne rozwiązanie jest funkcją optymalnych rozwiązań podproblemów. Zadanie 2. Jaki jest sens algorytmu LCS dla sekwencji DNA i białkowych - jakiego typu mutacji nie bierze on pod uwagę? Algorytm: Mamy dwa ciągi V i W długości odpowiednio n i m. Konstruujemy tablicę s rozmiaru n * m, gdzie pole j][j] oznacza LCS dla odpowiednio V[1..i] i W[1..j]. Ostatecznie w polu n][m] otrzymamy LCS dla całego V i W. W danym kroku wyliczamy j][j] na podstawie wcześniejszych obliczonych LCS dla podproblemów : - jeśli V[i] = W[j] wtedy dołączamy zgodny znak do wyniku: i][j] = i-1][j-1] + 1 - jeśli V[i] = W[j] wtedy sprawdzamy, który LCS dla podproblemów odpowiednio (V[1..i]; W[1..j-1]) i (V [1.i-1];W[1..j]) był dłuższy: i][j] = max {i-1][j]; i][j-1] } Dodatkowo możemy określić ilość zmian - insercji, delecji potrzebnych, aby przeprowadzić V w W, (s(v;w) oznacza długość LCS(V;W)): d(v;w) = n + m - 2s(V;W) Rysunek 3: Rysunek przebiegu LCS dla dwóch przykładowych sekwencji oraz powstałe dopasowanie (przykład z książki An Introduction to Bioinformatics Algorithms, Jones, Pevzner, MIT Press 2004). 4

5. Algorytm Needlemana-Wunscha (dopasowanie globalne) Algorytm LCS jest w pewnym sensie użyteczny dla zagadnienia dopasowania sekwencji, natomiast bierze on pod uwagę tylko możliwość indeli, czyli insercji lub delecji nukleotydów lub aminokwasów, przy czym dopasowanie nie jest w żadnej sposób za nie karane. Można pomyśleć nad takim wariantem algorytmu, który punktowałby również podstawienia, czyli zamianę nukleotydu czy aminokwasu na inny oraz w pewien sposób obniżał punktację dopasowania, jeśli nastąpi indel, ponieważ pojawienie się mutacji punktowej - zamiany nukleotydu czy aminokwasu na inny jest w naturze dużo bardziej prawdopodobne niż indel. Tego typu algorytm zaproponowali panowie Needleman i Wunsch w 1970 roku. i][ j] = max i 1][ j 1] + δ ( V[ i], W[ j]), gdy dopasowanie lub substytucja i 1][ j], gdy przerwa wv i][ j 1], gdy przerwa ww gdzie macierz δ jest macierzą punktacji, d jest liniową karą za przerwę. Dla nukleotydów macierz punktacji to np. +1 za dopasowanie, -2 za niedopasowanie, natomiast dla aminokwasów sytuacja jest bardziej skomplikowana i wykorzystuje się macierze substytucji. Możliwe są też inne typy kary za przerwę, np. najczęściej używany jest afiniczny model kary za przerwę: Gap penalty = Gap opening + k * Gap extension Wiemy, że otwarcie przerwy, czyli możliwość insercji lub delecji jest dość rzadka, natomiast jeżeli już przerwa się pojawi, to jest duże prawdopodobieństwo, że wstawi się lub zniknie wiele nukleotydów na raz. Dlatego lepiej jest gdy mamy mniej przerw, ale są one dłuższe, niż więcej krótkich. Stąd nakładamy dużą karę za otwarcie przerwy, które jest mało prawdopodobne, a potem dokładamy dużo mniejszą karę za wydłużenie przerwy. 6. Algorytm Smitha-Watermana dopasowanie lokalne Aby utworzyć algorytm dopasowania lokalnego na podstawie powyższego wzoru na dopasowanie globalne, należy dołożyć jeszcze jedną możliwość. i][ j] = i max 1][ j 1] + δ ( V[ i], W[ j]), gdy dopasowanie lub substytucja i 1][ j], gdy przerwa wv i][ j 1], gdy przerwa ww 0, gdy zaczynamy nowe loka ln e dopasowanie 5

Rysunek 4: Z materiałów do kursu Computational Biology: Genomes, Networks, Evolution, MIT Open- CourseWare Dopasowanie lokalne metodą programowania dynamicznego możemy obliczyć w sposób podobny do dopasowania globalnego, z tą różnicą, że pozwalamy aby dopasowanie zaczynało i kończyło się w dowolnym miejscu (wstawiamy zero tam gdzie mutacja i indel dałyby punktację ujemną), tzn. rekonstrukcji dopasowania nie musimy zaczynać od prawego dolnego rogu, ale od dowolnego miejsca tablicy, które jest najlepiej punktowane. Rekonstruujemy dopasowanie aż do miejsca, gdzie natrafimy na punktację zerową, bądź lewy górny róg tablicy. Algorytm dynamiczny dopasowania lokalnego został przedstawiony przez Temple F. Smith'a and Michael S. Waterman'a w 1981 roku. Porównanie tych dwóch strategii dla programowania dynamicznego jest widoczne na poniższym rysunku poniżej (rys. 2). Algorytmy te mają jedną podstawową wadę - za cenę dokładnego i z pewnością optymalnego dopasowania płaci się złożonością czasową i pamięciową - O(n*m), co sprawia, że zastosowanie tych algorytmów dla długich sekwencji (rzędu milionów bądź miliardów nukleotydów, a takie porównania robi się najczęściej) jest mocno ograniczone. Dlatego poszukiwano szybszych metod, które pozwoliłyby np. na dopasowanie lokalne nieznanego fragmentu sekwencji do całego genomu organizmu we względnie krótkim czasie. 6

Rysunek 5: Z materiałów do kursu Computational Biology: Genomes, Networks, Evolution, MIT Open- CourseWare Zadanie 3. Wykorzystując program NW-align (http://zhanglab.ccmb.med.umich.edu/nw-align/) porównaj ze sobą sekwencje aminokwasowe (w nawiasach podano identyfikatory sekwencji w bazie Protein): - hemoglobiny beta u człowieka (GI:40886941) i szczura (GI:34849618) - hemoglobiny beta u człowieka (GI:40886941) i mioglobiny ludzkiej (GI: 44955888) - dowolnych dwóch cytochromów P450 człowieka (hasło do wyszukiwania: cytochrome P450 homo sapiens) Jakie wnioski możesz wyciągnąć z dokonanych przyrównań? Jakie znaczenie ma zastosowanie w porównaniach macierzy substytucji? Zadanie 5 Zaimplementuj algorytm Needlemana-Wunscha dopasowania globalnego par sekwencji w modelu liniowym. Dla uproszczenia można przyjąć, że rozważane będą wyłącznie sekwencje aminokwasowe (wykorzystaj macierz substytucji, np. BLOSUM62), kara za przerwę: -7 pkt. Gdy istnieje więcej niż jedno optymalne dopasowanie, program powinien wypisać wszystkie. 7

Przetestuj swój algorytm porównując sekwencje hemoglobiny beta u człowieka (GI:40886941) i szczura (GI:34849618) z bazy Protein (użyj Bio.Entrez). macierz substytucji: from Bio.SubsMat import MatrixInfo as mi mi.blosum62 utworzenie macierzy n x m (w przykładzie niżej macierz 2x3) n, m = 2, 3 A = [[None] * m for i in range(n)] 8