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í nalyzu prohledavaněho řetězce Hledaní opakovaní Tandemove opakovaní Palindromy Srovnavaní dvou sekvencí Vylepšení pro maxim alne k chyb príste video HHMI Katedra informačních technologií Masarykova Univerzita Brno Algoritmus využívající analýzu hledaného motivu Jaro 2010 Outline IV107 Bioinformatika I -Prednaš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 využívající nalyzu prohledávaného řetězce Tandemove opakovaní Palindromy Retezce a algoritmy na retezcích Zakladní pojmy Zakladní algoritmy Algoritmus vyuzfivajíci nalyzu prohledavaneho řetezce Hledaní opakovaní Tandemove opakovaní Palindromy Srovnavaní dvou sekvencí Vylepření pro maxim alne k chyb pnste video HHMI Algoritmuš vyuzívaaící analyzu hledaneho motivu DP - Needleman-Wunsch Vylepsření pro maximaí lneř k chyb video HHMI Podrobné informace 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í nalyzu prohledávaného řetězce Hledaní opakovaní Tandemové opakovaní Palindromy Srovnavaní dvou sekvencí Vylepšení pro maxim alne k chyb Príšte video HHMI Algoritmus využívající analýzu hledaného motivu mm Hans-Joachim Bocbenhauer ■ Oirk Bongarti Algorithmic Aspects of Bioinformatics Základní pojmy IV107 Bioinformatika I -Prednáška 10 Řetězce a algoritmy na retezcích Zakladní pojmy Zakladní algoritmy abeceda podšetezec prefix suffix {e ,a,c,g,t| aaggtacgcgt gtacgcgtgtt cgtatgtacg Algoritmus využívající nalyzu prohledavaneho retezce Hledaní opakovaní Tandemové opakovaní Palindromy Srovnavaní dvou sekvencí Vylepšení pro maxim alne k chyb príste video HHMI □ S1 ~ - fc|* -00,0 Algoritmus vyuzivaaici analyzu hledaneho motivu Základní operace IV107 Bioinformatiká I -Prednáška 10 Retezce a algoritmy na retezcích Zakladní pojmy Zakladní algoritmy konkatenace x=cggat y=att x.y=cggatatt průnik x=cggat y=att Over(x,y)=at sjednocení x=cggat y=att (x,y)=cggatt Algoritmus využívající nalyzů prohledavaneho retezce Hledaní opakovaní Tandemové opakovaní Palindromy Srovnavaní dvoů šekvencí Vylepšení pro maximalne k chyb príšte video HHMI □ S1 ~ - £1= -00,0 Algoritmus vyuzivaaici analyzů hledaneho motivů Výskyt sekvenčních motivů v databázích IV107 Bioinformatika I -PřednáSka 10 Retezce a algoritmy na řetězcích Zakladní pojmy Zakladní algoritmy Cílem je zjistit vSechny pozice delSího řetezce, na kterých se vyskytuje kratSí řetezec ► presný vyskyt ► priblizzny/ vyskyt Algoritmus vyLeívající nalyzů prohledavaneho retezce Hledaní opakovaní Tandemové opakovaní Palindromy Srovnavaní dvoů sekvencí Vylepření pro maximalne k chyb priste video HHMI Algoritmus vyůzivaaici analyzů hledaneho motivů řetezec t dloůhy (n), naprgenomova sekvence motiv p kratky (m), napr cgcggctggtggctcg Naivní algoritmus IV107 Bioinformatika I -PrednaSka 10 Řetězce a algoritmy na retezcích Základní pojmy Základní algoritmy actgtgtatgaaatcgc i..n —> t g t c a 1..m ^ Algoritmus vyuiiívající nalyzu prohledavaneho retezce Hledaní opakovaní Tandemové opakovaní Palindromy Srovnavaní dvou sekvencí Vylepšení pro maxim alne k chyb príste video HHMI Slozitost: O(mn) Boyer-Moore a c t g t g t a_t gaaatcgc — g a t c a t x f f ^ mame v motivu další t ? actgtgtatgaaatcgc +1 — ga t cat kde máme v motivu další vyškyt šuffixu at ? a c t g t g t a t gaaatcgc +3 — g at cat Realizujeme krok, ktery je vetší Složitost konstrukce: O(\\abeceda||.m) hledaní: O(mn) (v praxi ale blíže k O(n)) IV107 Bioinformatika I -Prednaška 10 Retezce a algoritmy na retezcích Základní pojmy Základní algoritmy Algoritmus využívající analýzu hledaného motivu Algoritmus vyL^ívající nalyzu prohledavaneho retezce Hledaní opakovaní Tandemove opakovaní Palindromy Srovnavaní dvou sekvencí Vylepšení pro maxim alne k chyb príste video HHMI Automat pro hledání řetězce aba IV107 Bioinformatika I -Prednáška 10 Řetězce a algoritmy na řetězcích Algoritmus vyL^ívající nalyzu prohledavaneho retezce Hledaní opakovaní Tandemove opakovaní Palindromy Srovnavaní dvou sekvencí Vylepšení pro maxim alne k chyb príste video HHMI Zakladni pomy Algoritmus využívající analýzu hledaného motivu Automat vytvořen z motivu p postupne cte symboly z retezce m. Koncový stav automatu dosahneme po nactení celého hledaného motivu. t=bababaa p=aba IV107 Bioinformatika I -Prednaska 10 Retezce a algoritmy na retezcích e 0 b 0 ba 1 bab 2 baba 3 babab 2 bababa 3 bababaa 1 prohledavaneho řetezce Hledaní opakovaní Tandemove opakovaní Palindromy Srovnavaní dvoů sekvencí Vylepření pro maxim alne k chyb Priste video HHMI Zakladní pomy Algoritmůs vyůzivaaici analyzů hledaneho motivů Slozřitost konstrůkce: naivni O(m3); optimalní O(\\abeceda||.m) hledáni: O(n) Suffixovy strom pro retezec dabdac IV107 Bioinformatika I -PrednaSka 10 Řetezce a algoritmy na retezcích ny Zakladní algoritmy Algoritmus vyuz!ívaaící analýzu hledaneho motivu Algoritmus vyL^ívající nalyzu prohledavaneho retezce Hledaní opakovaní Kompaktní suffixovy strom pro řetezec aaabbbc IV107 Bioinformatika I -Prednaska 10 Řetězce a algoritmy na řetězcích Zakladní pojmy Zakladní algoritmy Algoritmus vyL^ívající nalyzu prohledavaneho retezce Hledaní opakovaní Tandemove opakovaní Palindromy Srovnavaní dvou sekvencí Vylepšení pro maximalne k chyb Príste video HHMI (b) Algoritmus vyuzivaaici analyzu hledaneho motivu Konstrukce: O(n.logn) Hledaní: O(m.||abeceda||+k) Sufixové pole - ukazovatele na polohy suffixů seřazené lexikograf cky Dloůho bylo povazováno za mene kvalitní datovoů štrůktůrů, protoze neobšahůje prímo informace o spolecnych prefixech. Ty lze však špocítat do lcp pole (leašt common prefix) tak, zze konštrůkce pole i štromů ma štejnoů šlozitošt. t = dabdac ša(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 6 0 1 0 abdac 4 1 ac 2 0 bdac 5 0c 0 0 dabdac 3 2 dac IV107 Bioinformatika I -Prednaska 10 Řetězce a algoritmy na řetězcích Zakladní pojmy Zakladní algoritmy Algoritmus využívající nalýzu prohledávaného retezce Hledání opakování Tandemove opakování Palindromy Srovnavaní dvou sekvencí Vylepšení pro maximalne k chyb príste video HHMI □ - - Algoritmůš vyůzíva hledaneho motivů Outline IV107 Bioinformatika I -Prednaška 10 Řetezce a algoritmy na řetezcích Základní pojmy Základní algoritmy Algoritmus vyuzívající analýzu hledaného motivu Algoritmus vyuzívající nalyzu prohledávaného řetezce Hledaní opakovaní Tandemove opakovaní Palindromy Retezce a algoritmy na retezcích Zakladní pojmy Zakladní algoritmy Algoritmus vyL^ívající nalyzu prohledavaneho řetezce Hledaní opakovaní Tandemove opakovaní Palindromy Srovnavaní dvou sekvencí Vylepšení pro maxim alne k chyb Priste video HHMI Algoritmuš vyuzivajici analyzu hledaneho motivu DP - Needleman-Wunsch Vylepsení pro maximalne k chyb video HHMI Tandemova a palindromicka opakovaní nesou biologicky i prakticky vyznam IV107 Bioinformatika I -Prednaska 10 Řetězce a algoritmy na řetězcích Zakladní pojmy Zakladní algoritmy Algoritmus vyuzívaa^í nalyzu prohledavaneho řetezce palindrom mozna sekundami struktura DNA nebo ŘNA tandem regulace genu, telomery, identifikace jedincu z DNA Tandemove opakovaní Palindromy Srovnavaní dvou sekvencí Vylepření pro maximalne k chyb Priste video HHMI Algoritmus vyuzivaaici analyzu hledaneho motivu Nejdelší společný prefix dvou pozic IV107 Bioinformatika I -Prednáška 10 Retezce a algoritmy na retezcích Zakladní pojmý Zakladní algoritmy Algoritmus využívající nalýzu prohledavaneho řetezce tgcagaagcagatcctgacg T T Tandemove opakovaní Palindromy Srovnavaní dvou sekvencí Vylepšení pro maxim alne k chyb priste video HHMI Algoritmus výuzivaaici analýzu hledaného motivu Slozitost naivního algoritmu O(n3) Pošůzovaní tandemových opakovaní pomocí šůfŤixovych štromů, příp. polí (t=dabdac) IV107 Bioinformatika I -Prednaška 10 Řetězce a algoritmy na řetězcích Zakladní pojmy Zakladní algoritmy Algoritmůš vyL^ívající nalyzů prohledavaneho řetezce a 6 Tandemove opakovaní Palindromy Srovnavaní dvoů šekvencí Vylepšení pro maximalne k chyb Príšte video HHMI Algoritmůš vyůzívaaící analyzů hledaneho motivů lcp(1,4)=? Nalezneme vetve oznacene 1 a 4 lcp(1,4)=da Hledaní tandemovych opakovaní IV107 Bioinformatika I -Prednaska 10 IŘetezce a algoritmy na retezcích Zakladní pojmy Zakladní algoritmy Algoritmus vyu2:ívající analyzu hledaneho motivu Algoritmus vyu]!ívající nalyzu prohledavaneho řetezce Tandemove opakovaní Palindromy Srovnavaní dvou sekvencí ► konstrukce stromu: O(n./ogn) Vylepšení pro maxim alne k chyb ► hledaní lcp pro dve konkretní pozice O(n./ogn) ► Prohledavaní sekvence Slozitost: O(n.(/ogw)2+p) Palindromy - nejdelsí spolecny prefix mezi originalní a komplementární sekvencí umoznuje urychlení hledaní podobne jako pro tandemové opakovaní IV107 Bioinformatika I -Prednaska 10 Řetězce a algoritmy na řetězcích Zakladní pojmy Zakladní algoritmy Algoritmus vyu2:ívající nalyzu prohledavaneho retezce Palindromy Srovnavaní dvou sekvencí I 8 tgcagaagcttctgtctgacg acgtcttcgaagacagactgc | 9* Slozitost naivního algoritmu O(n3) Priste video HHMI Algoritmus vyuzivajici analyzu hledaneho motivu Vyleps:ení pro alne k chyb Slozitost naivního algoritmu O(nlp) (pro omezenou vzdalenost a delku) Slozitost s pouzitím suffixovych struktur O(n) Vyuziti DP pro identifikaci palindromu IV107 Bioinformatika I -Prednaska 10 Retezce a algoritmy na retezcich Zakladni pojmy Zakladni algoritmy m i s s i s s i p p i □ a b match \l c— d = min a match a+1 mismatch b + 1 insertion c + 1 deletion Algoritmus vyuzivajici nalyzu prohledavaneho retezce Palindromy Srovnavani dvou sekvenci priste video HHMI a) b) Algoritmus vyueivaaici analyzu hledaneho motivu 0 0 0 0 0 0 Vylepseni pro alne k chyb 0 0 0 0 2 0 0 0 2 3 0 0 0 2 0 0 0 2 0 0 0 0 2 2 0 0 0 2 2 2 2 Vyuziti SA a LCP k rychlemu poštupu po diagonaíle IViO7 Bioinformatika I -Prednaška iO Řetězce a algoritmy na řetězcích my Zakladní algoritmy Algoritmuš využlvaalci nalyzu prohledavaneho řetezce m i š š i š š i p p i O O O O i O O O i O O i O O O i i 2 i O O O 2 3 2 O O i O i 2 3 O O i O i i 2 3 O O O O \ 2 2 3 O O i O "i \ O 2 2 O i i 2 i i 2 *i i 2 3 Longešt Common Prefix Neighboring cellš with worše šcoreš a) Suffix Array Height Array Cartešian Tree b) Palindromy Srovnavani dvou šekvencí Prište video HHMI Algoritmuš vyuz:ivaaici analyzu hledaneho motivu Vylepššení pro aílneš kchyb Oůtline IV107 Bioinformatika I -Prednaska 10 Retezce a algoritmy na řetezcích Základní pojmy Základní algoritmy Algoritmůs vyůzívající analyzů hledaného motivů Algoritmůs vyůzívající nalyzů prohledávaného řetezce Tandemoveí opakovaí ní Palindromy Retezce a algoritmy na retezcích Zakladní pojmy Zakladní algoritmy Algoritmůs výLlZívajíCí nalyzů prohledavaneho řetezce Hledaní opakovaní Tandemove opakovaní Palindromy Srovnavaní dvoů sekvencí Vylepření pro maxim alne k chyb Priste video HHMI Algoritmůs vyůzivaaici analyzů hledaneho motivů Srovnavani dvoů sekvenci DP - Needleman-Wůnsch Vylepseni pro maximalne k chyb video HHMI Vypočet omezeneho poctu bunek v tabulce DP IV107 Bioinformatika I -Prednaska 10 Řetězce a algoritmy na řetězcích Zakladní pojmy Zakladní algoritmy Stací pocítat 2k+1 diagonal bez ohledu na delku sekvencí Algoritmus vyL^ívající nalyzu prohledavaneho retezce Hledaní opakovaní Tandemove opakovaní Palindromy Srovnavaní dvou sekvencí Vylepšení pro maxim alne k chyb Priste video HHMI Slozitost: O(kn) (naproti O(mn)) Algoritmus vyuz:ivaaici analyzu hledaneho motivu Tabulka pro algoritmus dynamického programování IV107 Bioinformatika I -PrédnaSka 10 Řetězce a algoritmy na řetězcích Zakladní pojmy Zakladní algoritmy (A) I S A L I G N E D 0 -4 » -8»-12»- 16»- 20»- 24»- 28»- 32»-36 T T -4 -1 -3* -7»- 11»- 15»- 1 9 »- 23 »- 27»-31 ** ** "S H -5 -2 -5 -9»- T3»- 1ľ»- 18»- 22»-26 "V I -1 2 -4 -6 ~3 -3 -5» -9 »- 13 »- 17»-21 J- "V S -16 -a 0 » -4 -5 -5 -5» -8»- 12»-16 J. : L -2 0 11 0 -3 -7 » -8 - 11 »-15 *» | *v >. I -2 4 1 6 -8 -5 t » D » -4» -S»-12 J. 1 1 >» N ~2 8 20 - 12 -9 -3 o 4 6 » 2 » -2 | V 1 *N •s E -32 24 16 -13 -7 -4 c 4 11» 7 (B) THIS-LI-NE- II II II --ISALIGNED Algoritmus vyuiiívající nalyzu prohlédavaného řétézcé Hledaní opakovaní Tandemové opakovaní Palindromy Srovnavaní dvou sékvéncí Vylépšéní pro maxim alné k chyb prísté vidéo HHMI Algoritmus vyuzivaaici analyzu hlédaného motivu Vyuzití SA a LCP k rychlemu postupu po diagonale IV107 Bioinformatika I -Prednaska 10 Řetězce a algoritmy na řetězcích Zakladní pojmy Zakladní algoritmy Slozitost: O(k2) (viz pou/vzit/'i pro palindromy) Algoritmus vyL^ívající nalyzu prohledavaneho retezce Hledaní opakovaní Tandemove opakovaní Palindromy Srovnavaní dvou sekvencí Vylepšení pro maxim alne k chyb Priste video HHMI Algoritmus vyuzivaaici analyzu hledaneho motivu Príšte IV1O7 Bioinformatika I -Prednaška 1O Video HHMI Řetezce a algoritmy na retezcích ny Zakladní algoritmy Algoritmus vyuz!ívaaící analýzu hledaneho motivu Algoritmus vyL^ívající nalyzu prohledavaneho retezce Hledaní opakovaní Tandemove opakovaní Palindromy Srovnavaní dvou sekvencí Vylepření pro maximalne k chyb Príste video HHMI Outline IV107 Bioinformatika I -Přednáška 10 Dodatek For Further Reading Dodatek For Further Reading IV107 Bioinformatika I -Prednaska 10 Dodatek For Further Reading X