Plik dmel-4-r5.47.gff zawiera anotacje chromosomu 4 muszki owocowej. Każda linijka stanowi pojedynczy wpis – rekord, składający się z kilku pól, m.in. nazwy chromosomu (kolumna 0), typu rekordu i spełnianej w ramach tego typu roli (kolumny 1 i 2), początkowej i końcowej pozycji wpisu (liczby całkowite, w tysiącach par zasad – kolumny 3 i 4), opcjonalnie wartości odczytu (tzw. score, kolumna 5), znaku nici DNA, której dotyczy wpis (+ lub -, kolumna 6) i deskryptora (kolumna 8).
- (3p.) Napisz funkcję score(f_in, f_out, x), która dla zadanego parametru x znajduje w pliku f_in rekordy typu DGIL_snap (rola match_part) o score, którego wartość bezwzględna jest większa niż x. Rekordy spełniające te warunki powinny zostać posortowane według malejącej wartości bezwzględnej score. Wynik ma mieć postać
p_1 k_1 s_1
p_2 k_2 s_2
…
(wartości oddzielane spacjami, nowa linia po każdym wierszu, p_i i k_i oznaczają odpowiedznio początkową i końcową pozycję i-tego wpisu, a s_i oznacza wartość score (nie wartość bezwzględną, po której sortujemy – znak ma pozostać!). Wynik powinien zostać zapisany do pliku f_out.
Jako wynik, oprócz kodu programu należy przysłać plik wynik1.txt, stanowiący efekt wywołania funkcji score(“dmel-4-r5.47.gff”, “wynik1.txt”, 20). - (3p.) Wyszukaj wszystkie rekordy z pliku dmel-4-r5.47.gff typu OrthoDB (rola orthologous_to), podziel je wg gatunków, w których występują ortologiczne geny (wartośc po “to_species”; np. Dper, Dmel, Cele, Dyak, Drer, …) i dla każdego gatunku wypisz plik w formacie gff (możesz skopiować całe linijki z pliku wejściowego) zawierający tylko rekordy, w których ortologiczne fragmenty leżą na tej samej nici (ostatnia i 7. kolumna zawierają ten sam znak) co w Dmel. Dla każdego z gatunków plik nazwij “nazwa_gatunku.gff”, np. “Dper.gff”.
- (4p.) Wyszukaj w pliku dmel-4-r5.47.gff promotorów (rekordy typu promoter, rola match), które nie należą do żadnego obszaru 5′ Untranslated Transcribed Region (rola five_prime_UTR). Wypisz do pliku wynik3.gff wszystkie rekordy zawierające takie promotory (całe linijki).
Zadania w postaci kodu źródłowego (w jednym pliku zadanie1_nr-indeksu.py) i plików wynikowych (załączniki z rozszerzeniem .txt lub .gff, żadnych kompresji itp.) przesyłają Państwo do obu prowadzących ćwiczenia (bartek@mimuw.edu.pl i pawel.bednarz@mimuw.edu.pl) przed wykładem za dwa tygodnie (26. XI 2012, 12:15). Proszę o umieszczenie w tytule e-mail’a hasła [WDI-1] i o wysyłanie ze skrzynek studenckich (aby łatwiej było zidentyfikować autora i ew. “zapożyczenia”).