1.07k likes | 1.18k Views
Comparison of large sequences. First part: Alignment of large sequences. Dynamic programming. accaccacaccacaacgagcata … acctgagcgatat. a c c . . t. acc.................................agt | | |.................................|xx acc.................................a--.
E N D
Comparison of large sequences First part: Alignment of large sequences
Dynamic programming accaccacaccacaacgagcata… acctgagcgatat a c c . . t acc.................................agt | | |.................................|xx acc.................................a-- • Quadratic cost of space and time. • Quadratic cost of space and time. • Short sequences (up to 10.000 bps) can be aligned using dynamic programming What about genomes?
Genomic sequences • The running time is 1.000.000 times higher ! (1 second becomes 11 days) (1 minute becomes 2 years) • Genomic sequences have millions of base pairs. • The length of sequences is 1000 times longer. In which case Dynamic Programming can be applied?
First assumption ………………………….………………...…………...…. Genome A ………………………………………………………………. Genome B Genome B …………………………………… ……………………………. Genome A
Realistic assumption? ………………………….………………...…………...…. Genome A ………………………………………………………………. Genome B ………………………………………………...…………...…. Genome A …………………………………………………………………. Genome B Genome B ………………… Genome A ……………… Unrealistic assumption! More realistic assumption
Realistic assumptions? ………………………….………………...…………...…. Genome A ………………………………………………………………. Genome B ………………………………………………...…………...…. Genome A ………………………………………………………………… Genome B Genome B ………………… Genome A ……………… Unrealistic assumption! More realistic assumption But, now is it a real case?
Preview in a real case Chlamidia muridarum: 1.084.689bps Chlamidia Thrachomatis:1057413bps
Preview in a real case Pyrococcus abyssis: 1.790.334 bps Pyrococcus horikoshu: 1.763.341 bps
Methodology of an alignment …………………...…. 1st: Make a preview: ……………………..…. 2nd: ………………. 3th: Make the alignment: …..………… Identify the portions that can be aligned. (Linear cost) (Linear cost)
Methodology of an alignment …………………...…. 1st: Make a preview: ……………………..…. 2nd: Identify the portions that can be aligned. ………………. 3th: Make the alignment: …..………… ? (Linear cost)
Preview-Revisited … a a t g….c t g... MUM … c g t g….c c c ... Maximal Unique Matching Connect to MALGEN
Methodology of an alignment …………………...…. 1st: Make a preview: ……………………..…. 2nd: ………………. 3th: Make the alignment: …..………… Linear cost with Suffix trees How can MUMs be found? Identify the portions that can be aligned. How can these portions be determined? With CLUSTALW, TCOFFEE,…
Bioinformatics PhD. Course Second part: Introducing Suffix trees
Suffix trees 7: s s,7 6: as s,6 5: aas a a as,5 as,3 as,3 ba ba baas,1 baas,1 ba ba as,4 as,4 baas,2 baas,2 s,7 s,6 as,5 Given string ababaas: Suffixes: 3: abaas 1: ababaas 4: baas 2: babaas What kind of queries?
Applications of Suffix trees a ba baas,1 ba as,3 baas,2 as,4 s,7 s,6 as,5 1. Exact string matching • Does the sequence ababaas contain any ocurrence of patterns abab, aab, and ab? …………………………
Quadratic insertion algorithm and the suffix-tree Invariant Properties: Given the string …………………………...... …... P1: the leaves of suffixes from have been inserted
Quadratic insertion algorithm ababaabbs,1 Given the string ababaabbs
Quadratic insertion algorithm babaabbs,2 Given the string ababaabbs ababaabbs,1
Quadratic insertion algorithm aba baabbs,1 Given the string ababaabbs ababaabbs,1 babaabbs,2
Quadratic insertion algorithm abbs,3 aba baabbs,1 Given the string ababaabbs babaabbs,2
Quadratic insertion algorithm abbs,3 aba baabbs,1 ba baabbs,2 Given the string ababaabbs babaabbs,2
Quadratic insertion algorithm abbs,3 aba baabbs,1 ba abbs,4 baabbs,2 Given the string ababaabbs
Quadratic insertion algorithm abbs,3 a aba baabbs,1 abbs,3 ba baabbs,1 abbs,4 abbs,4 Given the string ababaabbs ba baabbs,2
Quadratic insertion algorithm abbs,5 a abbs,3 ba baabbs,1 abbs,4 abbs,4 Given the string ababaabbs ba baabbs,2
Quadratic insertion algorithm abbs,5 a abbs,3 ba baabbs,1 abbs,4 abbs,4 Given the string ababaabbs ba baabbs,2
Quadratic insertion algorithm abbs,5 a abbs,3 b a baabbs,1 abbs,4 abbs,4 Given the string ababaabbs ba ba baabbs,2
Quadratic insertion algorithm abbs,5 a bs,6 abbs,3 b a baabbs,1 abbs,4 abbs,4 Given the string ababaabbs ba baabbs,2
Quadratic insertion algorithm abbs,5 a bs,6 abbs,3 b a baabbs,1 abbs,4 abbs,4 Given the string ababaabbs ba baabbs,2
Quadratic insertion algorithm abbs,5 a bs,6 bs,7 abbs,3 b a baabbs,1 b abbs,4 a baabbs,2 Given the string ababaabbs
Quadratic insertion algorithm abbs,5 a bs,6 bs,7 abbs,3 b a baabbs,1 b abbs,4 a s,8 baabbs,2 Given the string ababaabbs
Quadratic insertion algorithm abbs,5 a bs,6 bs,7 abbs,3 b a baabbs,1 b abbs,4 a s,7 s,9 baabbs,2 Given the string ababaabbs
Generalizad suffix tree the generalized suffix tree of ababaabb and aabaat … is the suffix tree of ababaabαaabaatβ, : The suffix tree of many strings … is called the generalized suffix tree … and it is the suffix tree of the concatenation of strings. For instance,
Generalizad suffix tree abbα,5 a bα,6 bα,7 abbα,3 b a baabbα,1 b abbα,4 a α,8 α,9 baabbα,2 Construction of the suffix tree of ababaabbαaabaaβ: Given the suffix tree of ababaabα:
Generalizad suffix tree abbα,5 a bα,6 bα,7 abbα,3 b a baabbα,1 b abbα,4 a α,8 α,9 baabbα,2 Construction of the suffix tree of ababaabbαaabaaβ:
Generalizad suffix tree aaβ,1 bα,7 bα,6 abbα,3 b a baabbα,1 b abbα,4 a α,8 α,9 baabbα,2 Construction of the suffix tree of ababaabbαaabaaβ: ab a bα,5
Generalizad suffix tree aaβ,1 bα,7 bα,6 abbα,3 b a baabbα,1 b abbα,4 a α,8 α,9 baabbα,2 Construction of the suffix tree of ababaabbαaabaaβ: ab a bα,5
Generalizad suffix tree β,2 bα,7 bα,6 b abbα,4 a α,9 α,8 baabbα,2 Construction of the suffix tree of ababaabbαaabaaβ: aaβ,1 ab a bα,5 b a bbα,3 a baabbα,1
Generalizad suffix tree β,2 bα,7 bα,6 b abbα,4 a α,9 α,8 baabbα,2 Construction of the suffix tree of ababaabbαaabaaβ: aaβ,1 ab a bα,5 b a bbα,3 a baabbα,1
Generalizad suffix tree bα,7 bα,6 β,3 α,9 α,8 Construction of the suffix tree of ababaabbαaabaaβ: aaβ,1 ab a bα,5 β,2 b a bbα,3 a b baabbα,1 a a bbα,4 baabbα,2
Generalizad suffix tree bα,7 bα,6 β,3 α,9 α,8 Construction of the suffix tree of ababaabbαaabaaβ: aaβ,1 ab a bα,5 β,2 b a bbα,3 a b baabbα,1 a a bbα,4 baabbα,2
Generalizad suffix tree β,4 bα,7 bα,6 α,9 α,8 Construction of the suffix tree of ababaabbαaabaaβ: aaβ,1 a b a bα,5 β,2 b a bbα,3 a b baabbα,1 β,3 a a bbα,4 baabbα,2
Generalizad suffix tree β,4 bα,7 bα,6 α,9 α,8 Construction of the suffix tree of ababaabbαaabaaβ: aaβ,1 a b a bα,5 β,2 b a bbα,3 a b baabbα,1 β,3 a a bbα,4 baabbα,2
Generalizad suffix tree bα,6 bα,7 α,8 α,9 Construction of the suffix tree of ababaabbαaabaaβ: β,5 β,4 aaβ,1 a b a bα,5 β,2 b a bbα,3 a b baabbα,1 β,3 a a bbα,4 baabbα,2
Generalizad suffix tree bα,6 bα,7 α,8 α,9 Construction of the suffix tree of ababaabbαaabaaβ: β,5 β,4 aaβ,1 a b a bα,5 β,2 b a bbα,3 a b baabbα,1 β,3 a a bbα,4 baabbα,2
Generalizad suffix tree bα,6 bα,7 α,9 α,8 Construction of the suffix tree of ababaabbαaabaaβ: β,5 β,4 β,6 aaβ,1 a b a bα,5 β,2 b a bbα,3 a b baabbα,1 β,3 a a bbα,4 baabbα,2
Generalizad suffix tree β,5 β,4 β,6 aaβ,1 a b a bα,5 β,2 b bα,6 bα,7 a bbα,3 a b baabbα,1 β,3 a a bbα,4 baabbα,2 α,9 α,8 Generalized suffix tree of ababaabbαaabaaβ:
Applications of Suffix trees a ba baas,1 ba as,3 baas,2 as,4 s,7 s,6 as,5 1. Exact string matching • Does the sequence ababaas contain any ocurrence of patterns abab, aab, and ab? …………………………
Applications of Suffix trees β,5 β,4 β,6 aaβ,1 a b a bα,5 β,2 b bα,7 bα,6 a bbα,3 a b baabbα,1 β,3 a a bbα,4 baabbα,2 α,9 α,8 2. The substring problem for a database of strings DB • Does the DB contain any ocurrence of patterns abab, aab, and ab?
Applications of Suffix trees β,5 β,4 β,6 aaβ,1 a b a bα,5 β,2 b bα,7 bα,6 a bbα,3 a b baabbα,1 β,3 a a bbα,4 baabbα,2 α,8 α,9 3. The longest common substring of two strings
Applications of Suffix trees β,5 β,4 β,6 aaβ,1 a b a bα,5 β,2 b bα,7 bα,6 a bbα,3 a b baabbα,1 β,3 a a bbα,4 baabbα,2 α,8 α,9 5. Finding MUMs.