Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.52 KB | None | 0 0
  1. use warnings;
  2. # use strict
  3.  
  4. use Bio::Seq;
  5. use Bio::SeqIO;
  6.  
  7. # wyswietlanie polecenia zdania
  8. 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";
  9.  
  10. # wyswietlanie autora skryptu i rok jego przygotowanie
  11. print "Dominika Tempka 2017 \n";
  12.  
  13. # skladnia uzycia
  14. print "perl tempka_d.pl \n";
  15.  
  16. # poproszenie użytkownika o wprowadzenie sekwencji z klawiatury za pomocą polecenia <> i przypisanie do zmiennej $sequence
  17. print "wprowadz sekwencje: \n";
  18. my $sequence=<>;
  19.  
  20. # utworzenie obiektu sekwencji poprzez wstawienie podanej przez użytkownika sekwencji jako parameter
  21. # lc przed $sequence oznacza że wszystkie duże litery zamieniane są na małe, dla porządku
  22. $seq_obj = Bio::Seq->new(-seq => lc $sequence);
  23.  
  24. # wyswietlenie podanej sekwencji
  25. print $seq_obj->seq + "\n";
  26.  
  27. # char mowi o fragmencie ATG, ktory wyszukuje w podanej sekwencji
  28. my $char = 'atg';
  29. my $offset = 0;
  30.  
  31. # sprawdzenie poraz pierwszy czy w sekwncji występuje ATG, jeśli tak metoda index zwraca miejsce w którym występuje
  32. my $result = index($seq_obj->seq, $char, $offset);
  33.  
  34. # sprawdzenie w petli wystąpień ATG w sekwencji
  35. while($result != -1) {
  36. #poinformuj o wystąpieniu
  37. print "znaleziono $char na $result \n";
  38. $offset = $result + 1;
  39. $result = index($seq_obj->seq, $char, $offset);
  40. }
  41.  
  42. #sprawdzenie czy sekwencja została znaleziona
  43. if($offset == 0) {
  44. print "nie znaleziono żadnej sekwencji ATG";
  45. }
  46.  
  47. exit 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement