90 likes | 190 Views
Odvození zarovnání více řetězců z párového zarovnání, SP-skóre. Ondřej Kazík 2008. Zarovnání více řetězců. Nalézt konsensuální řetězec x: AC-GCGG-C y: AC-GC-GAG z: GCCGC-GAG Možnost 1: zpětný běh vícerozměrného algoritmu dyn. programování
E N D
Odvození zarovnání více řetězců z párového zarovnání, SP-skóre Ondřej Kazík2008
Zarovnání více řetězců • Nalézt konsensuální řetězec x: AC-GCGG-C y: AC-GC-GAG z: GCCGC-GAG • Možnost 1: zpětný běh vícerozměrného algoritmu dyn. programování • Složitost O(2knk) porovnání k bází o délce n • Lze odvodit vícerozměrné zarovnání z párového?
Profil • Reprezentace konsesuálního řetězce • Na každé pozici četnost báze/vynechání - 0 0 2 0 0 2 0 1 0 A 2 0 0 0 0 0 0 2 0 C 0 3 1 0 3 0 0 0 1 G 1 0 0 3 0 1 3 0 2 T 0 0 0 0 0 0 0 0 0 • Každá sekvence je převoditelná na profil • Jak porovnávat dvojici profilů? • Jak sloučit dva profily?
Globální zarovnání profilů • Obdoba algoritmu globálního zarovnání (např. s afinními pokutami za mezery) • Změna ve výpočtu δ(vi, wj)profilů – součet všech δ(a,b) kde a je z vi a b je z wj • Například δ({’-’,3x’A’},{‘-’,’A’,’C’})=δ(-,-)+4δ(-,A)+δ(-,C)+3δ(A,A)+3δ(A,C) • Při insertu k pozic do prvního profilu přičítáme: –4(ρ+kσ) • Do druhého: –3(ρ+kσ)
Vytvoření společného profilu • Zpětný chod nejlepší cesty grafem • Pro každý uzel: • Pro match/replace: sloučit profily (sečíst odpovídající četnosti) • Pro insert/replace: sloučit profil s odpovídajícím počtem mezer Union({’-’,3x’A’},{‘-’,’A’,’C’})=[‘-’,4x’A’,’C’]
Algoritmus zarovnání: hladový přístup • Odvození zarovnání mnoha řetězců z párového není možné jednoznačně • Heuristiky • Hladový algoritmus: • Převést sekvence na profily • Spočítat skóre pro vš. profilypi, pj, i<j • Vymazat profily s největším skórem a přidat společný profil • Opakovat 2 – 3 dokud není jen jeden profil
SP-Skóre • Předpokládáme aditivní skóre • SP (součet párů) na zarovnání více řetězců: součet všech skóre na indukovaných párových zarovnání s(a1,…,ak) = Σi,j s*(ai, aj) • Alternativa: součet SP-skóre přes všechny sloupce zarovnání – na každé pozici sčítám d přes všechny dvojice G 1 Score = 1 – 2m -m C G -m Column 3
SP-skóre profilu • Skóre je odvoditelné přímo z profilu • Posloupnosti: S1: ATG S2: ATG S3: A__ S4: _T_ • Profil: [{3x’A’,’-’},{3x’T’,’-’},{2x’G’,2x’-’}] • Skóre: SP-score=SP-score(A,A,A,-)+SP-score(T,T,T,-)+ SP-score(G,G,-,-)=-3-3-4=-13