IV107 Bioinformatika Přednáška 10 Katedra informačních technologií Masarykova Univerzita Brno Jaro 2009 □ rS1 IV107 Bioinformatika I -Přednáška 10 Řetězce a algoritmy na řetězcích Základní pojmy Základní algoritmy Algoritmus využívající analýzu hledaného motivu Algoritmus vvufívaiíoí nalýzu prohledávaná Hledání opakováni Tandemové opakování Palindromy Srovnávání dvou sekvencí Vylepšení pro maximálně k chyb Příště :|= -O^O Předchozí týden ► Systémová biologie zkoumá ► život na více úrovních ► vztahy mezi součásti živého systému ► matematické modely biologických procesů IV107Bioinformatikal -Přednáška 10 Řetězce a algoritmy na řetězcích )jmy Základní algoritmy Algoritmus využívající analýzu hledaného motivu Algoritmus vvufívaiíoí nalýzu prohledávar-- Hledání opakování Tandemové opakování Palindromy Srovnávání dvou sekvencí T)(\(y Základní pojmy abeceda {e,a,c,g,t} podřetězec aaggtacgcgt prefix gtacgcgtgtt suffix cgtatgtacg IV107Bioinformatikal -Prednáška 10 Řetězce a algoritmy na řetězcích Základní pojmy Základní algoritmy Algoritmus využívající analýzu hledaného motivu Algoritmus vvufívaiíoí nalýzu prohledávaná Hledání opakování Tandemové opakování Palindromy Srovnávání dvou sekvencí t g t c a Složitost: O(mn) IV107Bioinformatikal -Prednáška 10 Řetězce a algoritmy na řetězcích )jmy Základní algoritmy 'ající analýzu Algoritrr,„ 'aiíoí nalýzu prohledávaná Hledání opakování Tandemové opakování Palindromy Srovnávání dvou sekvencí g a t c a t xíí- IV107Bioinformatikal -Prednáška 10 Řetězce a algoritmy na řetězcích Základní pojmy Základní algoritmy /ající í máme v motivu další t ? actgtgtatgaaatcgc +l^gatcat Hledání opakováni Tandemové opakovaní Palindromv Srovnávání dvou sekvencí Vylepšeni pro maximálně kchyO Příště kde máme v motivu další výskyt suffixu at? a c t g t g t a t gaaatcgc +3 ^ g a t cat Realizujeme krok, který je větší Složitost konstrukce: 0(||abeceda||.m) hledání: O(mn) (v praxi ale blíže k O(n)) r3" t\= -00,0 Automat pro hledání řetězce aba IV107Bioinformatikal -Přednáška 10 Řetězce a algoritmy na řetězcích Hledání opakováni Tandemové opakování Palindromy Srovnávání dvou sekvencí Vylepšení pro maximálně k chyb Příště Automat vytvořen z motivu p postupně čte symboly z řetězce m. Koncový stav automatu dosáhneme po načtení celého hledaného motivu. □ rS1 M= -O^O IV107 Bioinformatika I - Přednáška 10 t=bababaa p=aba e 0 b 0 ba 1 bab 2 baba 3 babab 2 bababa 3 bababaa 1 Řetězce a algoritmy na řetězcích prohledá' ai - Hledáni opakováni Tandemové opakování Palindromy Srovnávání dvou sekvencí Vylepšení pro maximálně k chyb Příště Složitost konstrukce: naivní 0(/??3); optimální 0(\\abeceda\\.m) hledání: O(n) □ rS1 :|= -O^O Suffixový strom pro řetězec dabdac IV107Bioinformatikal -Přednáška 10 Řetězce a algoritmy na řetězcích Základní pojmy Základní algoritmy prohledávaného řetězce Hledání opakování Tandemové opakování Palindromy Srovnávání dvou sekvencí Vylepšení pro maximálne k chyb Příště □ o :|= -O^O Konstrukce: O(n.logn) Hledání: 0(m.||aJbecec/a||+k) IV107Bioinformatikal -Přednáška 10 Kompaktní suffixový strom pro řetězec aaabbbc Řetězce a algoritmy na řetězcích Základní pojmy Základní algoritmy Hledání opakování Tandemové opakování Palindromy Srovnávání dvou sekvencí Vylepšení pro maximálně k chyb Příště (b) □ rS1 - M= -O^O Sufixove pole - ukazovatele na polohy suffixů seřazené lexikograficky Dlouho bylo považováno za méně kvalitní datovou strukturu, protože neobsahuje přímo informace o společných prefixech. Ty lze vsak spočítat do lep pole (least common prefix) tak, že konstrukce pole i stromu má stejnou složitost. t = dabdac sa(t) = 6,1,4,2,5,0,3 rank(t) = 5,1,3,6,2,4,0 lcp(t) = 0,0,1,0,0,0,2 IV107Bioinformatikal -Přednáška 10 Řetězce a algoritmy na řetězcích )jrny Základní algoritmy prohledávaného řetězce Hledání opakování Tandemové opakování Palindromy Srovnávání dvou sekvencí Vylepšení pro maximálne k chyb Příště 6 0 1 0 abdac 4 1 ac 2 0 bdac 5 0c 0 0 dabdac 3 2 dac □ g n|= -00,0 Outline Řetězce a algoritmy na řetězcích Základní pojmy Základní algoritmy Algoritmus využívající analýzu hledaného motivu Algoritmus využívající nalýzu prohledávaného řetězce Hledání opakování Tandemové opakování Palindromy IV107Bioinformatikal -Přednáška 10 Řetězce a algoritmy na řetězcích ojmy Základní algoritmy Algoritmus využívající analýzu hledaného motivu Algoritmus vvuzívaiíoí nalýzu prohledávaná Hledání opakování Tandemové opakování Palindromy Srovnávání dvou sekvencí Vylepšení pro maximálně k chyb Příště Srovnávání dvou sekvencí DP - Needleman-Wunsch Vylepšení pro maximálně k chyb video HHMI □ rS1 M= -O^O IV107 Bioinformatika I - Přednáška 10 Tandemová a palindromická opakování nesou biologický i praktický význam palindrom možná sekundární struktura DNA nebo RNA tandem regulace genů, telomery, identifikace jedinců z DNA Řetězce a algoritmy na řetězcích Základní pojmy Základní algoritmy Algoritmus v hledaného motivu Algoritmus vuufívaiíoí nalýzu Tandemové opakování Srovnávání dvou sekvencí Vylepšení pro maximálně k chyb Příště □ rS1 :l= -O^O Nejdelší společný prefix dvou pozic t g c a g a a g c a g a tcctgacg T T Složitost naivního algoritmu 0(n3) IV107Bioinformatikal -Přednáška 10 Řetězce a algoritmy na řetězcích )jrny Základní algoritmy Tandemové opakování Srovnávání dvou sekvencí Vylepšení pro maximálně k chyb Příště □ g - _= = ^<\(y Posuzování tandemových opakování pomocí suffixovych stromů, příp. polí (t=dabdac) IV107Bioinformatikal -Přednáška 10 Řetězce a algoritmy na řetězcích )jrny Základní algoritmy Tandemové opakování Srovnávání dvou sekvencí Vylepšení pro maximálně k chyb Příště lcp(1,4)=? Nalezneme větve označené 1 a 4 lcp(1,4)=da □ g - _= = ^<\(y Hledání tandemových opakování ► konstrukce stromu: O(n./ogn) ► hledání lep pro dvě konkrétní pozice O(n./ogn) ► Prohledávání sekvence Složitost: O(n.(/ogw)2+p) IV107Bioinformatikal -Přednáška 10 Řetězce a algoritmy na řetězcích )jmy Základní algoritmy Algoritmus využívající analýzu hledaného motivu Algoritmus vvufívaiíoí nalýzu prohledávar-- Tandemové opakování Srovnávání dvou sekvencí