Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use warnings;
- # use strict
- use Bio::Seq;
- use Bio::SeqIO;
- # wyswietlanie polecenia zdania
- print "Zlokalizowanie we wczytanej sekwencji nukleotydowej miejsc wystapienia podanego z klawiatury przez użytkownika ciągu nukleotydów ATG, w tym poinformowanie o niewystapieni\n";
- # wyswietlanie autora skryptu i rok jego przygotowanie
- print "Dominika Tempka 2017 \n";
- # skladnia uzycia
- print "perl tempka_d.pl \n";
- # poproszenie użytkownika o wprowadzenie sekwencji z klawiatury za pomocą polecenia <> i przypisanie do zmiennej $sequence
- print "wprowadz sekwencje: \n";
- my $sequence=<>;
- # utworzenie obiektu sekwencji poprzez wstawienie podanej przez użytkownika sekwencji jako parameter
- # lc przed $sequence oznacza że wszystkie duże litery zamieniane są na małe, dla porządku
- $seq_obj = Bio::Seq->new(-seq => lc $sequence);
- # wyswietlenie podanej sekwencji
- print $seq_obj->seq + "\n";
- # char mowi o fragmencie ATG, ktory wyszukuje w podanej sekwencji
- my $char = 'atg';
- my $offset = 0;
- # sprawdzenie poraz pierwszy czy w sekwncji występuje ATG, jeśli tak metoda index zwraca miejsce w którym występuje
- my $result = index($seq_obj->seq, $char, $offset);
- # sprawdzenie w petli wystąpień ATG w sekwencji
- while($result != -1) {
- #poinformuj o wystąpieniu
- print "znaleziono $char na $result \n";
- $offset = $result + 1;
- $result = index($seq_obj->seq, $char, $offset);
- }
- #sprawdzenie czy sekwencja została znaleziona
- if($offset == 0) {
- print "nie znaleziono żadnej sekwencji ATG";
- }
- exit 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement