Zadanie zaliczeniowe nr 1

Naszym zadaniem będzie liczenie zawartości nukleotydów GC w różnych fragmentach genomu drożdża używanego m.in. do wytwarzania piwa poprzez górną fermentację. Wielbiciele dolnej fermentacji będą musieli poczekać, aż genom drożdży lagerowych zostanie równie dobrze opisany. Sekwencja tego genomu jest dostępna tu w postaci pliku w formacie FastA, a jej opis tutaj w postaci pliku typu GFF.

Naszym zadaniem jest stworzyć program w python’ie, w postaci pojedyńczego pliku zad1_[nr indeksu].py, zawierającego 3 następujące funkcje:

  • (3 pkt) funkcja gc_content(gene_id), która dla zadanego identyfikatora genu (Np. YAL003W) znajduje jego pozycję na genomie (chromosom, początek, koniec) i oblicza udział nukleotydów G i C spośród wszystkich pozycji sekwencji odczytanej z odpowiedniego fragmentu pliku fasta. Np. zawartość GC w sekwencji “ATGCGCTGATG” to 6/11, czyli 0.54(54).
  • (3 pkt) funkcja gc_intron(chromosom), dla zadanego chromosomu znajduje w pliku gff wszystkie introny i liczy dla nich średni GC content.
  • (4 pkt) funkcja gc_compare(chromosom), która dla zadanego chromosomu wybiera wszystkie introny i dla każdego z nich liczy GC content intronu i GC content całego genu (gen dla intronu znajdujemy w polu parent pliku GFF). W wyniku zwracamy listę trójek, (gene_id, GC_intron, GC_gene).

W pliku z rozwiązaniem mogą znajdować się dodatkowe funkcje, ale powinny być one poniżej funkcji wymaganych w rozwiązaniu. Kod powinien być wyposażony w komentarze. Zakładamy, że podczas wykonania, pliki .fsa i .gff znajdują się w bieżącym katalogu. Zajęć praktycznych z drożdżami ani ich produktami nie planujemy.

Rozwiązania wysyłamy do 23. listopada e-mailem do prowadzących laboratoria z kopią do wykładowcy, używając w tytule tagu [WDI-1-2014]. Aby uzyskać punkty za zadanie trzeba swoje rozwiązanie przedstawić osobiście prowadzącemu lub prowadzącej laboratoria.

10 thoughts on “Zadanie zaliczeniowe nr 1”

  1. Dzień dobry,
    po przeczytaniu zadań i przeanalizowaniu pliku .gff, wydaje mi się, że przydatna w lepszym zrozumieniu zagadnienia i tworzeniu programu zaliczeniowego może być strona:
    http://www.sequenceontology.org/gff3.shtml
    która zawiera bardzo przejrzyście opisaną dokumentację formatu gff >>w wersji 3<< (w której to jest też zadany plik).

  2. Zostało zauważone, że niektóre introny znajdują się poza genami (ich “rodzicem” jest np. tRNA). W analizie można te przypadki pominąć.

  3. Kolejna uwaga: Istnieją introny opisane w bardziej złożony sposób, np. “five_prime_UTR_intron”. Powinniśmy je traktować tak samo jak pozostałe.

  4. Mam pytanie do drugiego podpunktu zadania (funkcja gc_intron(chromosom)), czy chodzi o zwykla srednia GC contentu czy srednia wazona?

    1. Średni GC content to liczba GC we wszystkich intronach w stosunku do ich sumarycznej długości. To oznacza, że dłuższe introny mają większy wkład do średniej niż krótsze.

  5. Gwoli upewnienia… czy sekwencje np genu czy intronu, liczy sie nukleotydy od start do end wlaczajac i start i end?

  6. W podpunkcie trzecim “W wyniku zwracamy listę trójek, (gene_id, GC_intron, GC_gene).” chodzi o to ze ma faktycznie stworzyc liste czy po prostu wydrukowac trojki? Czy obojetne?..

    1. Jesli zwracamy, to funkcja powinna zwrocic liste jako wynik poprzez return. Jeśli użytkownik będzie chciał wypisać to to zrobi.

  7. Można prosić o jakieś geny testowe (oczywiście wraz z wartościami jakie powinny zostać wyliczone przez funkcje) abyśmy mogli sprawdzić czy nasze funkcje dobrze działają?

Leave a Reply

Your email address will not be published. Required fields are marked *