1 / 23

Suffix Trees and Derived Applications

Suffix Trees and Derived Applications. Carl Bergenhem and Michael Smith. SimpleScalar Suite. Linux Based Cache Simulator Allows for simulation of predefined cache environments

zihna
Download Presentation

Suffix Trees and Derived Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Suffix Trees and Derived Applications • Carl Bergenhem and Michael Smith

  2. SimpleScalar Suite • Linux Based Cache SimulatorAllows for simulation of predefined cache environments • Cross-compiles code for SimulationThrough Linux GCC Fortran or C code can be compiled specifically for the SimpleScalar to allow complete execution of the code and keeping statistics

  3. Sim-cache • General sim-cache • Code run through sim-cache uses the following paramaters • Number of sets in the structure • Block size • Associativity • Replacement policy • What this lets us do • Can simulate how well a program will perform on different types of CPUs in regards to cache simulation.

  4. Idea of a Suffix Tree • A Suffix-Tree is a data structure that creates a path from the root to a leaf for each suffix of the input string. • Ex: A seven letter string will have seven leaves

  5. Idea of a Suffix Tree • The internal nodes of a tree are created when the start of a suffix is the same as another suffix • Ex: From “banana”, “anana” and “ana” both start with “ana” so they can share the same path from the root until the end where they diverge

  6. Building a Tree • Starting from an empty root, and building the suffix tree for “banana” • The first step...

  7. Building a Tree

  8. Building a Tree

  9. Building a Tree

  10. Building a Tree

  11. Building a Tree

  12. Building a Tree

  13. Building a Tree

  14. Recap • As seen, it is a simple process in a number of iterations equal to the length of the input string to create the suffix tree

  15. Use • Fast String Comparisons Can be made in a number of comparisons of a most the length of the second to be compared string.

  16. Example

  17. REPuter • The REPuter algorithm is a genetic algorithm that uses the Suffix Tree to efficiently find maximal repeats

  18. Maximal Repeats • A maximal repeat requires that within a string, there exists a substring that occurs at least twice and is at least of length equal to a set threshold length.

  19. Example • With a threshold value of 2, the word “banana” has the following maximal repeats • “ana” appears twice • “an” appears twice • “na” appears twice

  20. Use • Scientists use the REPuter algorithm to find common substrings within a genome sequence that are of a certain length. • A useful extension of this algorithm is to find similar substrings that can account for mutations in the DNA

  21. How It Works • The REPuter algorithm uses the suffix tree structure by traversing the entire tree, and whenever it is on a node that represents a string longer than the threshold, it is a valid maximal repeat so long as that node has 2 or more children nodes

  22. Example

  23. PSP Algorithm • Probe Selection Problem (PSP) Algorithm • Relies upon the Suffix Tree to function. • Contains a set S of genomic sequences. • In order to find an olignucleotide (probe) for each sequence, a suffix tree of all the sequences is used. • Allows the probe to be identified in such a way that hybridization can occur for a specific sequence and that sequence only • Also grants the temperature at which the hybridization can occur

More Related