Download presentation
Presentation is loading. Please wait.
Published byDoris Goodman Modified over 9 years ago
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
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.