sol2 - BCB/CprE/ComS 548 Fundamental Algorithms in...

Info iconThis preview shows pages 1–4. Sign up to view the full content.

View Full Document Right Arrow Icon
BCB/CprE/ComS 548  Fundamental Algorithms in Computational Biology Fall 2005 Homework 2 Solutions 1   (a)   A = 0 C = 1 AAA 0 AAC 1 1 = ACA = 010 = 2 ACA 2  1  3 2 = CAC = 101 = 5 ACC 3  5 3 = ACA = 010 = 2 CAA 4 4 = CAC = 101 = 5 CAC 5  2  4 5 = ACC = 011 = 3 CCA 6  6 6 = CCA = 110 = 6 CCC 7 1 (b) 9 w x u v t s r 2 4 7 5 3 1 8 6 (9, 9) ( 7,   9 ) 5 , 4, 4 9, 3 (2,  2 5, 7 2, 2  9 1, 1
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
1 (c) SA: 9 8 1 3 5 7 2 4 6 1 (d) LCP: 0 1 4 2 0 2 3 1 1 (e) i. Since the lookup table was made with a window size of 3, a length 3 repeat is found everywhere in the table there is more than one pointer. In this case, at positions 2 and 5, which represent ACA and CAC. ii. In a suffix tree, a length 3 repeat is found by traversing three characters down each branch coming off of the root. If you make it three characters and there are still two or more leaves below you, you have found a repeat. Another way of looking at this is the first three characters of the path-label of any internal node with a string-depth of at least 3. Once you've found an internal node that meets this criteria, you don't need to check any of the descendants of this node.  iii.Given a suffix array and lcp array, all you need to do is find all the values in the lcp array which are greater than or equal to 3, and then take the first three characters of the suffixes at these same positions in the suffix array. GRADING In general, I wasn't overly generous on partial credit for this problem, particularly since the string given in this problem was essentially the same as the one Dr. Aluru used for an example in class. A frequent error was starting the lookup table at 1 instead of 0. This creates problems, because depending on your encoding, there will be a valid string that could exist in your table that when converted to decimal would have a value of 0. If your table doesn't start at 0, you would have no place to put that string. Another common problem was not ordering your tree in lexicographically order. This frequently led to incorrect suffix arrays and lcp arrays as well. If you got the suffix array and lcp array wrong, but your lcp array was correct for the suffix array you gave, I still gave you 1 point for the lcp array.
Background image of page 2
2 (a) (b) (c) 2 (d) The longest repeat is 4. This is the string-depth of the internal node with the deepest string-depth, which is  p . 2 (e)
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 4
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 10/01/2009 for the course CS BCB/Co taught by Professor Olivereulenstein during the Fall '06 term at Iowa State.

Page1 / 7

sol2 - BCB/CprE/ComS 548 Fundamental Algorithms in...

This preview shows document pages 1 - 4. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online