Dziś zajmujemy się uliniawianiem par sekwencji –wyk3
Zadania na laboratorium:
- Zapoznaj się z modułem Bio.pairwise2 i klasą align oraz funkcją format_alignment() (kod źródłowy jest tutaj)
- Wczytaj sekwencje DNA histonów histones.fa i czynników bZIP bzips.fa do pamięci, najlepiej przy pomocy modułu Bio.SeqIO. Pliki są też dostępne na naszym serwerze jupyter w folderze WBO/.
- Dokonaj porównań pomiędzy sekwencjami DNA białek histonowych i bzip – dla każdej pary policz oceny dla najlepszych globalnych i lokalnych uliniowień z prostą macierzą substytucji (-1 za mismatch, 1 za match) i afiniczną funkcją kary za przerwy (np. -1.0 za otwarcie przerwy i -0.5 za jej rozszerzenie). Wylicz średnią ocenę w ramach grupy bzip, w ramach grupy histonów i pomiędzy grupami.
- Dokonaj tłumaczenia sekwencji DNA na białka(używając metody translate dla DNA), powtórz obliczenia używając macierzy substutucji BLOSUM60
Praca domowa (2pkt):
Napisz program, który wylicza optymalne lokalne uliniowienie dla sekwencji DNA dla różnych możliwych tłumaczeń na białka (tzn zakładając standardową tablicę kodonów ) przy uwzględnieniu trzech różnych ramek odczytu w obu sekwencjach. Dla uproszczenia załóżmy, że insercje i delecje powinny występować tylko “trójkami” nukleotydów. (Prace domowe jak zwykle przesyłamy do następnych zajęć mailem – proszę załączyć rozwiązanie jako pliki .py lub linki do działających notebooków, nie jako pliki .ipynb)
(*)Zastanów się, jakby wyglądał algorytm programowania dynamicznego w tym zadaniu gdybyśmy rozważali ogólną postać insercji i delecji, a nie tylko wielokrotności 3.
Pojawiają się pytania dotyczące typu wartości zwracanej w pracy domowej. Najprościej, jeśli dostosują się Państwo do typu wyniku zwracanego przez pairwise2, czyli listy krotek zawierających parę sekwencji i oceny.