suffix trees and derived applications carl bergenhem and michael smith

Post on 18-Dec-2015

221 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Suffix Trees and Derived

ApplicationsCarl Bergenhem and Michael Smith

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

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.

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

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

Building a Tree

•Starting from an empty root, and building the suffix tree for “banana”

•The first step...

Building a Tree

Building a Tree

Building a Tree

Building a Tree

Building a Tree

Building a Tree

Building a Tree

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

Use

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

Example

REPuter

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

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.

Example

•With a threshold value of 2, the word “banana” has the following maximal repeats

•“ana” appears twice

•“an” appears twice

•“na” appears twice

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

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

Example

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

top related