Wiktor_Pęczar_praca_inż.doc

(1964 KB) Pobierz
POLITECHNIKA RZESZOWSKA



POLITECHNIKA RZESZOWSKA

im. I. Łukasiewicza

WYDZIAŁ ELEKTROTECHNIKI I INFORMATYKI

Katedra Informatyki i Automatyki

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Opracowanie przykładów prezentujących zastosowania języka Python w bioinformatyce

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Autor:                                                                                                  Promotor:

     Wiktor Pęczar                                                                                dr inż. Krzysztof Świder

 

 

 

 

 

 

Rzeszów 2010



 

 

 

Spis treści

 

1              Wstęp              4

2              Biologiczne bazy danych              5

2.1 Przegląd baz sekwencji nukleotydowych              5

2.2 Algorytmy dopasowania sekwencji              11

2.3 Charakterystyka wybranych narzędzi              15

3              Język Python w zastosowaniach bioinformatycznych  19

3.1 Wybrane elementy języka              19

3.2 Przegląd zastosowań              28

3.3 Biblioteka Biopython              30

4               Aplikacje do analizy danych genetycznych              35

4.1 Przygotowanie danych do analizy              35

4.2 Wyszukiwanie i porównywanie sekwencji DNA              37

4.3 Porównywanie sekwencji białkowych              40

5              Podsumowanie              43

Bibliografia              44

Dodatek A              45

 

 

 

 

 

 

 


 

 

 

 

 

 

 

1      Wstęp

 

              Bioinformatyka to nowoczesna dziedzina nauki zajmująca się rozwojem metod obliczeniowych służących do badania struktury oraz funkcji genów i białek. Jednocześnie rośnie popularność języków programowania takich jak Perl i Python wykorzystywanych w aplikacjach przetwarzających dane biologiczne. Coraz więcej badaczy zaczyna interesować się bioinformatyką, a wraz z rozwojem narzędzi takich jak Biopython ich liczba powinna się zwiększać.

              Celem pracy jest krótka prezentacja biologicznych baz danych, wybranych narzędzi do analizy danych biologicznych oraz języka programowania Python ze szczególnym uwzględnieniem biblioteki Biopython. Część praktyczną stanowią trzy opracowane przez autora aplikacje do pobierania i analizy sekwencji DNA oraz sekwencji białkowych.

Rozdział 2 zawiera charakterystykę najważniejszych baz sekwencji nukleotydowych. Nawiązano do tego jak w odpowiedzi  na potrzebę przechowywania informacji o sekwencjach powstały odpowiednie bazy danych oraz jak zbierane w nich dane były organizowane i zapisywane. Opisano również rodzaj przechowywanych informacji oraz strukturę rekordów. W dalszej części rozdziału znajduje się opis kilku najważniejszych algorytmów dopasowania sekwencji DNA oraz krótka charakterystyka narzędzi dostępnych za pośrednictwem strony NCBI (National Center for Biotechnology Information) służących do porównywania i analizy sekwencji.

Rozdział 3 w całości poświęcony jest językowi programowania Python. Omówiona została struktura języka oraz zaprezentowano możliwości biblioteki Biopython, która znacznie ułatwia przetwarzanie danych biologicznych jakimi są sekwencje DNA i sekwencje białkowe. W rozdziale wspomniano także o firmach i projektach, które stały się słynne na cały świat dzięki językowi Python.

W rozdziale 4 zaprezentowane zostały trzy aplikacje autora napisane w języku Python. Pierwsza z nich Entrez.py służy do wyszukiwania i pobierania informacji z biologicznych baz danych dostępnych przez Internet. Za pomocą kolejnej aplikacji Alg_S_W.py można wykonać porównanie dwóch sekwencji białkowych. Ostatnia, trzecia aplikacja BLAST.py umożliwia przeszukanie za pośrednictwem Internetu wybranej bazy sekwencją pytającą w celu odnalezienia sekwencji do niej podobnych. Pracę kończy krótkie podsumowanie.

 


 

 

 

 

 

 

 

2      Biologiczne bazy danych

2.1 Przegląd baz sekwencji nukleotydowych

 

              Biologiczne bazy danych powstały w celu zaspokojenia rosnących potrzeb w zakresie przechowywania i przetwarzania informacji z tej dziedziny nauki. Na początku były wykorzystywane przez pojedynczych naukowców, umożliwiając wymianę informacji wąskiej grupie specjalistów z dziedziny nauk biomedycznych. Bazy powstały również w celu organizowania danych spływających z realizowanych projektów sekwencjonowania jak np. ustalanie kolejności (sekwencji) aminokwasów w polipeptydach i nukleotydów w kwasach nukleinowych. Stanowiły także pomoc dla firm farmaceutycznych w badaniach nad nowymi lekami.  

              Rolą pierwszych baz danych było zbieranie i opisywanie sekwencji wyznaczanych dostępnymi w tych czasach technikami sekwencjonowania. Gdy funkcjonowały już bazy danych, w których przechowywano sekwencje, zaczęto rozwijać metody analizy gromadzonych  danych umożliwiając klasyfikowanie sekwencji, a tym samym katalogowanie rodzin białek i charakteryzowanie związków funkcyjnych między nimi. Obecnie takie metody analizy sekwencji odgrywają kluczową rolę w procesie opisywania genomów.

              Masowy napływ informacji o genomach wywarł duży wpływ na badania biomedyczne. Dotychczas zgromadzone dane pozwalały naukowcom prowadzić poszukiwania nowych genów i białek, oceniać możliwości ich wykorzystania w terapii farmakologicznej oraz badać, dlaczego różni pacjenci reagują w różny sposób na takie same dawki leków. Ilość dotychczas zebranej informacji jest przytłaczająca. Ogromnym wyzwaniem staje się jej scalenie i przedstawienie w postaci, która pozwoli wykorzystać sekwencje genomów człowieka i innych gatunków do zrozumienia zawiłości biologii molekularnej, co z kolei umożliwi pełne zrozumienie związków pomiędzy określonymi zmianami genetycznymi a chorobami.

 

              Struktura rekordów

              Struktura rekordów jest ściśle określona dla poszczególnych baz danych. Dzięki temu dane mogą być wczytywane i automatycznie przetwarzane przez komputer. W tym celu konieczna jest informacja o tym, jakiego typu dane zawiera rekord i gdzie należy ich szukać. Z każdym rekordem w bazie danych wiąże się tzw. numer dostępu - niepowtarzalne i nie ulegające zmianie oznaczenie przypisywane rekordowi w chwili jego umieszczania w bazie. Numery dostępu są łatwo wyszukiwane i indeksowane przez komputery. Ponadto rekordom w niektórych bazach danych przypisuje się dodatkowy identyfikator tekstowy (ID), który w skróconej formie niesie informacje o zwartości określonego rekordu w sposób zrozumiały dla użytkownika.

              Istotnym elementem definicji bazy danych jest struktura i zawartość rekordu. Każdy rekord bazy danych sekwencji nukleotydowych powinien zawierać nazwę genu, informacje o organizmie, z którego pochodzi, kto i kiedy go sekwencjonował, a także, jeśli to możliwe, jaka jest jego funkcja i struktura. Niewątpliwie cenna będzie również informacja o wszelkich publikacjach naukowych, które opisują wyniki badań dotyczących określonego genu. Wymienione rodzaje informacji są odmiennie traktowane w różnych bazach danych. Nie ma jednego sposobu umieszczania tych informacji w rekordach, ale ważne jest, aby konsekwentnie stosować raz ustalony sposób zapisu danych określonego typu. Im lepiej przemyślana struktura  rekordów, tym łatwiej można je wykorzystać.

Sekwencja DNA - jest to kolejność nukleotydów w cząsteczce DNA. Oznaczana jest za pomocą skrótów od zasad wchodzących w skład nukleotydów np. CCGATTACGT. Analogicznie, sekwencja RNA to kolejność nukleotydów w cząsteczce RNA, z tym, że w RNA nie występuje tymina "T", a uracyl "U". Powyższa sekwencja wyglądałaby więc tak: CCGAUUACGU. Istnieje wiele baz danych zawierających sekwencje.



Chcąc wyświetlić zawartość pliku z pojedynczym rekordem danych trzeba przewinąć jego część zanim dotrze się do fragmentu z sekwencją. Zwykle w tej części rekordu liczba znaków jest ściśle ograniczona, a czasami kolejne reszty w sekwencji są podane w grupach po 10 znaków. Liczby podane na początku i na końcu kolejnych wierszy zawierających sekwencje ułatwiają zorientowanie się, w jakim miejscu aktualnie się znajdujemy. Wiele pakietów oprogramowania bioinformatycznego ma własny format zapisu sekwencji. Jednym z najprostszych jest format FASTA. Format ten składa się z jednej linii informacyjnej rozpoczynającej się od znaku „>”(większe niż) zawierającej opis całej sekwencji. W kolejnych wierszach jest podana właściwa sekwencja. Zaleca się aby wszystkie linie w pliku FASTA były nie dłuższe niż 80 znaków. Zawartość początkowego fragmentu pliku w formacie FASTA z sekwencją kodującą białko ludzkiego prionu przedstawiono na rys.1.

Rys.1 Fragment pliku w formacie FASTA

...

Zgłoś jeśli naruszono regulamin