dna sequencing applica0ons iden0fying gene0c varia0on
play

DNA sequencing applica0ons: iden0fying gene0c varia0on Short - PowerPoint PPT Presentation

DNA sequencing applica0ons: iden0fying gene0c varia0on Short sequencing reads from an individual Sequence from the reference genome Short read alignment problem INPUT: A few million


  1. DNA ¡sequencing ¡applica0ons: ¡iden0fying ¡gene0c ¡varia0on ¡ Short sequencing reads from an individual Sequence from the reference genome

  2. Short ¡read ¡alignment ¡problem ¡ • INPUT: ¡ – A ¡few ¡million ¡short ¡reads ¡(assume ¡no ¡errors ¡for ¡now) ¡ – A ¡reference ¡genome ¡ • OUTPUT: ¡ – Alignments ¡of ¡the ¡reads ¡to ¡the ¡reference ¡genome ¡

  3. Brute ¡force ¡search ¡for ¡GATTACA ¡ ¡ • Where ¡is ¡GATTACA ¡in ¡the ¡human ¡genome? ¡ ¡ No match at offset 1 Match at offset 2 No match at offset 3...

  4. Brute ¡force ¡search ¡for ¡GATTACA ¡ ¡ • Simple, ¡easy ¡to ¡understand ¡ • Analysis ¡ – ¡Genome ¡length ¡= ¡n ¡= ¡3,000,000,000 ¡ ¡– ¡Query ¡length ¡= ¡m ¡= ¡7 ¡ ¡ ¡– ¡Comparisons: ¡(n-­‑m+1) ¡* ¡m ¡= ¡21,000,000,000 ¡ • Overall ¡run0me ¡ O(nm) ¡ • What ¡is ¡the ¡expected ¡number ¡of ¡occurrences ¡of ¡a ¡word ¡of ¡size ¡ m ¡in ¡a ¡ genome ¡of ¡size ¡ n ? ¡(assuming ¡equal ¡frequencies ¡of ¡A, ¡C, ¡G, ¡T) ¡ ¡ • 1 ¡in ¡4 ¡bases ¡are ¡G, ¡1 ¡in ¡16 ¡posi0ons ¡are ¡GA, ¡1 ¡in ¡64 ¡posi0ons ¡are ¡GAT… ¡ ¡ ¡ ¡ ¡ ¡1 ¡in ¡16,384 ¡should ¡be ¡GATTACA ¡ • E=(n-­‑m+1)/(4 m ) ¡ ¡…. ¡183,105 ¡expected ¡occurrences ¡ ¡ ¡

  5. Binary ¡search ¡and ¡suffix ¡arrays ¡ • Preprocess ¡the ¡genome ¡ Split the genome into suffixes Sort the suffixes alphabetically • Then ¡use ¡binary ¡search ¡ Suffix array

  6. Example ¡of ¡suffix ¡array ¡ • Search ¡for ¡the ¡substring ¡ANA ¡in ¡the ¡string ¡BANANA ¡ • Search ¡got ¡the ¡substring ¡GATTACA ¡in ¡the ¡human ¡genome ¡ ¡

  7. Suffix ¡arrays ¡-­‑ ¡search ¡for ¡GATTACA ¡ ¡

  8. Suffix ¡arrays ¡-­‑ ¡search ¡for ¡GATTACA ¡ ¡ Lo = 1; Hi = 15 Lo Mid = (1+15)/2 = 8 Middle = Suffix[8] = CC Compare GATTACA to CC => Higher Lo = Mid + 1 Hi

  9. Suffix ¡arrays ¡-­‑ ¡search ¡for ¡GATTACA ¡ ¡ Lo = 9; Hi = 15 Mid = (9+15)/2 = 12 Middle = Suffix[12] = TACC Compare GATTACA to TACC => Lower Hi = Mid - 1 Lo Hi

  10. Suffix ¡arrays ¡-­‑ ¡search ¡for ¡GATTACA ¡ ¡ Lo = 9; Hi = 11 Mid = (9+11)/2 = 10 Middle = Suffix[10] = GATTACC Compare GATTACA to GATTACC => Lower Hi = Mid - 1 Lo Hi

  11. Suffix ¡arrays ¡-­‑ ¡search ¡for ¡GATTACA ¡ ¡ Lo = 9; Hi = 9 Mid = (9+9)/2 = 9 Middle = Suffix[9] = GATTACAG … Compare GATTACA to GATTACAG … => Match Return: match at position 2 Lo Hi What if there are multiple matches?

  12. Suffix ¡arrays ¡-­‑ ¡analysis ¡ • Word ¡(query) ¡of ¡size ¡ m ¡ • Genome ¡of ¡size ¡ n ¡ • Time ¡complexity ¡of ¡the ¡word ¡search: ¡ ¡O( m ¡log ¡n ) ¡ ¡ • Compared ¡to ¡O( mn ) ¡for ¡brute ¡force ¡ • Looking ¡up ¡a ¡word ¡loops ¡32 ¡0mes ¡instead ¡of ¡3,000,000,000 ¡0mes ¡ • Space ¡complexity? ¡ • Time ¡to ¡construct ¡the ¡array? ¡ • n ¡suffixes ¡ • Total ¡characters ¡in ¡all ¡suffixes ¡ combined: ¡ • Time ¡complexity ¡of ¡sor0ng: ¡ ¡ 1+2+3+…+n ¡= ¡O( n 2 ) ¡ ¡O( n ¡log ¡n ) ¡(merge ¡sort) ¡… ¡ ¡ ¡~94 ¡billion ¡for ¡human ¡genome ¡ • For ¡the ¡human ¡genome: ¡ ¡ ¡ ¡4.5 ¡billion ¡billion ¡characters!!! ¡ ¡

  13. Algorithms ¡for ¡exact ¡string ¡matching ¡ • Search ¡for ¡the ¡substring ¡ANA ¡in ¡the ¡string ¡BANANA ¡ Brute ¡force ¡ Binary ¡search/Suffix ¡array ¡ ¡ ?

Recommend


More recommend