Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Sorting by reversals Bogdan Pasaniuc Dept. of Computer Science & Engineering."— Presentation transcript:

1 Sorting by reversals Bogdan Pasaniuc Dept. of Computer Science & Engineering

2 Overview Biological background Definitions Unsigned Permutations  Approximation Algorithm Sorting Signed Permutations  Simplified Algorithm

3 What is the evolutionary path ? What is the ancestor chromosome? Chromosomes  lists of genes  permutation Unknown ancestor Human (X chrom.) Mouse (X chrom.)

4 Mutation at chromosome level  Inversion ( )  ( )  Transposition ( )  ( )  Translocation ( )  ( ) Inversions  Known as reversals  The most common  Most often reflect the differences between and within species What is the minimum number of reversals required to transform one perm. into another? Reversal distance  good approx. for evolutionary distance

5 , 2, 3, 4, 5, 6, 7, 8, 9, 10 Reversals Genes (blocks)

6 Reversals , 2, 3, 8, 7, 6, 5, 4, 9, 10

7 Reversals Breakpoints 1, 2, 3, 8, 7, 6, 5, 4, 9, 10

8 Given a perm. , find a minimum length series of reversals  1, …,  t, such that  o  1 o  2 …. o  t = (1, 2, …, n) In 1997 A. Caprara proved that this problem is NP-hard Sorting by Reversals

9 Breakpoint  a pair of adjacent positions (i,i+1) s. t. |  i -  i+1 | ≠ 1 The values  i  i+1 are not consecutive If |  i -  i+1 | = 1 then the values  i  i+1 are adjacent Introduce  0 = 0,  n+1 = n+1   (0,1) breakpoint if  1 ≠ 1   (n,n+1) breakpoint if  n ≠ n A reversal affects the breakpoints only at its endpoints  Any reversal can remove or induce at most 2 bkpts.

10 Strip  A maximal run of increasing (decreasing) elements. Identity permutation has no breakpoints and any other permutation has at least one breakpoint Greedy  at each step remove the maximum number of breakpoints. Ф(  ) = number of breakpoints in  While( Ф(  ) > 0)  Choose a reversal that removes the maximum number of breakpoints. (if there is a tie favor the reversal that leaves a decreasing strip) Greedy ends in at most Ф(  ) steps.

11 Quality of approximation Lemma1: Every permutation with a decreasing strip has a reversal that removes one breakpoint. Proof: consider the decreasing strip with  i being the smallest   i -1 must be in an increasing strip that lies to the left or right Breakpoint that will be removed

12 Lemma2:  has a decreasing strip. If every reversal that removes one bkpt leaves a permutation with no decreasing strips   has a reversal that removes two bkpts. Proof: consider the decreasing strip with  i being the smallest  increasing strip must be to the left.   i consider the decreasing strip with  j being the largest  decreasing strip containing  j +1 must be to the right.   j

13 Fact 1:  i and  j must overlap   j must lie in  i  if it doesn’t then  o  i has the decreasing strip that contains  j   i must lie in  j  if it doesn’t then  o  j has the decreasing strip that contains  i

14 Fact 2.  i =  j If  i -  j ≠ 0 then - if  i -  j contains an increasing strip   o  j has a decreasing strip - if  i -  j contains an decreasing strip   o  i has a decreasing strip Then  =  i =  removes 2 breakpoints.

15 Lemma 3: Greedy solves a permutation with a decreasing strip in at most Ф(  ) – 1 reversals Obs:  if  i has no decreasing strip  at step i-1 the reversal removed 2 bkpts.   we can use one reversal to create a decr. strip  exists a reversal that removes at least one bkpt Theorem1: Greedy sorts every permutation in at most Ф(  ) reversals.  If  has a decreasing strip  at most Ф(  ) -1 reversals  If  has no decreasing strip  every reversal induces a decreasing strip  after one step we can apply lemma3  at most Ф(  ) reversals

16 Corollary: Greedy is a 2-approximation algorithm  Every reversal removes at most 2 bkpts  OPT(  ) ≥ Ф(  ) /2 ≥ Greedy(  ) /2   Greedy(  ) ≤ 2* OPT(  ). Runtime  #of steps  O(n).  At each step we need to analyze reversals  O(n 2 ).  Total runtime = O(n 3 ).  analyze only reversals that remove bkpts  O(n 2 ).

17 Signed permutations:  reversals change the sign: (1,2,3,4,5,6,7,8,9,10)  (1,2,3,-8,-7,-6,-5,-4,9,10) Problem: Given a signed perm., find the minimum length series of reversals that transforms it into the identity perm.  polynomial algorithm (Hannenhalli&Pevzner ’95)  relies on several intermediary constructions  these constructions have been simplified  first completely elementary treatment of the problem (Bergeron ’05)

18 Oriented pair  a pair of consecutive integers with different signs (0,3,1,6,5,-2,4,7)  o.p. (3,-2) and (1,-2). o.p.  reversals that create consecutive integers (3,-2) : (0,3,1,6,5,-2,4,7)  (0,3,2,-5,-6,-1,4,7) (1,-2) : (0,3,1,6,5,-2,4,7)  (0,3,-5,-6,-1,-2,4,7) Oriented reversal: reversal that creates consecutive integers Score of a reversal: # of oriented pairs it creates.

19 Algorithm1: As long as  has an oriented pair, choose the oriented reversal that has the maximal score.  output will be a permutation with positive elements.   0 and  n+1 are positive;  if there is a negative element there exists an o.p. Claim1: If Alg1 applies k reversals to , yielding  ’ then d(  ) = d(  ’) + k.

20 Sorting positive perms.:  - signed perm. with positive elements - circular order: 0 successor of n+1.  - reduced if it does not contain consecutive elements.  framed interval in  : i  j+1  j+2 …  j+k-1 i+k s.t. i <  j+1  j+2 …  j+k-1 < i+k ( )  hurdle a framed int. that contains no shorter framed int. ( )

21 Idea: create oriented pairs and then apply Algorithm1 Operations on Hurdles: Hurdle Cutting: i  j+1  j+2 …i+1…  j+k-1 i+k ( )  ( ) Hurdle Merging: i … i+k … i’ … i’…i’+k’ ( ) Simple hurdle  if cutting it decreases the # of hurdles Super hurdles  if cutting it increases the # of hurdles ( )

22 Algorithm2:  has 2k hurdles  merge any two non-consecutive hurdles  has 2k+1 hurdles  cut one simple hurdle (if it has none merge any two non-consecutive) Claim2: Alg1 + Alg2 optimally sort any signed perm.

23 Proof of claims:  breakpoint graph  1. each positive el x  2x-1,2x and each negative (-x)  2x,2x-1 ( ) ( ) arcs

24 Arcs  oriented if they span an odd # of elements Arc overlap graph:  Vertices -> arcs from breakpoint graph  Edges  arcs overlap

25 Every oriented vertex corresponds to an oriented pair. Fact2: Score of an oriented reversal (oriented vertex v) is T+U-O+1. T= #oriented vertices. U= #unoriented vertices adjacent to v O= #oriented vertices adjacent to v Oriented component  if it contains an oriented v Safe reversal  does not create new unoriented components.

26 Theorem (Hannenhalli&Pevzner). Any sequence of oriented safe reversals is optimal. Theorem. An oriented reversal of maximal score is safe.  claim1 holds. Claim2 is proven in a similar manner.

27 J. Kececioglu and D. Sankoff. Exact and approximation algorithms for sorting by reversals, with application to genome rearrangement A. Bergeron. A very elementary presentation of the Hannenhalli-Pevzner Theory A. Caprara. Sorting by reversals is difficult S. Hannenhalli and Pavel Pevzner. Transforming cabbage into turnip: polynomial algorithm for sorting signed permutations by reversals. 1999


Download ppt "Sorting by reversals Bogdan Pasaniuc Dept. of Computer Science & Engineering."

Similar presentations


Ads by Google