Greedy Algorithms And Genome Rearrangements An Introduction to Bioinformatics Algorithms (Jones and Pevzner) www.bioalgorithms.info.

Slides:



Advertisements
Similar presentations
Sorting by reversals Bogdan Pasaniuc Dept. of Computer Science & Engineering.
Advertisements

School of CSE, Georgia Tech
Greedy Algorithms CS 466 Saurabh Sinha. A greedy approach to the motif finding problem Given t sequences of length n each, to find a profile matrix of.
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
Greedy Algorithms CS 6030 by Savitha Parur Venkitachalam.
Gene an d genome duplication Nadia El-Mabrouk Université de Montréal Canada.
S. J. Shyu Chap. 1 Introduction 1 The Design and Analysis of Algorithms Chapter 1 Introduction S. J. Shyu.
Bioinformatics Chromosome rearrangements Chromosome and genome comparison versus gene comparison Permutations and breakpoint graphs Transforming Men into.
Introduction Sorting permutations with reversals in order to reconstruct evolutionary history of genome Reversal mutations occur often in chromosomes where.
Greedy Algorithms And Genome Rearrangements
Genome Rearrangements CIS 667 April 13, Genome Rearrangements We have seen how differences in genes at the sequence level can be used to infer evolutionary.
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
Introduction to Bioinformatics Algorithms Greedy Algorithms And Genome Rearrangements.
Discrete Structures & Algorithms EECE 320 : UBC : Spring 2009 Matei Ripeanu 1.
Of Mice and Men Learning from genome reversal findings Genome Rearrangements in Mammalian Evolution: Lessons From Human and Mouse Genomes and Transforming.
Genome Rearrangements. Basic Biology: DNA Genetic information is stored in deoxyribonucleic acid (DNA) molecules. A single DNA molecule is a sequence.
Genome Rearrangements CSCI : Computational Genomics Debra Goldberg
Genomic Rearrangements CS 374 – Algorithms in Biology Fall 2006 Nandhini N S.
Transforming Cabbage into Turnip: Polynomial Algorithm for Sorting Signed Permutations by Reversals Journal of the ACM, vol. 46, No. 1, Jan 1999, pp
Pancakes With A Problem! Great Theoretical Ideas In Computer Science Steven Rudich CS Spring 2004 Lecture 1 Jan 13, 2004 Carnegie Mellon University.
5. Lecture WS 2003/04Bioinformatics III1 Genome Rearrangements Compare to other areas in bioinformatics we still know very little about the rearrangement.
Genome Rearrangement SORTING BY REVERSALS Ankur Jain Hoda Mokhtar CS290I – SPRING 2003.
Genome Rearrangements, Synteny, and Comparative Mapping CSCI 4830: Algorithms for Molecular Biology Debra S. Goldberg.
1 Genome Rearrangements João Meidanis São Paulo, Brazil December, 2004.
Phylogenetic Tree Construction and Related Problems Bioinformatics.
7-1 Chapter 7 Genome Rearrangement. 7-2 Background In the late 1980‘s Jeffrey Palmer and colleagues discovered a remarkable and novel pattern of evolutionary.
Pancakes With A Problem Steven Rudich The chef at our place is sloppy, and when he prepares a stack of pancakes they come out all different sizes.
Pancakes With A Problem! Great Theoretical Ideas In Computer Science Vince Conitzer COMPSCI 102 Fall 2007 Lecture 1 August 27, 2007 Duke University.
Cooking for Computer Scientists. I understand that making pancakes can be a dangerous activity and that, by doing so, I am taking a risk that I.
Sorting with Cranes Mike Atkinson University of Otago Joint work with Michael Albert.
CompSci 102 Spring 2012 Prof. Rodger January 11, 2012.
Pancakes With A Problem! Great Theoretical Ideas In Computer Science Anupam Gupta CS Fall 2O05 Lecture 1 Aug 29 th, 2OO5 Aug 29 th, 2OO5 Carnegie.
Pancakes With A Problem! Great Theoretical Ideas In Computer Science Anupam Gupta CS Fall 2006 Lecture 1 Aug 29 th, 2OO6 Aug 29 th, 2OO6 Carnegie.
16. Lecture WS 2004/05Bioinformatics III1 V16 – genome rearrangement Important information – contained in the order in which genes occur on the genomes.
Genome Rearrangements Unoriented Blocks. Quick Review Looking at evolutionary change through reversals Find the shortest possible series of reversals.
Semester Project: Greedy Algorithms and Genome Rearrangements August/17/2012 Name: Xuanyu Hu Professor: Elise de Doncker.
Elementary Sorting Algorithms Many of the slides are from Prof. Plaisted’s resources at University of North Carolina at Chapel Hill.
Genome Rearrangements [1] Ch Types of Rearrangements Reversal Translocation
Greedy Algorithms And Genome Rearrangements
Chap. 7 Genome Rearrangements Introduction to Computational Molecular Biology Chap ~
Andrew’s Leap 2011 Pancakes With A Problem Steven Rudich.
Chap. 7 Genome Rearrangements Introduction to Computational Molecular Biology Chapter 7.1~7.2.4.
Greedy Algorithms CS 498 SS Saurabh Sinha. A greedy approach to the motif finding problem Given t sequences of length n each, to find a profile matrix.
Gene: A sequence of nucleotides coding for protein Gene Prediction Problem: Determine the beginning and end positions of genes in a genome Gene Prediction:
Comparative genomics Haixu Tang School of Informatics.
Pancakes With A Problem! Great Theoretical Ideas In Computer Science Steven Rudich CS Spring 2005 Lecture 3 Jan 18, 2005 Carnegie Mellon University.
1 Chapter 5-1 Greedy Algorithms Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Chapter 9 Sorting. The efficiency of data handling can often be increased if the data are sorted according to some criteria of order. The first step is.
Genome Rearrangement By Ghada Badr Part I.
Introduction to Bioinformatics Algorithms Chapter 5 Greedy Algorithms and Genome Rearrangements By: Hasnaa Imad.
Genome Rearrangements. Turnip vs Cabbage: Look and Taste Different Although cabbages and turnips share a recent common ancestor, they look and taste different.
Genome Rearrangements. Turnip vs Cabbage: Look and Taste Different Although cabbages and turnips share a recent common ancestor, they look and taste different.
Outline Today’s topic: greedy algorithms
1 Genome Rearrangements (Lecture for CS498-CXZ Algorithms in Bioinformatics) Dec. 6, 2005 ChengXiang Zhai Department of Computer Science University of.
15. Lecture WS 2004/05Bioinformatics III1 V15: genome rearrangement – current status * Genome comparison mouse – human: syntenic regions * Breakpoint analysis.
Copyright © 2014 Curt Hill Algorithms From the Mathematical Perspective.
Lecture 4: Genome Rearrangements. End Sequence Profiling (ESP) C. Collins and S. Volik (UCSF Cancer Center) 1)Pieces of tumor genome: clones ( kb).
Lecture 2: Genome Rearrangements. Outline Cancer Sequencing Transforming Cabbage into Turnip Genome Rearrangements Sorting By Reversals Pancake Flipping.
CSCI2950-C Genomes, Networks, and Cancer
Pancakes With A Problem!
Genome Rearrangement and Duplication Distance
Genome Rearrangements
CSE 5290: Algorithms for Bioinformatics Fall 2011
CSE 5290: Algorithms for Bioinformatics Fall 2009
Prepared by Chen & Po-Chuan 2016/03/29
Greedy (Approximation) Algorithms and Genome Rearrangements
Lecture 3: Genome Rearrangements and Duplications
CSCI2950-C Lecture 4 Genome Rearrangements
Greedy Algorithms And Genome Rearrangements
Greedy Algorithms And Genome Rearrangements
Presentation transcript:

Greedy Algorithms And Genome Rearrangements An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Turnip vs. Cabbage: Look and Taste Different Although cabbages and turnips share a recent common ancestor, they look and taste different Although cabbages and turnips share a recent common ancestor, they look and taste different An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Turnip vs Cabbage: Comparing Gene Sequences Yields No Evolutionary Information An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Turnip vs Cabbage: Almost Identical mtDNA gene sequences In 1980s Jeffrey Palmer studied evolution of plant organelles by comparing mitochondrial genomes of the cabbage and turnip In 1980s Jeffrey Palmer studied evolution of plant organelles by comparing mitochondrial genomes of the cabbage and turnip 99% similarity between genes 99% similarity between genes These surprisingly identical gene sequences differed in gene order These surprisingly identical gene sequences differed in gene order This study helped pave the way to analyzing genome rearrangements in molecular evolution This study helped pave the way to analyzing genome rearrangements in molecular evolution An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Turnip vs Cabbage: Different mtDNA Gene Order Gene order comparison: Gene order comparison: An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Turnip vs Cabbage: Different mtDNA Gene Order Gene order comparison: Gene order comparison: An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Turnip vs Cabbage: Different mtDNA Gene Order Gene order comparison: Gene order comparison: An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Turnip vs Cabbage: Different mtDNA Gene Order Gene order comparison: Gene order comparison: An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Turnip vs Cabbage: Different mtDNA Gene Order Gene order comparison: Gene order comparison: Before After Evolution is manifested as the divergence in gene order An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Transforming Cabbage into Turnip An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

What are the similarity blocks and how to find them? What are the similarity blocks and how to find them? What is the architecture of the ancestral genome? What is the architecture of the ancestral genome? What is the evolutionary scenario for transforming one genome into the other? What is the evolutionary scenario for transforming one genome into the other? Unknown ancestor ~ 75 million years ago Mouse (X chrom.) Human (X chrom.) Genome rearrangements An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

History of Chromosome X Rat Consortium, Nature, 2004 An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

A Genetic Anomaly…

Reversals Blocks represent conserved genes. Blocks represent conserved genes , 2, 3, 4, 5, 6, 7, 8, 9, 10 An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Reversals , 2, 3, -8, -7, -6, -5, -4, 9, 10 Blocks represent conserved genes. In the course of evolution or in a clinical context, blocks 1,…,10 could be misread as 1, 2, 3, -8, -7, -6, -5, -4, 9, 10. An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Reversals and Breakpoints , 2, 3, -8, -7, -6, -5, -4, 9, 10 The reversion introduced two breakpoints (disruptions in order). An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Reversals: Example 5’ ATGCCTGTACTA 3’ 3’ TACGGACATGAT 5’ 5’ ATGTACAGGCTA 3’ 3’ TACATGTCCGAT 5’ Break and Invert An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Types of Rearrangements Reversal Translocation Fusion Fission An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Comparative Genomic Architectures: Mouse vs Human Genome Humans and mice have similar genomes, but their genes are ordered differently Humans and mice have similar genomes, but their genes are ordered differently ~245 rearrangements ~245 rearrangements Reversals Reversals Fusions Fusions Fissions Fissions Translocation Translocation An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Waardenburg’s Syndrome: Mouse Provides Insight into Human Genetic Disorder Waardenburg’s syndrome is characterized by pigmentary dysphasia Waardenburg’s syndrome is characterized by pigmentary dysphasia Gene implicated in the disease was linked to human chromosome 2 but it was not clear where exactly it is located on chromosome 2 Gene implicated in the disease was linked to human chromosome 2 but it was not clear where exactly it is located on chromosome 2 An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Waardenburg’s syndrome and splotch mice A breed of mice (with splotch gene) had similar symptoms caused by the same type of gene as in humans A breed of mice (with splotch gene) had similar symptoms caused by the same type of gene as in humans Scientists succeeded in identifying location of gene responsible for disorder in mice Scientists succeeded in identifying location of gene responsible for disorder in mice Finding the gene in mice gives clues to where the same gene is located in humans Finding the gene in mice gives clues to where the same gene is located in humans An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Comparative Genomic Architecture of Human and Mouse Genomes To locate where corresponding gene is in humans, we have to analyze the relative architecture of human and mouse genomes To locate where corresponding gene is in humans, we have to analyze the relative architecture of human and mouse genomes An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Pevzner, P. and Tesler, G. (2003). Human and mouse genomic sequences reveal extensive breakpoint reuse in mammalian evolution. PNAS, 100 (13):

Reversals: Example  = A B C D E F G H  = A B C D E F G H  (3,5) A B E D C F G H A B E D C F G H An Introduction to Bioinformatics Algorithms (Jones and Pevzner) Note: we will ignore directionality of synteny blocks for the sake of simplicity…

Reversals: Example  = A B C D E F G H  = A B C D E F G H  (3,5) A B E D C F G H A B E D C F G H  (5,6) A B E D F C G H A B E D F C G H An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Reversals and Gene Orders Gene order is represented by a permutation  Gene order is represented by a permutation   1   i-1  i  i  j-1  j  j  n   1   i-1  j  j  i+1  i  j  n Reversal  ( i, j ) reverses (flips) the elements from i to j in  Reversal  ( i, j ) reverses (flips) the elements from i to j in  ,j) An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Reversal Distance Problem Goal: Given two permutations, find the shortest series of reversals that transforms one into another Goal: Given two permutations, find the shortest series of reversals that transforms one into another Input: Permutations  and  Input: Permutations  and  Output: A series of reversals  1,…  t transforming  into  such that t is minimum Output: A series of reversals  1,…  t transforming  into  such that t is minimum t : reversal distance between  and  t : reversal distance between  and  d( ,  ) : smallest possible value of t, given  and  d( ,  ) : smallest possible value of t, given  and  An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Sorting By Reversals Problem Goal: Given a permutation, find a shortest series of reversals that transforms it into the identity permutation (1 2 … n ) Goal: Given a permutation, find a shortest series of reversals that transforms it into the identity permutation (1 2 … n ) Input: Permutation  Input: Permutation  Output: A series of reversals  1, …  t transforming  into the identity permutation such that t is minimum Output: A series of reversals  1, …  t transforming  into the identity permutation such that t is minimum An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Sorting By Reversals: Example t =d(  ) = reversal distance of  t =d(  ) = reversal distance of  Example : Example :  =  = So d(  ) = 3 So d(  ) = 3 An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Sorting by reversals: 5 steps An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Sorting by reversals: 4 steps An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Sorting by reversals: 4 steps What is the minimum reversal distance for this permutation? Can it be sorted in 3 steps? An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Pancake Flipping Problem The chef is sloppy; he prepares an unordered stack of pancakes of different sizes The chef is sloppy; he prepares an unordered stack of pancakes of different sizes The waiter wants to rearrange them (so that the smallest winds up on top, and so on, down to the largest at the bottom) The waiter wants to rearrange them (so that the smallest winds up on top, and so on, down to the largest at the bottom) He does it by flipping over several from the top, repeating this as many times as necessary He does it by flipping over several from the top, repeating this as many times as necessary Christos Papadimitrou and William Gates flip pancakes An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Pancake Flipping Problem: Formulation Goal: Given a stack of n pancakes, what is the minimum number of flips to rearrange them into perfect stack? Goal: Given a stack of n pancakes, what is the minimum number of flips to rearrange them into perfect stack? Input: Permutation  Input: Permutation  Output: A series of prefix reversals  1, …  t transforming  into the identity permutation such that t is minimum Output: A series of prefix reversals  1, …  t transforming  into the identity permutation such that t is minimum An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Pancake Flipping Problem: Greedy Algorithm Greedy approach: 2 prefix reversals at most to place a pancake in its right position, 2(n – 1) steps total at most Greedy approach: 2 prefix reversals at most to place a pancake in its right position, 2(n – 1) steps total at most William Gates and Christos Papadimitriou showed in the mid-1970s that this problem can be solved by at most 5/3 (n + 1) prefix reversals William Gates and Christos Papadimitriou showed in the mid-1970s that this problem can be solved by at most 5/3 (n + 1) prefix reversals Note: our problem is a bit different in that we may not have to move (i.e., “flip”) some items in order to move others… Note: our problem is a bit different in that we may not have to move (i.e., “flip”) some items in order to move others… An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Sorting By Reversals: A Greedy Algorithm If sorting permutation  = , the first three elements are already in order so it does not make any sense to break them. If sorting permutation  = , the first three elements are already in order so it does not make any sense to break them. The length of the already sorted prefix of  is denoted prefix(  ) The length of the already sorted prefix of  is denoted prefix(  ) prefix(  ) = 3 prefix(  ) = 3 This results in an idea for a greedy algorithm: increase prefix(  ) at every step This results in an idea for a greedy algorithm: increase prefix(  ) at every step An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Doing so,  can be sorted Doing so,  can be sorted Greedy Algorithm: An Example An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Greedy Algorithm: Pseudocode SimpleReversalSort(  ) 1 for i  1 to n – 1 2 j  position of element i in  (i.e.,  j = i) 3 if j ≠i 4    *  (i, j) 5 output  6 if  is the identity permutation 7 return An Introduction to Bioinformatics Algorithms (Jones and Pevzner)   i=1 j=5  *  (i, j) =

Analyzing SimpleReversalSort SimpleReversalSort does not guarantee the smallest number of reversals and takes five steps on  = : SimpleReversalSort does not guarantee the smallest number of reversals and takes five steps on  = : Step 1: Step 1: Step 2: Step 2: Step 3: Step 3: Step 4: Step 4: Step 5: Step 5: An Introduction to Bioinformatics Algorithms (Jones and Pevzner) The number of reversal steps to sort a permutation of length n is at most (n – 1).

But it can be sorted in two steps: But it can be sorted in two steps:  = Step 1: Step 1: Step 2: Step 2: So, SimpleReversalSort(  ) is not optimal So, SimpleReversalSort(  ) is not optimal Optimal algorithms are unknown for many problems; approximation algorithms are used Optimal algorithms are unknown for many problems; approximation algorithms are used Analyzing SimpleReversalSort (cont ’ d) An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Approximation Algorithms These algorithms find approximate solutions rather than optimal solutions These algorithms find approximate solutions rather than optimal solutions The approximation ratio of an algorithm A on input  is: The approximation ratio of an algorithm A on input  is: A(  ) / OPT(  ) A(  ) / OPT(  )where A(  ) -solution produced by algorithm A OPT(  ) - optimal solution of the problem A(  ) -solution produced by algorithm A OPT(  ) - optimal solution of the problem An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Approximation Ratio/Performance Guarantee Approximation ratio (performance guarantee) of algorithm A: max approximation ratio of all inputs of size n Approximation ratio (performance guarantee) of algorithm A: max approximation ratio of all inputs of size n For algorithm A that minimizes objective function (minimization algorithm): For algorithm A that minimizes objective function (minimization algorithm): max |  | = n A(  ) / OPT(  ) max |  | = n A(  ) / OPT(  ) An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Approximation Ratio (Performance Guarantee) Approximation ratio (performance guarantee) of algorithm A: max approximation ratio of all inputs of size n Approximation ratio (performance guarantee) of algorithm A: max approximation ratio of all inputs of size n For algorithm A that minimizes objective function (minimization algorithm): For algorithm A that minimizes objective function (minimization algorithm): max |  | = n A(  ) / OPT(  ) max |  | = n A(  ) / OPT(  ) For maximization algorithm: For maximization algorithm: min |  | = n A(  ) / OPT(  ) min |  | = n A(  ) / OPT(  ) An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Recall: We are trying to minimize the number of reversals. In the worst case, we will make n-1 reversals for n elements when 2 would have been sufficient (e.g., consider again  = ), so m ax |  | = n A(  ) / OPT(  )  (n- 1)/2. For n=1001 the number of reversals undertaken by SimpleReversalSort could be as much as 500 times the optimal. Goal: algorithms with better approximation ratios (i.e., better performance guarantees). An Introduction to Bioinformatics Algorithms (Jones and Pevzner) What is the approximation ratio of SimpleReversalSort?

An Introduction to Bioinformatics Algorithms (Jones and Pevzner) Key: Try using something else (i.e., besides prefix(  ) as the basis for a greedy algorithm. How about “breakpoints”?

 =    2  3 …  n-1  n A pair of elements  i and  i + 1 are termed an adjacency if A pair of elements  i and  i + 1 are termed an adjacency if  i+1 =  i + 1  i+1 =  i + 1 For example: For example:  =  = (3, 4) or (7, 8) and (6,5) are adjacencies (3, 4) or (7, 8) and (6,5) are adjacencies Adjacencies and Breakpoints An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

There is a breakpoint between neighboring elements that are non-consecutive:  =  = Pairs (1,9), (9,3), (4,7), (8,2) and (2,6) form breakpoints of permutation  Pairs (1,9), (9,3), (4,7), (8,2) and (2,6) form breakpoints of permutation  b(  ) - # breakpoints in permutation  b(  ) - # breakpoints in permutation  Breakpoints: An Example An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Adjacency & Breakpoints An adjacency - a pair of neighboring elements that are consecutive A breakpoint - a pair of neighboring elements that are not consecutive π = adjacencies breakpoints Extend π with π 0 = 0 and π 7 = 7 An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

 = We put two elements  0 = 0 and  n + 1 = n+1 at the ends of  We put two elements  0 = 0 and  n + 1 = n+1 at the ends of Example: Extending with 0 and 10 Notes: 1.In the example above, a new breakpoint was created after extending. 2.A permutation on n elements may have as many as n+1 breakpoints and as few as 0. Extending Permutations  = An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Key: Because the non-consecutive elements  i and  i+1 forming a breakpoint must be separated in the process of transforming  to the identity permutation, sorting by reversals can be thought of as the process of eliminating breakpoints.

Each reversal can eliminate at most 2 breakpoints.  = b(  ) = b(  ) = b(  ) = b(  ) = 0 Reversal Distance and Breakpoints An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

 Each reversal eliminates at most 2 breakpoints.  This implies: d(  )  b(  )/2 i.e., reversal distance ≥ #breakpoints / 2 i.e., reversal distance ≥ #breakpoints / 2  = b(  ) = b(  ) = b(  ) = b(  ) = 0 Reversal Distance and Breakpoints An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Sorting By Reversals: A Better Greedy Algorithm BreakPointReversalSort(  ) 1 while b(  ) > 0 2 Among all possible reversals, choose reversal  minimizing b(   ) choose reversal  minimizing b(   ) 3     (i, j) 4 output  5 return An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Sorting By Reversals: A Better Greedy Algorithm BreakPointReversalSort(  ) 1 while b(  ) > 0 2 Among all possible reversals, choose reversal  minimizing b(   ) choose reversal  minimizing b(   ) 3     (i, j) 4 output  5 return Question: Will this algorithm terminate? (i.e., how do we know that eliminating one breakpoint doesn’t just introduce another?) An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Strips Strip: an interval between two consecutive breakpoints in a permutation Strip: an interval between two consecutive breakpoints in a permutation Decreasing strip: strip of elements in decreasing order (e.g. 6 5 and 3 2 ). Decreasing strip: strip of elements in decreasing order (e.g. 6 5 and 3 2 ). Increasing strip: strip of elements in increasing order (e.g. 7 8) Increasing strip: strip of elements in increasing order (e.g. 7 8) A single-element strip can be declared either increasing or decreasing. We will choose to declare them as decreasing with exception of the strips with 0 and n+1 A single-element strip can be declared either increasing or decreasing. We will choose to declare them as decreasing with exception of the strips with 0 and n+1 An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Reducing the Number of Breakpoints Theorem 1: If permutation  contains at least one decreasing strip, then there exists a reversal  which decreases the number of breakpoints (i.e. b(   ) < b(  ) ) If permutation  contains at least one decreasing strip, then there exists a reversal  which decreases the number of breakpoints (i.e. b(   ) < b(  ) ) An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Things To Consider For  = For  = b(  ) = b(  ) = 5 Choose decreasing strip with the smallest element k in  ( k = 2 in this case) Choose decreasing strip with the smallest element k in  ( k = 2 in this case) An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Things To Consider (cont’d) For  = For  = b(  ) = b(  ) = 5 Choose decreasing strip with the smallest element k in  ( k = 2 in this case) Choose decreasing strip with the smallest element k in  ( k = 2 in this case) An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Things To Consider (cont’d) For  = For  = b(  ) = b(  ) = 5 Choose decreasing strip with the smallest element k in  ( k = 2 in this case) Choose decreasing strip with the smallest element k in  ( k = 2 in this case) Find k – 1 in the permutation Find k – 1 in the permutation An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Things To Consider (cont’d) For  = For  = b(  ) = b(  ) = 5 Choose decreasing strip with the smallest element k in  ( k = 2 in this case) Choose decreasing strip with the smallest element k in  ( k = 2 in this case) Find k – 1 in the permutation Find k – 1 in the permutation Reverse the segment between k and k-1: Reverse the segment between k and k-1: b(  ) = b(  ) = b(  ) = b(  ) = 4 An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Reducing the Number of Breakpoints Again If there is no decreasing strip, there may be no reversal  that reduces the number of breakpoints (i.e. b(   ) ≥ b(  ) for any reversal  ). If there is no decreasing strip, there may be no reversal  that reduces the number of breakpoints (i.e. b(   ) ≥ b(  ) for any reversal  ). By reversing an increasing strip ( # of breakpoints stay unchanged ), we will create a decreasing strip at the next step. Then the number of breakpoints will be reduced in the next step (theorem 1). By reversing an increasing strip ( # of breakpoints stay unchanged ), we will create a decreasing strip at the next step. Then the number of breakpoints will be reduced in the next step (theorem 1). An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Things To Consider (cont’d) There are no decreasing strips in , for: There are no decreasing strips in , for:  = b(  ) = 3   (6,7) = b(  ) = 3  (6,7) does not change the # of breakpoints  (6,7) does not change the # of breakpoints  (6,7) creates a decreasing strip thus guaranteeing that the next step will decrease the # of breakpoints.  (6,7) creates a decreasing strip thus guaranteeing that the next step will decrease the # of breakpoints. An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

ImprovedBreakpointReversalSort ImprovedBreakpointReversalSort(  ) 1 while b(  ) > 0 2 if  has a decreasing strip 3 Among all possible reversals, choose reversal  that minimizes b(   ) that minimizes b(   ) 4 else 5 Choose a reversal  that flips an increasing strip in  6     7 output  8 return An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

ImprovedBreakPointReversalSort is an approximation algorithm with a performance guarantee of at most 4. Here’s why: ImprovedBreakPointReversalSort is an approximation algorithm with a performance guarantee of at most 4. Here’s why: It eliminates at least one breakpoint in every two steps, so there are at most 2b(  ) steps It eliminates at least one breakpoint in every two steps, so there are at most 2b(  ) steps Approximation ratio = 2b(  ) / d(  ) Approximation ratio = 2b(  ) / d(  ) Optimal algorithm eliminates at most 2 breakpoints in every step: d(  )  b(  ) / 2 Optimal algorithm eliminates at most 2 breakpoints in every step: d(  )  b(  ) / 2 Performance guarantee: Performance guarantee: ( 2b(  ) / d(  ) ) ?? [ 2b(  ) / (b(  ) / 2) ] ( 2b(  ) / d(  ) ) ?? [ 2b(  ) / (b(  ) / 2) ] ImprovedBreakpointReversalSort: Performance Guarantee An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

ImprovedBreakPointReversalSort is an approximation algorithm with a performance guarantee of at most 4. Here’s why: ImprovedBreakPointReversalSort is an approximation algorithm with a performance guarantee of at most 4. Here’s why: It eliminates at least one breakpoint in every two steps, so there are at most 2b(  ) steps It eliminates at least one breakpoint in every two steps, so there are at most 2b(  ) steps Approximation ratio = 2b(  ) / d(  ) Approximation ratio = 2b(  ) / d(  ) Optimal algorithm eliminates at most 2 breakpoints in every step: d(  )  b(  ) / 2 Optimal algorithm eliminates at most 2 breakpoints in every step: d(  )  b(  ) / 2 Performance guarantee: Performance guarantee: ( 2b(  ) / d(  ) )  [ 2b(  ) / (b(  ) / 2) ] = 4 ( 2b(  ) / d(  ) )  [ 2b(  ) / (b(  ) / 2) ] = 4 ImprovedBreakpointReversalSort: Performance Guarantee An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

Signed Permutations Up to this point, all permutations to sort were unsigned Up to this point, all permutations to sort were unsigned But genes have directions… so we should consider signed permutations But genes have directions… so we should consider signed permutations 5’5’ 3’3’  = An Introduction to Bioinformatics Algorithms (Jones and Pevzner)

We should, but we won’t right now…

GRIMM Web Server An Introduction to Bioinformatics Algorithms (Jones and Pevzner) Real genome architectures are represented by signed permutations Efficient algorithms to sort signed permutations have been developed GRIMM web server computes the reversal distances between signed permutations