T - SGGW

Transkrypt

T - SGGW
Dopasowanie sekwencji
Sequence alignment
Bioinformatyka, wykłady 3 i 4 (19, 26.X.2010)
[email protected]
terminologia
z alignment
z dopasowanie sekwencji
z uliniowienie sekwencji
– uliniowianie sekwencji
– uliniawianie
– uliniowanie
z elajment
33000
119
82
125
6
3
2
Uliniowianie
Z Wikipedii
z
W bioinformatyce, uliniawianie sekwencji to
sposób porównywania sekwencji
pierwszorzędowej DNA, RNA bądź białek w celu
identyfikacji regionów podobnych, które mogą
być wynikiem funkcjonalnych, strukturalnych
bądź ewolucyjnych związków pomiędzy
sekwencjami. Uliniowione sekwencje rezyduów
nukleotydów bądź aminokwasów zwykle są
przedstawiane jako wiersze macierzy Pomiędzy
znaki wstawiane są przerwy w taki sposób, aby
zapewnić jak największą zgodność
porównywanych sekwencji. ...
dopasowanie (alignment)
Ułożenie dwóch sekwencji biopolimerów (DNA, RNA lub białka) w celu
zidentyfikowania regionów podobieństwa istotnego ze względów ewolucyjnych,
strukturalnych lub funkcjonalnych (procedura oraz jej efekt).
dwie sekwencje - pairwise alignment
wiele sekwencji - multiple sequence alignment
gap
AGATTGATACCCA
AGA--TTGATACCCA
AGACATTAACTA
AGACATTAA---CTA
match
mismatch
Edgar Allan Poe, The Raven
Dopasowanie sekwencji - znaczenie
Podobieństwo porównywanych sekwencji (similarity) może świadczyć o:
podobnej funkcji sekwencji
podobnej strukturze białek
wspólnej historii ewolucyjnej sekwencji
Podobieństwo porównywanych sekwencji (similarity) może wynikać z:
homologii - pochodzeniu sekwencji (homologicznych) od wspólnego przodka;
sekwencje mogą, ale nie muszą pełnić te same funkcje
konwergencji - podobne motywy, które wyewoluowały w obu sekwencjach
(analogicznych) niezależnie; np. chymotrypsyna i subtylizyna - różna struktura
3D, ale podobne centrum aktywne (histydyna, seryna, kwas asparaginowy)
{... Problem rozróżnienia odległej homologii a analogii }
regiony zachowane = znaczenie funkcjonalne
sekwencje trypsyny Mus musculus i Astacus astacus
S-S
*
Mouse
IVGGYNCEENSVPYQVSLNS-----GYHFCGGSLINEQWVVSAGHCYK-------SRIQV
Crayfish IVGGTDAVLGEFPYQLSFQETFLGFSFHFCGASIYNENYAITAGHCVYGDDYENPSGLQI
*
Mouse
RLGEHNIEVLEGNEQFINAAKIIRHPQYDRKTLNNDIMLIKLSSRAVINARVSTISLPTA
Crayfish VAGELDMSVNEGSEQTITVSKIILHENFDYDLLDNDISLLKLSGSLTFNNNVAPIALPAQ
S-S
Mouse
PPATGTKCLISGWGNTASSGADYPDELQCLDAPVLSQAKCEASYPG-KITSNMFCVGFLE
Crayfish GHTATGNVIVTGWG-TTSEGGNTPDVLQKVTVPLVSDAECRDDYGADEIFDSMICAGVPE
S-S
*
Mouse
GGKDSCQGDSGGPVVCNG----QLQGVVSWGDGCAQKNKPGVYTKVYNYVKWIKNTIAAN
Crayfish GGKDSCQGDSGGPLAASDTGSTYLAGIVSWGYGCARPGYPGVYTEVSYHVDWIKANAV--
Sequence identity?
CLCA1_HUMAN vs 1kapp Metalloprotease [Pseudomonas
aeruginosa]
Z-score -6.8
6% sequence identity
CLCA1_HUMAN
1kapp
PNVPEDETLIQQIKDMVTQASLYLFEATGKRFYFKNVAIL
YSFLTKPNDFFNTPWKYVSDIYSLGKFSAFSAQQQAQAKL
CLCA1_HUMAN
1kapp
IPETWKTKADYVRPKLETYKNADVLVAESTPPGNDEPYTE
SLQSWSDVTNIHFVDAGQGDQGDLTFGNFSSSVGGAAFAF
CLCA1_HUMAN
1kapp
QMGNCGEKGERIHLTPDFIAGKKLAEYGPQGRAFVHEWAH
LPDVPDALKGQSWYLINSSYSANVNP-----QTLTHEIGH
CLCA1_HUMAN
1kapp
LRWGVFDEYNNDE
T--GLSHPGDYNA
różnice między sekwencjami świadczą o mutacjach, które zaszły po
rozdzieleniu się sekwencji od wspólnego przodka
AGA--TTGATACCCA
AGACATTAA---CTA
AGA--TTGATACCCA
delecja
insercja
AGACATTAA---CTA
-CA
+TAC
G->A
C->T
TAC
AGACATTGACCA
substytucje
dopasowanie - zastosowanie
Porównywanie sekwencji jest bardzo pomocne w:
poszukiwaniu oraz określaniu funkcji i struktury (białek)
dla nowych sekwencji
określaniu powiązań filogenetycznych między sekwencjami
- homologii między sekwencjami oraz w analizach
ewolucyjnych
dopasowanie - metody
dopasowanie par sekwencji:
Macierz punktów - dot matrix, dotplot
Programowanie dynamiczne (DP)
Metody słów (k - tuple methods) - szybkie metody stosowane
przy przeszukiwaniu baz danych sekwencji z wykorzystaniem
programów FASTA i BLAST
dopasowanie wielu sekwencji
Dot matrix
M
T
S
I
E
Q
W
T
R
Q
V
M
•
T
S
I
E
L
Q
W
•
T
R
E
V
A
W
•
•
•
•
•
•
•
•
•
•
•
•
•
MTSIELQWTREVAW
MTSIE-QWTRQV--
Dot matrix – porównanie sekwencji samej z sobą
Dot matrix – porównanie dwóch podobnych sekwencji
Dot matrix - metody wstawiania punktów
Dla identycznych zasad lub reszt aminokwasowych (symboli)
W oparciu o macierz punktacji (PAM, BLOSUM), gdy symbole wykazują
podobieństwo większe niż pewna wartość punktacji (score)
Nadawanie różnych kolorów lub odcieni szarości w zależności od stopnia
podobieństwa symboli
Gdy liczba podobnych symboli w danym oknie przekracza pewną wartość
Dot matrix - metody wstawiania punktów
ACTGCTAGATCGTAGCTGATAATGACCG
ACAGCAACATCTGAACTGGCAGCGACGG
5/7
4/7
4/712/20
12/20
11/20
rodzaj sekwencji
liczba
wielkość
identycznych
okna
symboli
sekwencje DNA
15
10
sekwencje białek
2-3
2
sekwencje odległe
15
5
Dot matrix - zastosowanie
identyfikacja regionów podobnych lub identycznych
porównywanie sekwencji o strukturze wielodomenowej
rozpoznawanie dużych insercji i delecji
rozpoznawanie regionów powtórzonych i duplikacji
rozpoznawanie rearanżacji
rozpoznawanie regionów o słabo zróżnicowanym składzie
analiza sekwencji i struktury RNA
Dot matrix – insercja lub delecja
ATGCTAGACATCGGATATTCGACA
A
T
G
C
T
A
G
A
A
T
A
T
T
C
G
A
C
A
ATGCTAGACATCGGATATTCGACA
ATGCTAGA------ATATTCGACA
Dot matrix – duplikacja tandemowa
ATGCTGTATAAAGCATATTC
A
T
G
C
T
G
T
A
T
A
A
A
G
T
A
T
A
A
A
G
C
A
T
A
T
T
C
Dot matrix – duplikacja tandemowa w tej samej sekwencji
ATGTGTATAAGTATAAAGCATAT
A
T
G
T
G
T
A
T
A
A
G
T
A
T
A
A
A
G
C
A
T
A
T
Dot matrix – inwersja
ATGCTAGACATCGGATATTCGACA
A
T
G
C
T
A
G
A
C
A
A
T
A
G
G
C
T
T
T
C
G
A
C
A
Dot matrix – przyłączenie regionu
ATGCTAGACATCGGATATTCGAC
T
G
C
G
A
T
A
G
T
C
G
G
A
A
A
T
G
C
A
T
G
C
T
A
G
Dot matrix – region o licznych powtórzeniach
Dot matrix - zastosowanie
czynnik
krzepnięcia XII
(F12)
F2 E F1 E
tkankowy aktywator
plazminogenu
(PLAT)
F1 E
K
K
K
Catalytic
Catalytic
F1 F2 powtórzenia fibronektynowe
E domena podobna do EGF
K
Catalytic
domena “kringle”
aktywność katalityczna proteaz serynowych
Dot matrix - zastosowanie
czynnik krzepnięcia XII (F12)
F
1
E
tkankowy aktywator plazminogenu (PLAT)
K
K
Catalytic
F2 E F1 E
K
Catalytic
Programowanie dynamiczne
Porównuje każdą parę znaków dwóch sekwencji i tworzy dopasowanie
Uwzględnia wszystkie możliwe przyrównania uwzględniając:
dopasowania (matches),
niedopasowania (mismatches),
przerwy (gaps).
Przerwy są wstawiane, aby uzyskać wzrost liczby dopasowań w innych miejscach.
Przyjmuje pewien system punktacji (scoring system)
Rozpatruje wszystkie możliwości
Stara się uzyskać maksymalną liczbę dopasowań między identycznymi lub
podobnymi znakami
Znajduje optymalne
takie dopasowanie)
dopasowanie
(może
istnieć
Czas obliczeń proporcjonalny do iloczynu długości sekwencji
więcej
niż
jedno
Programowanie dynamiczne
Przyjęty system punktacji:
dopasowanie (match): +1
niedopasowanie (mismatch): -1
przerwa (gap): -1
gap
AGA--TTGATACCCA
AGACATTAA---CTA
match
mismatch
Programowanie dynamiczne
Już utworzone dopasowanie, do którego jest dodawana kolejna para znaków,
musi być optymalne.
Programowanie dynamiczne uwzględnia każdą
i z powrotem przelicza optymalne dopasowanie.
sekwencja 1:
sekwencja 2:
dodawaną
parę
znaków
G A T A C T A
G A T T A C C A
Dotychczasowe dopasowanie musi być optymalne!
G A T A
| | |
G A T T
C
+
A
+1 +1 +1 –1 = +2
- - G A T A C
=
G A T A C
| | |
G A T T A
+1 +1 +1 –1 –1 = +1
G A T T A - -
- G A T A C
| |
G A T T A -
G A T - A C
| | |
|
G A T T A -
–1 –1 –1 –1 –1 –1 –1 = –7
–1 –1 –1 +1 +1 –1 = –2
+1 +1 +1 –1 +1 –1 = +2
Programowanie dynamiczne
Tworzenie macierzy punktacji, w której każda komórka reprezentuje punktację dla
najlepszego dopasowania kończącego się w danej pozycji
Cofanie się w macierzy, aby znaleźć optymalne dopasowanie
sekwencja 1:
sekwencja 2:
G A T A C T A
G A T T A C C A
Przyjęty system punktacji:
dopasowanie (match): +1
niedopasowanie (mismatch): -1
przerwa (gap): -1
Programowanie dynamiczne – dopasowanie jako ścieżka w macierzy
G A T A C T A
Znaki sekwencji
ułożone wzdłuż
dwu-wymiarowej
siatki
Węzły siatki
znajdują się
między znakami
G
A
T
T
A
C
C
A
Programowanie dynamiczne – dopasowanie jako ścieżka w macierzy
G A T A C T A
Celem jest
znalezienie
optymalnej ścieżki
G
A
T
T
A
C
C
A
stąd
dotąd
Programowanie dynamiczne – dopasowanie jako ścieżka w macierzy
G A T A C T A
Każda ścieżka
odpowiada
poszczególnemu
dopasowaniu
Które
dopasowanie
jest optymalne?
G
A
T
T
A
C
C
A
Programowanie dynamiczne – dopasowanie jako ścieżka w macierzy
G A T A C T A
punktacja dla
ścieżki jest sumą
przyrastających
punktacji
krawędzi.
G
A
T
T
A
C
C
A
A porównane z A
match = +1
Programowanie dynamiczne – dopasowanie jako ścieżka w macierzy
G A T A C T A
punktacja dla
ścieżki jest sumą
przyrastających
punktacji
krawędzi.
G
A
T
T
A
C
C
A
A porównane z T
mismatch = -1
Programowanie dynamiczne – dopasowanie jako ścieżka w macierzy
G A T A C T A
punktacja dla
ścieżki jest sumą
przyrastających
punktacji
krawędzi.
G
A
T
T
A
C
C
A
T
porównane z przerwą
gap = -1
przerwa porównana z T
Programowanie dynamiczne – dopasowanie jako ścieżka w macierzy
Znaczenie punktu w
macierzy:
wszystkie znaki do
tego miejsca są ze
sobą porównane,
czego można dokonać
na wiele sposobów
(ścieżek).
Pozycja “x” oznacza:
przyrównanie GA z
GA
G A T A C T A
G
A
T
T
A
C
C
A
x
--GA -GA
GA-- G-A
GA
GA
Programowanie dynamiczne – dopasowanie jako ścieżka w macierzy
Rozszerzanie się
ścieżki i
przyrastanie
punktacji.
0
G
A
T
T
A
C
C
A
-1
G A T A C T A
-1
+1
0
G
0 -1= -1
0
+1
0 -1
=
+1
= -1
-1
A
T
G
-1
+1
A
T
0
G
0 -1= -1
0
+1
0 -1
=
+1
= -1
-1
A
T
G
-1
A
-1 -1= -2
-1
-1
-1 -1
=
-2
= -2
+1
-2
-2
-2
T
0
G
0 -1= -1
0
+1
0 -1
=
+1
= -1
-1
A
T
G
-1
A
-1 -1= -2
-1
-1
=
-2
-2
+1
-2
0
0
+2
+1 -1= 0
+1
+1-1 +1=
+2
=0
T
0
G
A
T
G
0 -1= -1
0
+1
0 -1
=
+1
= -1
-1
A
-1 -1= -2
-2
-1
+1
-2
-2
0
-2
-2
0
+2
-1 --1= 0
1
-1
=
-1-1
-2
= -2
+1 -1= 0
+1
+1-1 +1=
+2
=0
T
Programowanie dynamiczne – dopasowanie jako ścieżka w macierzy
Rozszerzanie się
ścieżki i
przyrastanie
punktacji.
0
G
A
T
T
A
C
C
A
-1
G A T A C T A
-1
+1
Programowanie dynamiczne – dopasowanie jako ścieżka w macierzy
Rozszerzanie się
ścieżki i
przyrastanie
punktacji.
Wybierana jest
najlepsza ścieżka
prowadząca do
każdego punktu
na siatce.
0
G
A
T
T
A
C
C
A
-1
G A T A C T A
-1
-2
+1
-2
Programowanie dynamiczne – dopasowanie jako ścieżka w macierzy
Rozszerzanie się
ścieżki i
przyrastanie
punktacji.
Wybierana jest
najlepsza ścieżka
prowadząca do
każdego punktu
na siatce.
0
G
A
T
T
A
C
C
A
-1
G A T A C T A
-1
-2
+1
-2
0
0
+2
Programowanie dynamiczne – dopasowanie jako ścieżka w macierzy
Rozszerzanie się
ścieżki i
przyrastanie
punktacji.
Wybierana jest
najlepsza ścieżka
prowadząca do
każdego punktu
na siatce.
0
G
A
T
T
A
C
C
A
G A T A C T A
-1
-2
-1
+1
-2
0
-2
0
+2
Programowanie dynamiczne – dopasowanie jako ścieżka w macierzy
Rozszerzanie się
ścieżki i
przyrastanie
punktacji.
Wybierana jest
najlepsza ścieżka
prowadząca do
każdego punktu
na siatce.
0
G
A
T
T
A
C
C
A
G A T A C T A
-1
-2
-3
-1
+1
-2
0
-1
-2
0
+2
+1
-3
-1
+1
+3
Programowanie dynamiczne – dopasowanie jako ścieżka w macierzy
Rozszerzanie się
ścieżki i
przyrastanie
punktacji.
Wybierana jest
najlepsza ścieżka
prowadząca do
każdego punktu
na siatce.
0
G
A
T
T
A
C
C
A
G A T A C T A
-1
-2
-3
-4
-5
-1
+1
0
-1
-2
-3
-2
0
+2
+1
0
-1
-3
-1
+1
+3
+2
+1
-4
-2
0
+2
+2
+1
-5
-3
-1
+1
+3
+2
Programowanie dynamiczne – dopasowanie jako ścieżka w macierzy
Rozszerzanie się
ścieżki i
przyrastanie
punktacji.
Wybierana jest
najlepsza ścieżka
prowadząca do
każdego punktu
na siatce.
0
G
A
T
T
A
C
C
A
G A T A C T A
-1
-2
-3
-4
-5
-6
-7
-1
+1
0
-1
-2
-3
-4
-5
-2
0
+2
+1
0
-1
-2
-3
-3
-1
+1
+3
+2
+1
0
-1
-4
-2
0
+2
+2
+1
+2
+1
-5
-3
-1
+1
+3
+2
+1
+3
-6
-4
-2
0
+2
+4
+3
+2
-7
-5
-3
-1
+1
+3
+3
+2
-8
-6
-4
-2
0
+2
+2
+4
Programowanie dynamiczne – dopasowanie jako ścieżka w macierzy
Cofanie się do
tyłu i wybór
optymalnej
ścieżki i
dopasowania.
0
G
A
T
T
A
C
C
A
G A T A C T A
-1
-2
-3
-4
-5
-6
-7
-1
+1
0
-1
-2
-3
-4
-5
-2
0
+2
+1
0
-1
-2
-3
-3
-1
+1
+3
+2
+1
0
-1
-4
-2
0
+2
+2
+1
+2
+1
-5
-3
-1
+1
+3
+2
+1
+3
-6
-4
-2
0
+2
+4
+3
+2
-7
-5
-3
-1
+1
+3
+3
+2
-8
-6
-4
-2
0
+2
+2
+4
Programowanie dynamiczne – dopasowanie jako ścieżka w macierzy
G A T A C T A
Uzyskane
dopasowanie
G A - T A CT A
G A T T A CC A
G
A
T
T
A
C
C
A
dopasowanie globalne i lokalne
dopasowanie globalne (Needleman & Wunsch, 1970) – przyrównuje sekwencje na
całej długości; wykorzystuje tak dużo znaków, jak to jest tylko możliwe.
dopasowanie lokalne (Smith & Waterman, 1981) – przyrównuje fragmenty sekwencji,
które wykazują największe podobieństwo; poszukuje najlepiej pasujących regionów;
znajduje regiony konserwowane. Gdy obliczana wartość punktacji w macierzy jest
mniejsza od zera, to wartość ta jest ustawiana na zero, a dopasowanie ulega
zakończeniu do tego miejsca i rozpoczynany jest nowe` dopasowanie od nowego
miejsca
Optimalne
dopasowanie
globalne
Optymal ne
dopasowanie
lolalne
LGPSSKQTGKGS-SRIWDN
|
| |||
| |
LN-ITKSAGKGAIMRLGDA
sekwencje o podobnej
długości, blisko
spokrewnione
-------TGKG-------|||
-------AGKG--------
sekwencje o różnych
długościach, posiadające
regiony
i domeny zachowane,
podobne tylko
w niektórych obszarach
System punktacji
Prosty system punktacji:
match:
+1 +1
mismatch:
gap:
-1
-1
0
-1
Zaawansowany system punktacji (nadawanie różnych wag dla
niedopasowań i przerw w zależnosci od ich długości):
Macierze podstawień aminokwasów (PAM, BLOSUM)
Macierze podstawień nukleotydów
System punktacji dla przerw: gap penalties, affine gap penalty
Typowe systemy punktacji
z sekwencje DNA
•
•
•
•
Match = +1
Mismatch = -3
Gap penalty = -5
Gap extension penalty = -2
z sekwencje białkowe
• Macierz Blossum62
• Gap open penalty = -11
• Gap extension = -1
Istotność dopasowania
Czy punktacja dopasowanie jest znacząco większa od punktacji
oczekiwanej dla dopasowania losowych sekwencji o tej samej
długości i składzie?
Tworzenie metodą Monte Carlo losowych(-ej) sekwencji (o tej samej
długości i składzie co rzeczywiste).
Przyrównanie losowych(-ej) sekwencji (powtórzenie 100-1000 razy) przy
tych samych parametrach.
Określenie rozkładu punktacji, średniej i odchylenie standardowego (SD).
Wyliczenie Z-score: Z = (scoreobs – scoreran)/SDran
3>Z
3<Z<6
Z>6
– brak homologii
– istnieje homologia
– silna homologia
Rozkład „score-ów” nie jest normalny i dlatego nie można przekształcić
Z-score na prawdopodobieństwo.
Istotność dopasowania
Dla dopasowań lokalnych rozkład maksymalnych scorów dopasowania
dla sekwencji losowych przyjmuje rozkład wartości ekstremalnych
(extreme values distribution)(Karlin i Altschul 1990).
Log
p(S>=S’)
S’
Wykres zależności logarytmu ułamka dopasowań z punktacją S równą lub większą od wartości punktacji S’
Określenie E-value – Oczekiwana liczba przypadkowych dopasowań
z punktacją większą niż obserwowana
E=Kmn⋅e−λS
Oczekiwana (wg rozkładu prawdopodobieństwa)
liczba dopasowań z punktacją równą
przynajmniej S
Bit score- znormalizowana punktacja uwzględniająca
warunki jego naliczania i przyjęte systemy punktacji
(parametry lambda i K)
λS −ln K
S'=
ln2
E=mn 2
−S'
Prawdopodobieństwo
znalezienia przynajmniej 1
dopasowania o punktacji >=S
−E
p=1−e
Jeżeli spodziewamy się znaleźć przynajmniej 3
dopasowania o punktacji >= S, to
prawdopodobieństwo tego że znajdziemy co
najmniej jedno wynosi 0,95. Programy z grupy
BLAST posługują się wartością E zamiast
bezpośrednim prawdopodobieństwem ze względu
na łatwiejsze rozróżnienie
Istotność dopasowania
alignment significance
Łatwiej oszacować istotność
statystyczną
Trudniej ocenić istotność biologiczną