Podstawy informatyki z bioinformatyką. Materiały do wykładów

Podobne dokumenty
Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles).

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

SYSTEMY LICZBOWE. SYSTEMY POZYCYJNE: dziesiętny (arabski): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M

Przegląd budowy i funkcji białek

Wstęp do informatyki- wykład 2

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Teoretyczne Podstawy Informatyki

Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

Definicje. Algorytm to:

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

Wielkości liczbowe. Wykład z Podstaw Informatyki. Piotr Mika

Technologie Informacyjne

Podstawy Informatyki

Algorytm. Krótka historia algorytmów

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łan Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

BŁĘDY OBLICZEŃ NUMERYCZNYCH

Informacje. W sprawach organizacyjnych Slajdy z wykładów

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji.

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Kodowanie informacji. Kody liczbowe

Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci:

Wstęp do informatyki- wykład 1 Systemy liczbowe

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

Systemy zapisu liczb.

Techniki multimedialne

Wprowadzenie do metod numerycznych. Krzysztof Patan

Wstęp do informatyki. Pojęcie liczebności. Zapis liczb. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

1.1. Pozycyjne systemy liczbowe

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:

Systemy liczenia. 333= 3*100+3*10+3*1

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

Algorytm. a programowanie -

Dopasowania par sekwencji DNA

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Algorytmy i struktury danych

Liczby zmiennoprzecinkowe i błędy

Wstęp do informatyki. Pojęcie liczebności. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

Technologie Informacyjne Wykład 4

1. Znajdowanie miejsca zerowego funkcji metodą bisekcji.

Bioinformatyka Laboratorium, 30h. Michał Bereta

Wykład 5 Dopasowywanie lokalne

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Zadanie 1. Potęgi (14 pkt)

Bioinformatyka Laboratorium, 30h. Michał Bereta

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

INFORMATYKA SORTOWANIE DANYCH.

Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu,

Wstęp do informatyki- wykład 1 Systemy liczbowe

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Wykład z Technologii Informacyjnych. Piotr Mika

Informatyka wprowadzenie do algorytmów (II) dr hab. inż. Mikołaj Morzy

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Technologie informacyjne Wykład VII-IX

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI

Metody numeryczne. Janusz Szwabiński. nm_slides.tex Metody numeryczne Janusz Szwabiński 2/10/ :02 p.

Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

Informatyka kodowanie liczb. dr hab. inż. Mikołaj Morzy

RODZAJE INFORMACJI. Informacje analogowe. Informacje cyfrowe. U(t) U(t) Umax. Umax. R=(0,Umax) nieskończony zbiór możliwych wartości. Umax.

Bioinformatyka Laboratorium, 30h. Michał Bereta

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Podstawy Informatyki dla Nauczyciela

21. Wstęp do chemii a-aminokwasów

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych

Metody numeryczne I. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/61

L6.1 Systemy liczenia stosowane w informatyce

Chemiczne składniki komórek

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI

wykład dla studentów II roku biotechnologii Andrzej Wierzbicki

PRZYRÓWNANIE SEKWENCJI

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

KARTA MODUŁU KSZTAŁCENIA

Języki programowania zasady ich tworzenia

Algorytm. Krótka historia algorytmów

W wielu obliczeniach w matematyce bądź fizyce wykonanie niektórych kroków zależy od spełnienia warunku.

Porównywanie i dopasowywanie sekwencji

Aproksymacja funkcji a regresja symboliczna

Technologie informacyjne - wykład 12 -

46 i 47. Wstęp do chemii -aminokwasów

Pracownia Komputerowa wykład IV

Algorytmy i struktury danych. Wykład 4

Stan wysoki (H) i stan niski (L)

Zwykle liczby rzeczywiste przedstawia się w notacji naukowej :

Metoda znak-moduł (ZM)

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 7 Algorytmy

Metody numeryczne w przykładach

Matematyka stosowana i metody numeryczne

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Transkrypt:

Podstawy informatyki z bioinformatyką Materiały do wykładów

Czym jest informatyka? Czym jest informatyka? Informatyka to ogół dyscyplin naukowych i technicznych zajmujących się informacją. Teorie informatyczne dotyczą operowania na informacji: jej przedstawianiem, przechowywaniem, uzyskiwaniem, porządkowaniem i przetwarzaniem

Informacja - ilość informacji Bit [b] binary digit (ang. cyfra dwójkowa) najmniejsza jednostka informacji zdolna do przechowania jednej z dwóch wartości Bajt [B] (ang. byte - binary term) to podstawowa komórka pamięci zdolna do przechowania jednego znaku, najczęściej o pojemności 8 bitów.

Informacja - ilość informacji Jednostki większe tworzone są przez dodanie odpowiednich przedrostków: 1 KB 1 Kilobajt = 1,024 bajty 1 MB 1 Megabajt = 1,048,576 bajty 1 GB 1 Gigabajt = 1,073,741,824 bajty [K] = 2 10 [M] = 2 20 [G] = 2 30

Informacja - ilość informacji Standardowa dyskietka 1,44 MB moŝe pomieścić około 1,5 miliona znaków czyli około 300 stron maszynopisu. 1MB około 1 minuty muzyki, lub ksiąŝka 1GB film DivX ;-), genom człowieka 1TB duŝa biblioteka 1PB pamięć człowieka

Systemy liczbowe Systemy liczbowe System liczbowy to precyzyjnie zdefiniowany sposób tworzenia liczb ze znaków cyfrowych. Dla kaŝdego systemu liczbowego istnieje określony zbiór cyfr i zestaw reguł, które umoŝliwiają budowanie z tych cyfr większych liczb oraz wykonywanie na nich operacji arytmetycznych Systemy liczbowe dzielą się na: pozycyjne niepozycyjne

Systemy liczbowe Systemy liczbowe 123 1111011 CXXIII 7B 173 dec bin rom he oct

Systemy liczbowe Systemy liczbowe niepozycyjny System rzymski I - 1, V - 5, X - 10, L - 50, C - 100, D - 500, M - 1000, Dostępne cyfry: I V X L C D M liczba rzymska CCCLXV reprezentuje C 100 C 100 C 100 L 50 X 10 V 5 IV, IX, XL, XC, CD, CM 100 + 100 + 100 + 50 + 10 + 5 = 365

Systemy liczbowe Systemy liczbowe niepozycyjny System rzymski I - 1, V - 5, X - 10, L - 50, C - 100, D - 500, M - 1000, Dostępne cyfry: I V X L C D M liczba rzymska CMXL reprezentuje CM 900 XL 40 IV, IX, XL, XC, CD, CM 900 + 40 = 940

Systemy liczbowe Systemy liczbowe System rzymski nie jest systemem pozycyjnym W systemach pozycyjnych: liczba dostępnych w danym systemie cyfr nazywana jest podstawą tego systemu. Waga ( znaczenie ) i-tej pozycji równa jest podstawie podniesionej do i-tej potęgi

Systemy liczbowe Systemy liczbowe pozycyjny System dziesiętny Podstawa: 10 Dostępne cyfry: 0 1 2 3 4 5 6 7 8 9 czyli liczbę 365 reprezentuje 0 3 6 5 10 3 10 2 10 1 10 0 1000 100 10 1 0 1000 + 3 100 + 6 10 + 5 1 = 365

Systemy liczbowe Systemy liczbowe pozycyjny System dwójkowy Podstawa: Dostępne cyfry: 0 1 czyli liczba 1111011 reprezentuje 1 2 2 1 2 6 1 2 5 1 2 4 1 2 3 0 2 2 1 1 2 0 64 32 16 8 4 2 1 1 64+1 32+1 16+1 8+0 4+1 2+1 1 = 123

Systemy liczbowe Systemy liczbowe 123 / 2 61 / 2 30 / 2 15 / 2 7 / 2 3 / 2 1 / 2 0 1 1 1 1 0 1 1 1111011

Liczby ujemne - notacja U2 5: 0101-5: 1??? -5: 1101-8 4 2 1-5: 1 0 1 1 Liczby dodatnie zapisywane są w sposób tradycyjny W przypadku liczb ujemnych najstarszy (najbardziej znaczący) bit to bit znaku (1 dla liczb ujemnych 0 dla dodatnich). Bit znaku ma równieŝ swoją wagę - ujemną

Liczby ujemne - notacja U2 Aby z dwójkowej liczby dodatniej otrzymać, odpowiadającą jej, liczbę ujemną naleŝy: zanegować wszystkie bity liczby dodatniej (0 1 i 1 0) następnie do wyniku dodać 1. 5: 0101 ~5: 1010-5: + 1011 +1-5: 1011 0: 0000

Liczby ujemne - notacja U2 Liczba jaką oznacza dany ciąg znaków cyfrowych zaleŝna jest od systemu liczenia w jakim ta liczba została zapisana: 11111111 jedenaście milionów sto jedenaście tysięcy sto jedenaście (system dziesiętny) 11111111 dwieście pięćdziesiąt pięć (system binarny) 11111111 minus jeden (system binarny, notacja U2) 11111101 + 00000001 = 11111110 Bin: dwieście pięćdziesiąt trzy plus jeden wynosi dwieście pięćdziesiąt cztery U2: minus trzy plus jeden wynosi minus dwa

Digitalizacja (dyskretyzacja ( dyskretyzacja) Digitalizacja to zamiana informacji analogowej na postać cyfrową, moŝliwą do zapisania na nośniku cyfrowym Płyta CD audio: 44100 próbek 16 bitowych na sekundę 2 kanały (stereo) długość ścieŝki ok. 6 [km]

Digitalizacja (dyskretyzacja ( dyskretyzacja) 0000000000000000 0000000000000000 0000000000000000 0000010110000000 000011 1111100000 0011111111110000 0011111111110000 0001111111110000 000111111111 0000 0001111111100000 0000101101000000 0000001100000000 0000001110000000 0 000011110000000 0000011111000000 240 bitów czyli 30 bajtów Obraz 800600 to 480000 pikseli czyli 59 KB (czarno-biały) Obraz 800600(3 kolory) czyli 2 bity na piksel = 118 KB

Kompresja danych Kompresja danych 000000000000000000000000000000000000000000000000000001011000000 000001111111000000011111111110000001111111111000000011111111100 000001111111110000000111111110000000001011010000000000001100000 000000000111000000000000111100000000000011111000000 Przykładowy prosty algorytm kompresji: XXY - ilość powtórzeń y - rodzaj znaku 530011010021110071070101060101070091070091070081090011010021010 011120021140031120041120051060 530 011 010 021 110 071 070 101 060 101 070 091 070 091 070 081 090 011 010 021 010 011 120 021 140 031 120 041 120 051 060

Kompresja danych Kompresja danych Rodzaje algorytmów kompresji kompresja bezstratna - kompresja danych: zip, rar, inne kompresja stratna - kompresja dźwięku i obrazu: jpeg, mpeg, mp3 00000000011111100000000000000010000000010000000 090 061 150 011 080 011 070 00000000011111100000000000000000000000000000000 090 061 320

Liczby rzeczywiste Liczby rzeczywiste Komputer jako narzędzie wprowadza do obliczeń błędy mające swoje źródło w: zamianie procesów nieskończonych na skończone dokładności reprezentowania liczb w komputerze (zaokrąglenia) PowyŜszych błędów praktycznie nie da się wyeliminować. MoŜna jednak minimalizować ich wpływ na ostateczny wynik obliczeń

Liczby rzeczywiste zapis stałopozycyjny Na przykład definiujemy: ABCD,abcd wówczas w systemie dziesiętnym np. 2005,0310 2*10 3 + 0*10 2 + 0*10 1 + 5*10 0,0*10-1 + 3*10-2 + 1*10-3 + 0*10-4 (-10000, 10000) popełniany błąd 0,00005 0,0001-10000 0 10000

Liczby rzeczywiste zapis stałopozycyjny w systemie binarnym np. 1011,1101 (11,8125) (10) 1*2 3 + 0*2 2 + 1*2 1 + 1*2 0,1*2-1 + 1*2-2 + 0*2-3 + 1*2-4 Zakres części ułamkowej: [0, (2 n -1)/2 n )

Liczby rzeczywiste konwersja 1,5 (10) =?? (2) na 3 bitach ułamkowych 1,5 * 2 3 = 1,5 * 8 = 12 12 % 2 = 0 6 % 2 = 0 3 % 2 = 1 1 % 2 = 1 czyli wynik 1100 1,5 (10) = 1,1 (2) Aby liczbę W przedstawić w systemie o podstawie p na m cyfrach ułamkowych naleŝy: 1 pomnoŝyć W przez p m ; jeŝeli pozostał ułamek, to W nie moŝna przedstawić dokładnie w systemie p na m cyfrach ułamkowych. NaleŜy wówczas zaokrąglić otrzymaną liczbę 2 obliczyć kolejne cyfry nowej wartości W 3 oddzielić przecinkiem m ostatnich cyfr W; jeŝeli jest mniej cyfr niŝ m, to naleŝy dopisać z lewej strony odpowiednią liczbę zer

Liczby rzeczywiste komplikacje 1,1 (10) =?? (2) na 8 bitach ułamkowych 1,1 * 2 8 = 1,1 * 256 = 281,6 282 % 2 = 0 141 % 2 = 1 70 % 2 = 0 35 % 2 = 1 17 % 2 = 1 8 % 2 = 0 4 % 2 = 0 2 % 2 = 0 1 % 2 = 1 czyli wynik 100011010 1,1 (10) = 1,00011010 (2) 1,1 (10) = 1,00011010 (2) 1 + 1/16 + 1/32 + 1/128 = 1 + 13/128 = 1,1015625 Błąd = 0,0015625

Liczby rzeczywiste zapis zmiennopozycyjny Dowolną liczbę rzeczywistą róŝną od zera moŝna zapisać w postaci: = s * m * p c m- mantysa c - cecha s - znak liczby (1 lub -1) 1,4E2 0,14E3 1400,0E-1 14,0E1 Dla systemu binarnego p=2 a mantysa [0,5 1)

Liczby rzeczywiste zapis zmiennopozycyjny s sc bn-t-2 bn-t-2... b0 b-1 b-2... b-t znak n-t-1 bitów cechy t bitów mantysy n bitowa reprezentacja liczby rzeczywistej mantysa - decyduje o dokładności zmiennopozycyjnego przedstawienia liczby rzeczywistej, a błąd wynikający z jej obcięcia jest mniejszy od 2 -t cecha - określa zakres reprezentowanych w ten sposób liczb rzeczywistych

Liczby rzeczywiste Liczby rzeczywiste 0,5*2 Cmin < 1,0*2 Cma Czasami podczas obliczeń cecha spada poniŝej Cmin, wynik wówczas przybliŝany jest zerem (tzw. niedomiar) Gdy cecha rośnie powyŝej Cma to obliczenia są przerywane i generowany jest błąd (tzw. nadmiar) -10000 0 10000-10000 0 10000

Błędy - przypomnienie błąd bezwzględny: błąd względny: a a a a a a a a α - wartość przybliŝona α - wartość dokładna podczas dodawania i odejmowania błędy bezwzględne składników się sumują. podczas mnoŝenia i dzielenia sumowaniu ulegają błędy względne składników

Błędy zapis zmiennopozycyjny 0,50000-0,46875 = 1/32 (0)1000 (1)00 - (0)1111 (1)01 = (0)1000 (1)00 - (0)01111 (1)00 = (Uzgodnienie cech) (0)1000 (1)00 - (0)0111 (1)00 = = (0)0001 (1)00 (Normalizacja mantysy) = (0)1000 (1)11 = 1/16 czyli błąd = 100%!!

Wnioski Liczby rzeczywiste (w większości przypadków) nie mogą być przedstawione w komputerze dokładnie (reprezentacja w pamięci) Skutkuje to równieŝ przybliŝonym charakterem większości obliczeń numerycznych (zaokrąglenia, stabilność numeryczna) Czyli praktycznie Ŝadne obliczenia na liczbach rzeczywistych nie są dokładne a stanowią jedynie lepsze lub gorsze przybliŝenie wyniku

Źródła błędów Błędy danych wejściowych Błędy zaokrągleń podczas obliczeń Błędy obcięcia e = 1 + + 2 2 + 3 3! +K Uproszczenia modelu matematycznego Błędy człowieka i "maszynowe"

Metody numeryczne Metody numeryczne (ang. numerical analysis), to dział matematyki (informatyki) zajmujący się metodami przybliŝonego rozwiązywania określonych problemów matematycznych, najczęściej nierealizowalnych bezpośrednio na komputerach. Metody numeryczne obejmują: aproksymację i interpolację, numeryczne róŝniczkowanie i całkowanie, rozwiązywanie układów równań, rachunek macierzowy, analizę i minimalizowanie błędów zaokrągleń...

Interpolacja Interpolacja X Y X X X X 0 X 1 2 k n y=f() y=f() f( ) f( ) f( ) 0 1 2 ( ) ( )( ) ( )( ) ( ) ( )( ) ( )( ) ( ) = + + = n j n j j j j j j j n j j j n y W 0 1 1 1 0 1 1 1 0 L L L L ( ) ( ) ( ) = = = n j n j i i i j i j n y W 0, 0

Aproksymacja Aproksymacja Poszukiwanie funkcji dającej dokładne wartości w węzłach interpolacji często nie ma sensu X Y X X X X 0 X 1 2 k n y = A + B f( ) f( ) f( ) 0 1 2 ( ) ( ) ( ) [ ] 2 0 1 0 1 1 0 0 ) ( ) ( ) ( ) ( ) ( ) ( ) (,,, ) ( i i n i i n n n f F w f F f F a a a a a a F = + + + = = L K ϕ ϕ ϕ

Regresja liniowa Regresja liniowa X Y X X X X 0 X 1 2 k n y = A + B f( ) f( ) f( ) 0 1 2 AX Y B y A n i i n i i i = = = = 0 2 0 = = = = n i i n i i n i i i y y r 0 2 0 2 0 N Y X XY y N X X n i n i n i n i n i n i n i = = = = = = = = = 0 0 0 0 2 0 0 2 0 2 i - odchylenie od średniego y i - odchylenie od średniego y

Rozwiązywanie układu równań liniowych Rozwiązywanie układu równań liniowych Eliminacja Gaussa Eliminacja Gaussa Banalne analityczne rozwiązanie układu równań nie jest dla komputera proste. = + = + = + 0 2 6 9 5 3 2 1 3 2 1 3 1 = 0 6 9 1 1 2 1 1 1 1 0 5 3 2 1

Rozwiązywanie układu równań liniowych Rozwiązywanie układu równań liniowych Eliminacja Gaussa Eliminacja Gaussa Etapy rozwiązywania układu równań: Eliminacja kolejnych zmiennych Sprowadzenie macierzy do postaci macierzy trójkątnej Redukcja wsteczna = 0 6 9 1 1 2 1 1 1 1 0 5 3 2 1 *(-1/5) *(-2/5) = 3,6 4,2 9 0,6 1 0 1,2 1 0 1 0 5 3 2 1 *1

Rozwiązywanie układu równań liniowych Eliminacja Gaussa Etapy rozwiązywania układu równań: Eliminacja kolejnych zmiennych Sprowadzenie macierzy do postaci macierzy trójkątnej Redukcja wsteczna 5 0 0 3 2 1 = = = 0 1 0 9 0,6 0,6 4,2 1 1,2 0,6 1 2 3 ( 1,2 ( 1 ) ) ( 1 ) 0 ( 3 ) 5 1 = = = = 9 4,2 0,6 1 3 2

Rozwiązywanie układu równań liniowych Eliminacja Gaussa a a b ( ) ( ) ( 1 ) ( 1 ) 1 11 i ( + 1 ) ( ) k ij 1 + = a ( k + 1 ) ( k ) = a a b ( ) ( 2 ) ( 2 ) 2 22 i 1 12 k ij a a ( ) ( ) k ik a ( ) ( ) ( k ) k ik a a k kk b ( ) k kk ( k = 1,2, L, n 1 ) ( i, j = k + 1, k + 2, L, n ) 2 2 + + K K LLLLLLLLLLLL k + + k kj a a a 1 2 n ( ) ( n ) n nn n, a n n n ( ) k kk = = = b b b 0 1 2 n Czyli przypadek ogólny dla dowolnego układu równań liniowych. Gdy macierz nie daje się zredukować do macierzy Trójkątnej (dzielenie przez zero), oznacza to, Ŝe układ nie ma rozwiązania

Całkowanie numeryczne metoda trapezów Y y=f() y = b a f ( )d h a = 0 1 2 3 n-1 n = b X s ( + ) y 0 y 1 1 1 = h S = h y 0 + y 1 + y 2 + K + y n 1 + y n 2 2 2

Całkowanie numeryczne metoda parabol Y f y=f() y = h a = 0 1 2 n-2 n-1 n = b s 1 ( y + 4 y ) = h + i i + 1 y i 3 + 2 1 S K 3 ( y + y + 2 ( y + y + K + y ) + ( y + y + ) ) = h 0 n 2 4 n 2 4 1 3 + y n 1 b a ( )d X

Metody iteracyjne Metody iteracyjne iteratio (łac) - 'powtarzanie iteracja - kolejne powtórzenie danej operacji/przekształcenia odniesione do wyniku poprzedniego jej wykonania metody iteracyjne - metody rozwiązywania problemów poprzez wielokrotne powtarzanie takich samych przekształceń kolejnych wyników cząstkowych. Kolejne iteracje najczęściej systematycznie zbliŝają się do ostatecznego rozwiązania i osiągają je z określoną dokładnością

Metody iteracyjne Rozwiązywanie równań nieliniowych f() = 0 Y y = f() X 0 X

Metody iteracyjne Rozwiązywanie równań nieliniowych f() = 0 ϕ() = ψ() Y f( ) 0 y=ϕ() y=ψ() Odcięte punktów przecięcia tych wykresów stanowią pierwiastki wyjściowego równania f() = 0 X 0 X

Metody iteracyjne Rozwiązywanie równań nieliniowych y=f() y=, y=f() n+1 = f( n ) Y f( 2 ) f( ) 1 y = y = f() 1 = f( 0 ) 2 = f( 1 ) 3 = f( 2 ) 4 = f( 3 )... f( ) 0 X X X X 0 1 2 3 X

Metody iteracyjne Rozwiązywanie równań nieliniowych Czasami zamiast zbliŝać się systematycznie do punktu przecięcia, kolejne przybliŝenia krąŝą wokół właściwego rozwiązania Y f( ) 0 f( ) 2 y = f() y = f( ) 3 f( ) 1 X 0 X X X X 2 4 3 1 X

Metody iteracyjne Rozwiązywanie równań nieliniowych PowaŜniejszym problemem jest brak zbieŝności ZbieŜność jest pewna gdy f () <1 ZbieŜność jest tym szybsza im mniejsza jest f () Y f( 2 ) f( ) 1 f( ) 0 y = y = f() X 2 1 0 X X X

Rozwiązywanie równań nieliniowych Metoda połowienia (bisekcji ( bisekcji) Dokładnie jeden pierwiastek funkcji y=f() znajduje się w przedziale a; b Y f(b ) y=f() Funkcja ma w punktach a i b róŝne znaki [ f(a) f(b) < 0 ] f( ) f(a ) a b X Zachowując powyŝszy warunek dziel kolejno przedział a; b na połowy zbliŝając się do rozwiązania b + a = 2 1 i i + 1 = i 2 ( b a )

Rozwiązywanie równań nieliniowych Metoda Newtona Metoda dosyć szybko zbieŝna (znacznie szybciej od metody bisekcji) Y f(b) y=f() Czasami nie jest łatwo znaleźć wartość pochodnej w punkcie i f(1) f(2) f(a) i + 1 a 2 1 = i f f ( i ) ( ) i Koniec gdy f( i ) dostatecznie bliska 0 oraz i + 1 i < ε b X

Poszukiwanie minimum funkcji (minimalizacja funkcji) Często problem ten sprowadza się do rozwiązania f ()=0, jednak czasami wyznaczenie pochodnej jest zbyt skomplikowane lub funkcja f nie jest róŝniczkowalna y=f() a b

Poszukiwanie minimum funkcji (minimalizacja funkcji) Aby zmniejszyć przedział zawierający minimum wystarczy policzyć wartość funkcji w dwóch punktach 1 i 2 takich Ŝe: a < 1 < 2 < b Wówczas, gdy: f( 1 ) f( 2 ), to m a; 2 f( 1 ) > f( 2 ), to m 1 ; b Przy równym podziale: b 2 ( b a ) i a i 0 = 3 i 0 y=f() a 1 m 2 b

Minimalizacja funkcji metoda symple (simpleks simpleks) Dla n zmiennych tworzony jest n+1 wymiarowy obiekt 4 podstawowe operacje: a. odbicie b.rozciągnięcie c. spłaszczenie d.kontrakcja a b PowyŜsze operacje wzgl. środka cięŝkości c d

Minimalizacja funkcji metoda symple (simpleks simpleks)

Algorytmika Algorytm przepis na rozwiązanie zadania z konkretnej klasy zadań, zawierający opis obiektów wraz z precyzyjnym i jednoznacznym opisem czynności, które naleŝy wykonać na tych obiektach, aby to zadanie rozwiązać w skończonej liczbie kroków. Muhammed ibn Musa al-chorezmi (820 r.n.e.)

Algorytmika Cechy algorytmu skończoność określoność (jednoznaczność) ogólność (uniwersalność) efektywność

Algorytmika Sposoby zapisu algorytmu: lista kroków (język potoczny) schemat blokowy (diagram przepływowy) diagram N-S (diagram Nassi-Schneidermana) zapis w języku formalnym zapis w postaci programu (algorytm zapisany w języku programowania)

Algorytmika Sposoby zapisu algorytmu Lista kroków 1. wczytaj a, b, c 2. oblicz d=b 2-4ac 3. jeŝeli d<0 to wtedy: 3.1 wypisz Brak pierwiastków 3.2 idź do 8 4. jeŝeli d=0 to wtedy: 4.1 oblicz =-b/(2a) 4.2 wypisz 4.3 idź do 8 5. oblicz 1 =-b-sqrt(d)/2a 6. oblicz 2 =-b+sqrt(d)/2a 7. wypisz 1, 2 8. koniec

Algorytmika Sposoby zapisu algorytmu Schemat blokowy blok operacji jednostkowych blok operacji we/wy blok decyzyjny początek, koniec,... P K N T

Algorytmika Sposoby zapisu algorytmu Schemat blokowy dodatki podprogramy pętle inne...

Algorytmika Sposoby zapisu algorytmu Zasady budowy schematów blokowych: KaŜda operacja jest umieszczona w bloku Kolejność wykonywania poszczególnych operacji definiują strzałki (połączenia pomiędzy blokami) Strzałki łączą bloki lub bloki z innymi strzałkami (brak rozgałęzień strzałek!!!!) KaŜdy schemat ma dokładnie 1 blok startu i co najmniej 1 koniec Z dowolnego bloku istnieje "droga" do końca algorytmu (brak ślepych uliczek itp.)

Algorytmika Sposoby zapisu algorytmu Diagram NS (Nassi-Schneidermana) Operacja podstawowa Warunek Tak Nie Wejście Wyjście Warunek Warunek

Algorytmika Sposoby zapisu algorytmu Schemat blokowy i diagram NS P We: a,b,c Nie d:=b*b-4*a*c d>=0 T d=0 N 1, 2 "Brak pierwiastków" N Brak pierw. T Policz 1 Wy:X1,X2 Wy: X1 K a, b, c d := b*b-4*a*c d >= 0 Nie d = 0 1 := -(b-d)/(2*a) 2 := -(b+d)/(2*a) "Dwa pierw." 1, 2 Tak Tak 1 := -b/(2*a) "Jeden pierw." 1

Algorytmika Sposoby zapisu algorytmu Jako program (BASIC, PASCAL, C, FORTRAN...) begin Read(a, b, c); d := b*b-4*a*c; if d<0 then begin Writeln("Brak pierwiastków); end else if d>0 then begin 1 := (-b-sqrt(d))/(2*a); 2 := (-b+sqrt(d))/(2*a); Write("Dwa pierwiastki: 1="); Writeln(1); Write(" 2="); Writeln(2); end else begin 1 := -b/(2*a) Write("Jeden pierwisatek: 1 ="); Writeln(1); end end.

Mała dygresja (przypisania i porównania) := == = X = X + 1 X := X + 1 X == X + 1 := operator przypisania (PASCAL) == operator porównania (C, REXX) = operator porównania (PASCAL) operator przypisania (C) WyraŜenie logiczne, zawsze fałszywe

Mała dygresja (zamiana zmiennych) X = 3, Y = 1 X := Y Y := X X = 1, Y = 1 X = 3, Y = 1 t := X X := Y Y := t X = 1, Y = 3

Algorytmika Podstawowe rodzaje algorytmów Liniowy P We: a,b c := (a+b) / 2 Wy: c K

Algorytmika Podstawowe rodzaje algorytmów Rozgałęziony P We: a,b,c d = 0 N d := b*b-4*a*c T 1 := -(b-sqrt(d)) / (2*a) 2 := -(b+sqrt(d)) / (2*a) d >= 0 N T := -b / (2*a) Brak Pierwiastków Jeden pierw.: Dwa pierw.: 1, 2 K K K

Algorytmika Podstawowe rodzaje algorytmów Z powtórzeniami (iteracyjne, zaw. pętle) Pewne operacje Pewne operacje Warunek T Warunek T N N Warunek Warunek

Algorytmika Podstawowe rodzaje algorytmów Typy algorytmów iteracyjnych (pętli) pierwszego rodzaju drugiego rodzaju z kontrolowanym wejściem z kontrolowanym wyjściem Wykonanie pętli gdy warunek (jest) lub (nie jest) spełniony

Algorytmika wariacje na temat pętli ZałoŜenie początkowe: i = 0 i := i + 1 i := i + 1 obliczenia obliczenia i<10 N T i<10 T N i : 0,10 11 razy i = 10 i : 0,9 10 razy i = 10 i>=10 T i : 0,9 10 razy i = 10 N i := i + 1 obliczenia

Algorytmika wariacje na temat pętli ZagnieŜdŜanie pętli i := i + 1 obliczenia Inne obliczenia T i<10 N T e>0.1 N i := i + 1 obliczenia i<10 N j<10 N T T j := j + 1

Algorytmika Podprogramy P We: n S:=1; i:=1 S := Sil(n) i := i + 1 i > n N S := S * i T Wy: S K Sil(n) S:=1; i:=1 i := i + 1 i > n N S := S * i T S Sil(n) n = 0 N T S := 1 S:=n*Sil(n-1) S

Przykładowy zapis algorytmu obliczania wartości wyraŝenia n! P We: n S:=1; i:=1 N i > n T Wy: S i := i + 1 S := S * i n S := 1 i := 1 i <= n S := S * i i := i + 1 S K

Algorytmika Podstawowe techniki programistyczne algorytmy rekurencyjne (rekursja) algorytmy zachłanne ( Ŝarłoczne ) metoda dziel i rządź ( dziel i zwycięŝaj ) programowanie dynamiczne algorytmy z powrotami

Algorytmika Chwila relaksu - WieŜe z Hanoi 1. Przenieś najmniejszy krąŝek o jedno miejsce w prawo 2. Wykonaj jedyną dozwoloną operację, nienaruszającą najmniejszego krąŝka 3. Wróć do 1

Algorytmika Chwila relaksu - WieŜe z Hanoi 4 1 5 2 6 3 7

Algorytmika ZłoŜoność obliczeniowa ZłoŜoność obliczeniowa algorytmu określa ilość zasobów komputera potrzebną do realizacji tego algorytmu złoŝoność czasowa złoŝoność pamięciowa pesymistyczna oczekiwana

Algorytmika ZłoŜoność obliczeniowa Algorytm wyszukiwania nazwiska w ksiąŝce telefonicznej dla n elementów 2n operacji MoŜna inaczej? dla n elementów n+2 operacji dla n elementów log 2 n operacji

Algorytmika ZłoŜoność obliczeniowa Funkcja do której proporcjonalna jest złoŝoność danego algorytmu to tak zwana złoŝoność teoretyczna, i oznaczana jest ona najczęściej O. O(log 2 N) - logarytmiczna O(N) - liniowa O(Nlog 2 N) - liniowo-logarytmiczna O(N 2 ) - kwadratowa O(N k ) - wielomianowa O(2 N ) - wykładnicza

Algorytmika ZłoŜoność obliczeniowa dane Log 2 N N Nlog 2 N N 2 2 N 10 4 10 40 100 1024 20 5 20 100 400 1000000 50 6 50 300 2500 10 15 100 7 100 700 10000 10 30 1000 10 1000 10000 1000000 10 301

Algorytmika ZłoŜoność obliczeniowa 10 40 N 2 10 35 N N 1,2 N 10 30 N 10 10 25 10 20 Liczba mikrosekund od Wielkiego Wybuchu 10 15 Bilion Miliard N 5 N 3 Liczba mikrosekund w ciągu jednego dnia Milion 1000 100 10 5N 2 4 8 16 32 64 128 256 512 1024 2048

Algorytmika Podstawowe struktury danych Typy proste typy całkowite 7 0 15 8 typy rzeczywiste (zmiennopozycyjne) znak cecha mantysa

Algorytmika Podstawowe struktury danych Tablice (macierze) 1,1 1,2 1,8 2,1 2,2 2,8 1,1 1,2 1,8 2,1 2,2 2,8 T[3,2] =... T[3][2] =... T[1,2,5] =... T[1][2][5] =... T[4] =...

Algorytmika Podstawowe struktury danych Stosy (LIFO) SZCZYT DANE 3 DANE 2 następny następny Kolejki (FIFO) początek DANE 1 DANE 2 koniec następny następny DANE 1 NULL DANE 3 NULL

Algorytmika Podstawowe struktury danych Drzewa Korzeń DANE Lewy Prawy DANE DANE Lewy Prawy Lewy Prawy

Algorytmika Etapy rozwiązywania problemu 1. Sformułowanie zadania 2. Precyzyjna definicja zbioru dozwolonych wejść 3. Precyzyjna definicja spodziewanych wyników, jako funkcja danych wejściowych 4. Poszukiwanie metody rozwiązania problemu czyli algorytmu 5. Przedstawienie algorytmu w jednej/kilku postaciach 6. Analiza poprawności rozwiązania 7. Testowanie dla róŝnych danych, ocena efektywności

Przykład - opracowanie schematu blokowego dla sortowania bąbelkowego 1 2 3 4 5 Z B C D A min ma Dane: N, T[N] 1. dla wszystkich kolejnych par wykonuj: jeŝeli zła kolejność elementów w parze, to zamień te elementy miejscami 2. powtórz punkt pierwszy (N-1) razy, (gdzie N to liczba elementów)

Przykład Przykład - opracowanie schematu opracowanie schematu blokowego dla sortowania bąbelkowego blokowego dla sortowania bąbelkowego Z B D C A B Z D C A B C D Z A B C Z D A B C A D Z Zamień Zamień Zamień Zamień B C D A Z B A D C Z A B D C Z 1 2 3 4

Przykład - opracowanie schematu blokowego dla sortowania bąbelkowego Uszczegółowienie punktu 1 Z B C D A Z B C D A dla wszystkich kolejnych par wykonuj: jeŝeli zła kolejność elementów w parze, to zamień te elementy miejscami dla i zwiększającego się od 2 do N wykonuj: - jeŝeli ( T[i] < T[i-1] ) to wtedy: zamień miejscami T[i] T[i-1]

Przykład - opracowanie schematu blokowego dla sortowania bąbelkowego Uzupełnienie algorytmu o punkt 2 powtórz punkt pierwszy (N-1) razy, (gdzie N to liczba elementów) dla k zmniejszającego się od N do 2 wykonuj - dla i zwiększającego się od 2 do N wykonuj: - jeŝeli ( T[i] < T[i-1] ) to wtedy: zamień miejscami T[i] T[i-1] punkt pierwszy A to juŝ cały algorytm

Przykład - opracowanie schematu blokowego dla sortowania bąbelkowego Drobna optymalizacja Z B C D A dla k zmniejszającego się od N do 2 wykonuj B B B - dla i zwiększającego się od 2 do N wykonuj: Z C C - jeŝeli ( T[i] < T[i-1] ) to wtedy: zamień C miejscami T[i] Z T[i-1] D D D Z A A A dla k zmniejszającego się od N do 2 wykonuj - dla i zwiększającego się od 2 do k wykonuj: - jeŝeli ( T[i] < T[i-1] ) to wtedy: zamień miejscami T[i] T[i-1] B C D A Z

Przykład - opracowanie schematu blokowego dla sortowania bąbelkowego P P Wcz. N,T[N] Wcz. N,T[N] DO k := N,2,-1 k := N DO i := 2,k i := 2 Zamień T[i],T[i-1] T T[i] < T[i-1] N ENDDO i N Zamień T[i],T[i-1] T T[i] < T[i-1] I = k N N i := i + 1 k := k - 1 T N ENDDO k T N k = 2 T T Wyp. T[N] Wyp. T[N] K K

John von Neumann Koncepcja komputera procesor (ALU/CPU) pamięć urządzenia wejścia/wyjścia identyczna wewnętrzna reprezentacja danych i instrukcji instrukcje (program) i dane umieszczone są w tej samej wewnętrznej pamięci samodostęp - program moŝe wykonywać operacje zarówno na swoich danych jak i instrukcjach

Konsekwencje architektury według koncepcji von Neumanna 100 5 105 10 112 1 249 1 - JMP 5 - CPX 10 - BNE 100 - LDA 105 - ADA # LDA 5 ADA # 10 STA 1 RTS CPX 105 BNE 112 JMP 249 112 - STA 249 - RTS

Automat von Neumann a Uniwersalny konstruktor Do samoreprodukcji potrzebny jest sam automat, rezerwuar części z których moŝna go złoŝyć oraz plan konstrukcyjny Plan moŝe być zakodowany np. w systemie dwójkowym reprezentowanym w dowolny sposób Konstrukcja takiego automatu moŝe być dosyć dowolna. Od całej zautomatyzowanej fabryki, poprzez roboty rodem z filmów SF do mikroautomatów (nanotechnologia)

Automat von Neumann a Plan konstrukcyjny CH 3 CH 3 CH 3 CH 3 CH 3 CH 2 CH 2 CH 2 CH 2 CH 2 CH 2 CH 3 CH 3 C H CH 3 1 CH 2 0 0 1 0 1 1 0 0 1 0 1 1 1 0

Automat von Neumann a Plan konstrukcyjny CH 3 CH 3 CH 3 CH 3 CH 3 CH 2 CH 2 CH 2 CH 2 CH 2 CH 2 CH 3 CH 3 C H CH 3 1 CH 2 0 NH 2 NH 2 N N N N O N N C H C H

A tymczasem... A tymczasem... James Watson i Francis Crick - 1953

Funkcja i struktura DNA Funkcja i struktura DNA O O P O O O N N N NH 2 N O O P O O O N O N N NH NH 2 OH OH O O P O O Adenina O OH Tymina O N NH O O O P O O Guanina O OH Cytozyna NH 2 N N O Cząsteczka DNA zawiera 4 typy związków: A,G,T,C sumaryczna ilość (A+G) równa jest ilości (C+T) ilość cząsteczek A równa jest ilości cząsteczek T ilość cząsteczek G równa jest ilości cząsteczek C

Funkcja i struktura DNA Funkcja i struktura DNA 5 O O P O O O O O P O O N N N N N O O N N O N O O P O O O N O P O O O N O O O N N O P O O O N N N OH 3 5 O 3 OH N NH 2 N N N 1

Funkcja i struktura DNA Funkcja i struktura DNA N N N N N Cukier H H N N O O Cukier H N N O N Cukier H H N N N N O N Cukier H H H A T G C A T C G A T T A G C A T C G G C G C

Funkcja i struktura DNA Funkcja i struktura DNA

Replikacja,, transkrypcja, translacja DNA Replikacja DNA Transkrypcja RNA Translacja Białko

Replikacja,, transkrypcja, translacja

Replikacja,, transkrypcja, translacja DNA RNA Transkrypcja Transkrypcja (DNA RNA) ryboza zamiast dezoksyrybozy jednoniciowe uracyl (U) zamiast tyminy (T) Translacja Białko

Replikacja,, transkrypcja, translacja DNA: ATGTGTGGAATTGTTGGCGCGATCGCGCAA RNA: Transkrypcja AUGUGUGGAAUUGUUGGCGCGAUCGCGCAA Białko: Translacja MCGIVGAIAQ

Kod genetyczny Kod genetyczny U U Phe Phe Leu Leu C Ser Ser Ser Ser A Tyr Tyr Stop Stop C Leu Leu Leu Leu Pro Pro Pro Pro His His Gln Gln A Ile Ile Ile Met Thr Thr Thr Thr Asn Asn Lys Lys G Val Val Val Val Ala Ala Ala Ala Asp Asp Glu Glu G Cys Cys Stop Trp Arg Arg Arg Arg Ser Ser Arg Arg Gly Gly Gly Gly U C A G U C A G U C A G U C A G Kolejne trójki nukleotydów kodują kolejne aminokwasy 3 kodony są nonsensowne Ponadto kod jest: ciągły i bezprzecinkowy uniwersalny zdegenerowany

Translacja 5 AUGCGCGGAUCCCCCACCUGA 3 Met Arg Gly Ser Pro Thr Stop (M R G S P T)

Transkrypcja, translacja Transkrypcja, translacja Polimeraza RNA Duple DNA Rybosom Kierunek transkrypcji Kierunek translacji R H 2 N COOH O R H 2 N R HN HOOC NH O R

D Białka - struktura pierwszorzędowa T D T E V I A H L V N W E L K Q G mrna A S A G L A V V D A E G H M T R L R R L G mrna

Aminokwasy - nazwy A Ala alanina C Cys cysteina D Asp kw. asparaginowy E Glu kw. glutaminowy F Phe fenyloalanina G Gly glicyna H His histydyna I Ile izoleucyna K Lys lizyna L Leu leucyna M Met metionina N Asn asparagina P Pro prolina Q Gln glutamina R Arg arginina S Ser seryna T Thr treonina V Val walina W Trp tryptofan Y Tyr tyrozyna

Aminokwasy - struktury H 2 N COOH H 2 N COOH H 2 N COOH Glicyna Alanina Valina H 2 N COOH Leucyna H 2 N COOH Izoleucyna Prolina N H COOH OH N H H 2 N COOH H 2 N COOH H 2 N COOH Fenyloalanina Tyrozyna Tryptofan

Aminokwasy - struktury SH SCH 3 H 2 N COOH H 2 N COOH Cysteina Metionina OH COOH CONH 2 H 2 N COOH H 2 N COOH H 2 N COOH Seryna Kw. asparaginowy Asparagina OH COOH CONH 2 H 2 N COOH Treonina H 2 N COOH Kw. glutaminowy H 2 N COOH Glutamina

Aminokwasy - struktury HN HN NH 2 NH 2 H N N H 2 N COOH H 2 N COOH H 2 N COOH Arginina Lizyna Histydyna

Aminokwasy - właściwości drobne alifatyczne małe polarne hydrofobowe naładowane aromatyczne naładowane dodatnio

Białka - struktura drugorzędowa T D T E V I A H L V N W E L K Q G O R H 2 N R HN HOOC NH O R

Białka - struktura drugorzędowa D A S A G L A V V D A E G H M T R L R R L G

Białka - struktura trzeciorzędowa

Białka - struktura czwartorzędowa

Bioinformatyka Bioinformatyka to nauka wykorzystująca matematykę a w szczególności informatykę do rozwiązywania problemów z zakresu biologii i biologii molekularnej. Dysponujemy sekwencją nukleotydową aminokwasową

Gęstość informacji Gęstość informacji ATGTGTGGTATTTTTGGTTACGTCAATTTCT CVVFLVTSISWSTRVEVKSGIFGYVNFLVDK {ATGC} 2 bity na pozycję {20 a.k.} > 4 bity na pozycję

Problem ramki odczytu Problem ramki odczytu --- UUCUCGGACCUGGAGAUUCACAGU --- UUC UCGGACCUGGAG AUU CAC AGU 5 3 ramka 1 Phe Ser Asp Leu Glu Ile His Ser U UCUCGGACCUGGAGAUUCACA GU 5 3 ramka 2 Ser Arg Thr Trp Arg Phe Thr 5 3 ramka 3 UU CUCGGACCUGGAGAU UCACAG U Leu Gly Pro Gly Asp Ser Gln

Sekwencje nukleotydów i aminokwasów Sekwencje nukleotydów i aminokwasów 60 nukleotydów 20 kodonów ATGTGTGGTATTTTTGGTTACGTCAATTTCT TGGTCGACAAGAGTAGAGGTGAAATCATT 5'3' Ramka 1 Met C G I F G Y V N F L V D K S R G E I I 5'3' Ramka 2 C V V F L V T S I S W S T R V E V K S 5'3' Ramka 3 V W Y F W L R Q F L G R Q E Stop R Stop N H

Podobieństwa i homologie Podobieństwa i homologie Rodzina białek identyczne aminokwasy (% identity) podobne aminokwasy (% similarity) homologia (homology) Komputer i internet - wymarzone narzędzia

Szukanie sekwencji w bazie danych Szukanie sekwencji w bazie danych Ponad 3,185,498 sekwencji Ponad 1,044,150,180 amiokwasów

Istotność wyniku przeszukiwania (Prawdopodobieństwo strzelenia byka ) Prawdopodobieństwo trafienia 1 aminokwasu 1/20 dwóch kolejnych (1/20) 2. W bazie danych zawierającej N "liter" sekwencja n liter wystąpi N*(1/20) n razy. KV KVR KVRA KVRAS KVRASV KVRASVK KVRASVKK KVRASVKKL 488559 28592 2077 124 23 8 4 1

Istotność wyniku przeszukiwania (Prawdopodobieństwo strzelenia byka ) Wyniki poszukiwania sekwencji aminokwasów: BEZYBEZYBEZ w bazie sekwencyjnej Swiss-Prot

Bioinformatyka od sekwencji do funkcji Podobna sekwencja podobna struktura podobna funkcja Dwa (lub więcej) białka uznaje się za homologiczne, jeŝeli wywodzą się od wspólnego przodka. Powszechnie stosowane pojęcia "duŝej homologii" itp. odnoszą się do podobieństwa struktury lub sekwencji, a NIE homologii jako takiej Informacja, Ŝe pewne sekwencje są homologiczne jest najczęściej domniemaniem (na podstawie podobieństwa) a nie eksperymentalnie potwierdzonym faktem.

Bioinformatyka od sekwencji do funkcji DuŜe podobieństwo sekwencji implikuje homologię Czy sekwencje bardzo mało podobne mogą być homologiczne? podobieństwo rozciąga się na długim odcinku łańcucha i jest statystycznie istotne podobny wzorzec aminokwasów występuje w większej liczbie sekwencji nikłe podobieństwo sekwencji jest połączone z wysokim, eksperymentalnie potwierdzonym, podobieństwem struktury

Homologia Alternatywa - konwergentna ewolucja. Podobieństwo wynika z podobnej funkcji Konkluzja: wystąpienie statystycznie istotnego podobieństwa sekwencji lub struktury dwóch białek (lub ich domen), sugeruje ich pochodzenie od wspólnego przodka, czyli homologii. Homologia poprawnie nałoŝonych sekwencji implikuje "homologię" odpowiednich aminokwasów. Aminokwasy identyczne, to aminokwasy "zakonserwowane"

Homologia - niuanse Funkcja struktura białka konserwacja struktury Wiele niewątpliwie homologicznych białek o bardzo podobnej strukturze wykazuje nikłe podobieństwo sekwencji Czy podobieństwo struktury implikuje homologię? Baza PDB zawiera ponad 20 tysięcy róŝnych struktur, ale posiadają one stosunkowo niewiele róŝnych topologii

Przykładowa struktura Przykładowa struktura

Przykładowa struktura Przykładowa struktura

Przykładowa struktura Przykładowa struktura

Przykładowa struktura Przykładowa struktura

Porównywanie sekwencji Porównywanie sekwencji (A) (B) CGIFAYMNYRVPKTR CGIFAYMNYRVPKTR C GIFAYMNYRVPKTR CG IFAYMNYRVPKTR CGI FAYMNYRVPKTR...

Porównywanie sekwencji Porównywanie sekwencji Co z sekwencjami identycznymi np. "tylko" w 90%? RóŜne aminokwasy wymieniają się z róŝnym prawdopodobieństwem. RóŜne właściwości fizykochemiczne. "Aminoacids substitution matri (macierz podstawienia aminokwasów) S = k ln ij p q i ij p j

Aminoacids substitution matri A R N D C Q E G H I L K M... 5-2 9-1 0 8-1 -1 2 9-2 -3-2 -2 16 0 2 1-1 -4 8-1 -1-1 2-2 2 7 1-3 0-2 -3-2 -3 8-2 0 1 0-4 0 0-2 13-1 -3-2 -4-4 -3-4 -4-3 6-2 -2-3 -3-2 -2-2 -4-2 2 6-1 3 0 0-3 1 1-2 -1-3 -2 6-1 -1-2 -3-3 -1-2 -2 1 1 3-1 7.................................... A R N D C Q E G H I L K M F P S T W Y...

Porównywanie sekwencji Porównywanie sekwencji CGIFAYMNYRVPKTR CGIGAYMNYRIPKTR CGIFAYMNYRVPKTR CGIGAYMNYRIPKTR *** ******:**** CGIFAYMNYRVPKTR CGIMNYRVPKTR CGIFAYMNYRVPKTR CGIMNYRVPKTR *** * : CGIFAYMNYRVPKTR CGI---MNYRVPKTR *** ********* gaps - przerwy

Porównywanie sekwencji Porównywanie sekwencji Punktacja ( score ) to suma punktów dla kaŝdej pozycji IARCH IKCN IARCH IKCN * IARCH I-KCN * :*. IARCH IK-CN * *. S = (6) + (-1) + (-3) + (-2) = 0 S = (6) + (-12) + (3) + (16) + (1) = 14 S = (6) + (-1) + (-12) + (16) + (1) = 10

Porównywanie sekwencji algorytm Needleman-Wunsch A: IARCHKV B: IKCNIL Macierz w : BLOSUM50 gap penalty : -8 - I K C N I L - I A R C H K V 0-8 -16-24 -32-40 -48-8 -56 5-3 -11-19 -27-35 -43 i -16-3 4 0-8 -16-21 -29-24 -11-4 0 13 5-3 -11-32 -19-12 -5 5 14 6-2 -40-27 -20-13 -3 6 11 10-48 -35-28 -21-11 -2 3 12 H i, j = ma H H H i 1, j 1 i, j 1 i 1, j + + + w w w A A i i,,, B IARCHKV I-KCNIL score B i

Porównywanie sekwencji Porównywanie sekwencji A B Global alignement (dopasowywanie globalne) A B

Porównywanie sekwencji Porównywanie sekwencji Local alignement (dopasowywanie lokalne)

Porównania sekwencji - przykład global alignment scoring matri: BLOSUM50, gap penalties: -14/-4 13.8% identity; Global alignment score: -155 10 20 30 40 50 XYZ AAQ-TNAPWGLARISSTSPGTSTYYYDESAGQGSCVYVIDTGIEASHPEFEGRAQMVKTY....: :... :.:. :.:....:... ABC IVEGSDAEIGMSPWQVMLFRKSPQELLCGASLISDRWVLTAAHCLLYPPWD---KNFTEN 10 20 30 40 50 60 70 80 90 100 110 XYZ YYSSRDGNGHGTHCAGTVGSRTYGVVKKTQLFGVKVLDDNGSGQYSTIIAGMDFVASDKN : :. :.......:..:..... :: ABC DLLVRIGKHSRTRYERNI--EKISMLEKIYIHPRYNWRENLDRDIALMKLKKPVAFSDYI 60 70 80 90 100 110 120 130 140 150 160 170 XYZ NRNC-PKGVVASLSLGGGYSSSVNSAAARLQSSGVMVAVAAGNNNADARNYSPASEPSVC. : :.:. :.::.. :... :.... :. :... : : :: ABC HPVCLPDRETAASLLQAGYKGRV-TGWGNLKETWT-ANVGKGQPSVLQVVNLPIVERPVC 120 130 140 150 160 170 ------------------------------------------------------------------- 240 250 260 270 XYZ TLGKTTAASACRYIADTANKGDLSNIPFGTVNLL--AYNNYQA.:....: :.:.. :...... ABC QMGIVSWGEGC----DRDGKYGFYTHVFRLKKWIQKVIDQFGE 230 240 250

Porównania sekwencji - przykład local alignment 32.4% identity in 34 aa overlap; score: 35 E(10,000): 8.5e+03 100 110 120 XYZ DDNGSGQYSTIIAGMDFVA-SDKNNRNCPKGVVA :.. :..: :: : ::: :.:. ABC DEGKRGDACEGDSGGPFVMKSPFNNRWYQMGIVS 200 210 220 26.1% identity in 23 aa overlap; score: 33 E(10,000): 9.4e+03 50 60 XYZ PEFEGRAQMVKTYYYSSRDGNGH :. : :... :. : :. ABC PDRETAASLLQAGYKGRVTGWGN 130 140 22.6% identity in 31 aa overlap; score: 33 E(10,000): 9.4e+03 20 30 40 XYZ RISSTSPGTSTYYYDESAGQGSCVYVIDTGI :.... :... :: :. :.. : ABC RVTGWGNLKETWTANVGKGQPSVLQVVNLPI 140 150 160

Przeszukiwanie sekwencyjnych baz danych FASTA - homologiczne sekwencje zawierają wspólne "słowa", czyli krótkie (2,3,4 literowe) zakonserwowane fragmenty. Parametr "k-tuple" (3) definiuje długość słowa. BLAST - (Basic Local Alignment Search Tool) szuka słów o długości W (3), z oceną nałoŝenia przynajmniej T. Parametry W i T definiują szybkość i czułość

Istotność wyniku przeszukiwania (Prawdopodobieństwo strzelenia byka ) Wyniki poszukiwania sekwencji aminokwasów: BEZYBEZYBEZ w bazie sekwencyjnej Swiss-Prot przy pomocy serwisu BLAST 3,185,498 sequences; 1,044,150,180 total letters

Dopasowanie wielu sekwencji (multiple sequence alignement) 10 20 30 40 50 GFA1_C CGIFGYVNFLVDKSRGEIIDNLIEGLQRLEYRGYDSAGIAV---DGKLTKDPSNGDEEYM ::: :...... :.:::.:::::::::::.::.:..:. GLMS_E CGIVGAI------AQRDVAEILLEGLRRLEYRGYDSAGLAVVDAEGHMTR---------- 10 20 30 40 CGIFGYVNFLVDKSRGEIIDNLIEGLQRLEYRGYDSAGIAVDGKLTKDPSNGDEEYMDSI CGIVGAIAQR------DVAEILLEGLRRLEYRGYDSAGLAVVDAEG-----------HMT CGIVGYVGRD------LALPIVLGALERLEYRGYDSAGVALIE------------DGKLI CGIVGYVGFR------NATDVLLDGLRRLEYRGYDSAGIAVRT------------PEGLK CGLVGYVGQR------PACGVVMDALRRMEYRGYDSSGIALINGSAK--------SGNLT CGIVACILKD-----GSAAPVLLECVRRLEYRGYDSVGIATS-------------DPMIR CGIIGYIGP------RKASDVIVEGLKRLEYRGYDSAGIATCY------------EGKIF CGIIGLAFAEG----NSVAGALVRGLKRLEYRGYDSMGVAVIEP-----------PGRLV CGIVGMVGEN------LKLEDLVTSLQKLEYRGYDSAGIAYLG-------------DSFG CGIVGIVGHQ------PVSERLVEALEPLEYRGYDSAGVATMDAG------------TLQ CGIVGYIGDS------EKKSILLEGLKELEYRGYDSAGLAVLS------------ANRLE CGIVGVVGSK------NATDILMQGLEKLEYRGYDSAGIFVNGQ-----------ETAAK CGIFGYLGNQ------DGVSIVLEGLAKLEYRGYDSAGLAAVV------------EQELF CGIIGYVGEG------SCRDVLINGLDKLSYRGYDSAGIAFIK------------NSKIN **:.. :: : :.****** *:

Dopasowanie wielu sekwencji (multiple sequence alignement) Porównanie wielu sekwencji (ang. Multiple sequence alignment), szczególnie sekwencji o nikłym podobieństwie, pozwala precyzyjniej zidentyfikować naprawdę istotne aminokwasy dla danej rodziny białek MSA najczęściej jest niezbędnym etapem przed dalszą próbą przewidywania drugo- i trzeciorzędowej struktury białka