Dzisiaj będziemy rozmawiać o sekwencjach DNA i grafach. Slajdy do wykładu są tu: wyk1
Zasadniczo pracujemy w języku python. Jeśli ktoś ma kłopoty z interpreterem w labie, to może korzystać z serwera jupyter, używając tokena: 4c69cfc960c15962328143ec0b91c8b53ef9142de3e50b42
W laboratorium spróbujemy zająć się następującymi kwestiami:
1. Spróbujemy wczytać zestaw sekwencji z pliku FASTA przy pomocy biblioteki Bio.Seq z pakietu Biopython. Mamy do dyspozycji plik test_fasta Na początek warto go wczytać i wypisać do innego pliku zestaw sekwencji komplementarnych do sekwencji wejściowych.
2. Napiszemy funkcje kmers(s,k), która na podstawie sekwencji DNA daje nam wszystkie k-mery (podsekwencje długości k) składające się na widmo sekwencji s. Rozważymy dwa warianty – gdy widmo zawiera tylko podsekwencje s, i drugą, gdzie do widma zaliczamy też fragmenty sekwencji komplementarnej.
3. Napiszemy funkcje euler(kmers) i hamilton(kmers), które tworzą graf na podstawie widma k-merów i znajdują w nim wszystkie ścieżki.
4. Spróbujemy rozwiązać problem znajdowania zestawu sond komplementarnych z ostatniego slajdu.
Praca domowa (2 pkt):
Napisz program, który znajduje minimalne k, dla którego istnieje zbiór sond długości k komplementarnych do zestawu sekwencji (każda sonda komplementarna do dokładnie jednej sekwencji z zestawu) zadanego w pliku .fasta. Rozwiązanie polega na przysłaniu programu (z komentarzami), który znajduje minimalne k oraz wyniku jego uruchomienia dla wybranych genów drożdży Saccharomyces cerevisiae yeast.fa.
Prace domowe trzeba przysłać na mój adres e-mail (z dopiskiem [WBO] w tytule) przed następnymi zajęciami w laboratorium.
4*. Zastanów się nad problemem zestawu sond komplementarnych, gdzie zamiast równej długości wszystkich sond założymy, że powinny mieć tę samą temperaturę topnienia.