WBO – zadanie 1 – uliniowienie progresywne

Naszym zadaniem jest elegancka implementacja progresywnego uliniowienia wg następujących wytycznych

1) Zaimplementuj klasę profile, która zachowuje się podobnie do multiple alignment, ale kiedy żądamy indeksu a[i], to dostajemy i-tą kolumnę uliniowienia, zamiast wiersza (w Multiple Alignment z Biopythona mamy a[i] = wiersz, a[:,i]=kolumna)  (2 pkt)

2) zaimplementuj funkcje callback dla metody Bio.pairwise2.globalcc dla afinicznej kary za przerwę (parametryzowalnej 2 parametrami) i oceny substytucji profili, dla funkcji oceny sumy par (3 pkt)

3) zaimplementuj metodę obliczającą odległości sekwencji białkowych według prostego modelu estymacji odległości, gdzie d= -19/20 * ln (1 – (20/19)*p), dla p=procent zmienionych aminokwasów w globalnym uliniowieniu pary, oraz pozwalającą wyliczać macierz odległości parami (2 pkt)

4) Zaimplementuj metodę konstruującą uliniowienie progresywne korzystającą z drzewa stworzonego metodą neighbor joining (nj w Biopythonie) dla macierzy odległości uzyskanej metodą z p.3) i uliniowienie profili metodą z punktu 1) i 2). (3 pkt)

Wszystko to powinno być włożone do udokumentowanego modułu python’a i wysłane do mnie w emailu z “[WBO-1-2018]” w temacie do 16. IV 2018.

1 thought on “WBO – zadanie 1 – uliniowienie progresywne”

  1. Zwrócono mi uwagę na fakt, że niestety funkcja pairwise2.globalcc sprawdza, jakiej klasy są obiekty podanych sekwencji. To niestety nie daje nam możliwościu użycia klasy “profile” bezpośrednio. W związku z tym proponuję dodać do klasy profile metode to_list(), która zwraca listę “kolumn” uliniowienia w liście i taką listę można podać do globalcc. Potem można też napisać funkcję “from_list”).

Leave a Reply

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