Presentation is loading. Please wait.

Presentation is loading. Please wait.

Suffix Trees and Derived Applications Carl Bergenhem and Michael Smith.

Similar presentations


Presentation on theme: "Suffix Trees and Derived Applications Carl Bergenhem and Michael Smith."— Presentation transcript:

1 Suffix Trees and Derived Applications Carl Bergenhem and Michael Smith

2 SimpleScalar Suite Linux Based Cache Simulator Allows for simulation of predefined cache environments Cross-compiles code for Simulation Through 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

9

10

11

12

13

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


Download ppt "Suffix Trees and Derived Applications Carl Bergenhem and Michael Smith."

Similar presentations


Ads by Google