Troche praktyki 2(1)


Trochę praktyki 2&
Poznaliśmy trochę bardziej Perla, więc możemy znowu spróbować swoich sił w rozwiązywaniu
trochę bardziej złożonych problemów bioinformatycznych. Spróbujemy stworzyć skrypt, który
pobierać będzie sekwencje genów z plików, przeprowadzać ich translację, wyznaczać procent
identyczności powstałych białek oraz określać sekwencję consensus. Ponownie problem
zostanie przedstawiony w postaci pseudokodu tak, aby umożliwić samodzielne zmierzenie się
z tym zadaniem.
Do dyspozycji będziemy mieli sekwencje kilku genów zapisane w oddzielnych plikach. Można
oczywiście zmodyfikować skrypt w taki sposób, aby pobierał on sekwencje z jednego pliku,
zapisane na przykład w formacie FASTA, jednak jak na razie pozostaniemy przy rozwiązaniu z
kilkoma plikami. Wykorzystamy nasz moduł Bioinfo.pm, w którym znajduje się kod przydatny
w translacji sekwencji DNA do sekwencji białkowej. Wyniki drukować będziemy na ekranie.
W pierwszej kolejności skrypt powinien wczytać odpowiednie sekwencje DNA i zapisać je w
zmiennych. Następnie przeprowadzić ich translację, a otrzymane sekwencje aminokwasowe
zapisać dla większej wygody w tablicach. Kolejną czynnością będzie porównanie reszt
aminokwasowych znajdujących się w kolejnych pozycjach sekwencji, zliczenie ilości
identycznych reszt oraz zapisanie ich w tablicy sekwencji consensus. Ostatnią czynnością jest
wydrukowanie wyników na ekranie.
# zainicjuj zmienne
my $pliki_dna
my $sekwencje_dna
my $sekwencje_bialka
my @sekwencje_bialka
my @consensus
my $licznik = 0;
# przygotuj sekwencje DNA i białkowe
wczytaj sekwencje DNA
zamień tablice @DNA na zmienne $sekwencje_dna
przeprowadz translację DNA
zamień zmienne $sekwencje_bialka na tablice @sekwencje_bialka
# porównaj sekwencje białkowe, zliczaj identyczne reszty, twórz consensus
foreach(@pierwsza_sekwencja_białkowa) {
porównuj reszty aminokwasowe zapisane w elementach tablicy
if (takie same) {
powiększ o jeden zmienną $identyczne
zapisz resztę aminokwasową w tablicy @consensus
} else {
zapisz w tablicy @consensus znak 
}
powiększ o jeden zmienna $licznik
}
# oblicz procent identyczności
$procent_identyczności = $identyczne / $długość_sekwencji_białkowej * 100
Trochę praktyki& Strona 1
# drukuj wyniki
drukuj zawartość zmiennej $procent_identyczności
foreach(@consensus) {
drukuj element tablicy
}
exit;
Przypominam o korzystaniu z dyrektywy use strict oraz zmiennych typu my.
Trochę praktyki& Strona 2


Wyszukiwarka

Podobne podstrony:
lll praktyk z histo
t15 Egzamin praktyczny 2016 CZERWIEC
Zasady BHP w praktyce
elektronika praktyczna 2002
Egzamin probny listopad 08 praktyczny[1]
Zasoby Linuksa, pomoc i trochę odnośników

więcej podobnych podstron