baobab.bio.permutation
Class SignedPermutationReversalFilter

java.lang.Object
  extended by baobab.bio.permutation.SignedPermutationReversalFilter
Direct Known Subclasses:
ComplexSignedPermutationReversalFilter

public class SignedPermutationReversalFilter
extends java.lang.Object

The SignedPermutationReversalFilter filters valid reversal blocks for a SignedPermutation

Version:
1.0, June 2006
Author:
Marilia D. V. Braga

Method Summary
 java.util.TreeSet getContainerReversalsStartingAfter(int position, Point point)
          Gets the reversals starting after a specific position (inclusive) which contain a given point
 java.util.TreeSet getCycleSplittingReversals()
          Gets the list of cycle splitting reversals of this permutation
 java.util.Vector<int[]> getCycleSplittingReversalsAsArraysOfInt()
          Gets the list of cycle splitting reversals of this permutation
 java.util.TreeSet<SignedReversalBlock> getCycleSplittingReversalsBetweenIntervals(int[] interval1, int[] interval2)
          Gets the list of cycle splitting reversals of this permutation which start within the first given interval and end within the second given interval
 java.util.Vector<int[]> getCycleSplittingReversalsBetweenIntervalsAsArraysOfInt(int[] interval1, int[] interval2)
          Gets the list of cycle splitting reversals of this permutation which start within the first given interval and end within the second given interval
 java.util.TreeSet<SignedReversalBlock> getCycleSplittingReversalsStartingAt(int position)
          Gets the list of cycle splitting reversals starting exactly at a specific position
 java.util.TreeSet<SignedReversalBlock> getCycleSplittingReversalsWithinIntervals(java.util.Vector<int[]> intervals)
          Gets the list of proper reversals of this permutation within the given intervals
 java.util.Vector<int[]> getCycleSplittingReversalsWithinIntervalsAsArraysOfInt(java.util.Vector<int[]> intervals)
          Gets the list of proper reversals of this permutation within the given intervals
 SignedReversalBlock getFirstShortestReversalStartingAfter(int position)
          Gets the first shortest reversal starting after a specific position (inclusive)
 SignedReversalBlock getLastLongestReversalStartingAfter(int position)
          Gets the last longest reversal starting after a specific position (inclusive)
 SignedReversalBlock getLongestCycleSplittingReversalStartingAt(int position)
          Gets the longest cycle splitting reversal starting exactly at a specific position
 SignedReversalBlock getLongestReversalStartingAt(int position)
          Gets the longest reversal starting exactly at a specific position
 SignedPermutation getPermutation()
           
 java.util.TreeSet<SignedReversalBlock> getReversalsStartingAt(int position)
          Gets the reversals starting exactly at a specific position
 SignedReversalBlock getShortestContainerReversalStartingAfter(int position, Point point)
          Gets the shortest reversal block starting after a specific position (inclusive) that contains a given point
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getPermutation

public SignedPermutation getPermutation()

getReversalsStartingAt

public java.util.TreeSet<SignedReversalBlock> getReversalsStartingAt(int position)
Gets the reversals starting exactly at a specific position

Parameters:
position - a given position
Returns:
a collection containing the reversals

getContainerReversalsStartingAfter

public java.util.TreeSet getContainerReversalsStartingAfter(int position,
                                                            Point point)
Gets the reversals starting after a specific position (inclusive) which contain a given point

Parameters:
position - a given position
point - a given point
Returns:
a collection with the reversals

getLongestReversalStartingAt

public SignedReversalBlock getLongestReversalStartingAt(int position)
Gets the longest reversal starting exactly at a specific position

Parameters:
position - a given position
Returns:
a reversal block

getLastLongestReversalStartingAfter

public SignedReversalBlock getLastLongestReversalStartingAfter(int position)
Gets the last longest reversal starting after a specific position (inclusive)

Parameters:
position - a given position
Returns:
a reversal block

getFirstShortestReversalStartingAfter

public SignedReversalBlock getFirstShortestReversalStartingAfter(int position)
Gets the first shortest reversal starting after a specific position (inclusive)

Returns:
a reversal block

getShortestContainerReversalStartingAfter

public SignedReversalBlock getShortestContainerReversalStartingAfter(int position,
                                                                     Point point)
Gets the shortest reversal block starting after a specific position (inclusive) that contains a given point

Parameters:
position - a given position
point - a given point
Returns:
a reversal block

getCycleSplittingReversalsStartingAt

public java.util.TreeSet<SignedReversalBlock> getCycleSplittingReversalsStartingAt(int position)
Gets the list of cycle splitting reversals starting exactly at a specific position

Parameters:
position - a given position
Returns:
a Collection with the list of reversal blocks

getLongestCycleSplittingReversalStartingAt

public SignedReversalBlock getLongestCycleSplittingReversalStartingAt(int position)
Gets the longest cycle splitting reversal starting exactly at a specific position

Parameters:
position - a given position
Returns:
a reversal block

getCycleSplittingReversalsBetweenIntervals

public java.util.TreeSet<SignedReversalBlock> getCycleSplittingReversalsBetweenIntervals(int[] interval1,
                                                                                         int[] interval2)
Gets the list of cycle splitting reversals of this permutation which start within the first given interval and end within the second given interval

Parameters:
interval1 - (length=2, start and end positions of the first interval)
interval2 - (length=2, start and end positions of the second interval)
Returns:
a Collection with the blocks representing the proper reversals

getCycleSplittingReversalsBetweenIntervalsAsArraysOfInt

public java.util.Vector<int[]> getCycleSplittingReversalsBetweenIntervalsAsArraysOfInt(int[] interval1,
                                                                                       int[] interval2)
Gets the list of cycle splitting reversals of this permutation which start within the first given interval and end within the second given interval

Parameters:
interval1 - (length=2, start and end positions of the first interval)
interval2 - (length=2, start and end positions of the second interval)
Returns:
a Collection with the blocks representing the proper reversals

getCycleSplittingReversalsWithinIntervals

public java.util.TreeSet<SignedReversalBlock> getCycleSplittingReversalsWithinIntervals(java.util.Vector<int[]> intervals)
Gets the list of proper reversals of this permutation within the given intervals

Parameters:
intervals - a Vector of int[] (length=2, start and end positions of an interval)
Returns:
a Collection with the blocks representing the proper reversals

getCycleSplittingReversals

public java.util.TreeSet getCycleSplittingReversals()
Gets the list of cycle splitting reversals of this permutation

Returns:
a Vector with the list of oriented intervals

getCycleSplittingReversalsAsArraysOfInt

public java.util.Vector<int[]> getCycleSplittingReversalsAsArraysOfInt()
Gets the list of cycle splitting reversals of this permutation

Returns:
a Vector with the list of splitting reversals

getCycleSplittingReversalsWithinIntervalsAsArraysOfInt

public java.util.Vector<int[]> getCycleSplittingReversalsWithinIntervalsAsArraysOfInt(java.util.Vector<int[]> intervals)
Gets the list of proper reversals of this permutation within the given intervals

Parameters:
intervals - a Vector of int[] (length=2, start and end positions of an interval)
Returns:
a Collection with the blocks representing the proper reversals