All Classes Namespaces Functions Pages
hal::Rearrangement Class Referenceabstract

`#include <halRearrangement.h>`

## Public Types

enum | ID { Insertion = 0, Deletion, Duplication, Translocation, Transposition, Inversion, Complex, Invalid, Gap, Missing, Nothing }

## Public Member Functions

virtual ID | getID () const =0
virtual hal_size_t | getLength () const =0
virtual hal_size_t | getNumContainedGaps () const =0
virtual hal_size_t | getNumContainedGapBases () const =0
virtual TopSegmentIteratorConstPtr | getLeftBreakpoint () const =0
virtual TopSegmentIteratorConstPtr | getRightBreakpoint () const =0
virtual bool | identifyFromLeftBreakpoint (TopSegmentIteratorConstPtr topSegment)=0
virtual bool | identifyDeletionFromLeftBreakpoint (TopSegmentIteratorConstPtr topSegment)=0
virtual std::pair< hal_index_t, hal_index_t > | getDeletedRange () const =0
virtual bool | identifyInsertionFromLeftBreakpoint (TopSegmentIteratorConstPtr topSegment)=0
virtual std::pair< hal_index_t, hal_index_t > | getInsertedRange () const =0
virtual std::pair< hal_index_t, hal_index_t > | getDuplicatedRange () const =0
virtual bool | identifyNext ()=0
virtual hal_size_t | getGapLengthThreshold () const =0
virtual void | setGapLengthThreshold (hal_size_t threshold)=0
virtual void | setAtomic (bool atomic)=0
virtual bool | getAtomic () const =0
virtual void | setNThreshold (double nThreshold)=0
virtual double | getNThreshold () const =0

## Protected Member Functions

virtual | ~Rearrangement ()=0

## Friends

class | counted_ptr< Rearrangement >
class | counted_ptr< const Rearrangement >

## Detailed Description

Interface for a rearrangement operation. Rearrangements are specifed by pairs of breakpoints in a top segment array. For now they are two-break (balance or not) rearrangements and translocations. Anything else will will be labled complex for now.

## Constructor & Destructor Documentation

hal::Rearrangement::~Rearrangement | ( |  | ) |

inlineprotectedpure virtual

Destructor

## Member Function Documentation

virtual std::pair<hal_index_t, hal_index_t> hal::Rearrangement::getDeletedRange | ( |  | ) | const

pure virtual

Get the range in the parent that was deleted. Only valid to call this immediately after identifying a deletion with either of the above two functions. Otherwise, results are undefined

virtual std::pair<hal_index_t, hal_index_t> hal::Rearrangement::getDuplicatedRange | ( |  | ) | const

pure virtual

Get the range in the parent that was duplicated. Only valid to call this immediately after identifying a duplication. Otherwise, results are undefined

virtual hal_size_t hal::Rearrangement::getGapLengthThreshold | ( |  | ) | const

pure virtual

Return the maximum size of a simple indel such that it will be considered a gap (and factored out of breakpoint computations)

virtual ID hal::Rearrangement::getID | ( |  | ) | const

pure virtual

Get the ID of the rearrangement

virtual std::pair<hal_index_t, hal_index_t> hal::Rearrangement::getInsertedRange | ( |  | ) | const

pure virtual

Get the range in the parent that was inserted. Only valid to call this immediately after identifying a insertion. Otherwise, results are undefined

virtual TopSegmentIteratorConstPtr hal::Rearrangement::getLeftBreakpoint | ( |  | ) | const

pure virtual

Left breakpoint is specified by the first base of the returned segment

virtual hal_size_t hal::Rearrangement::getLength | ( |  | ) | const

pure virtual

Get the length of a rearrangement (ie number of bases that were inserted, deleted, moved, etc

virtual hal_size_t hal::Rearrangement::getNumContainedGapBases | ( |  | ) | const

pure virtual

Get the total size (in bases) of gaps within the arrangement. Gaps are dependent on the gap threshold that can be specified below...

virtual hal_size_t hal::Rearrangement::getNumContainedGaps | ( |  | ) | const

pure virtual

Get the number of gaps within the arrangement. Gaps are dependent on the gap threshold that can be specified below...

virtual TopSegmentIteratorConstPtr hal::Rearrangement::getRightBreakpoint | ( |  | ) | const

pure virtual

Right breakpoint is specified by the last base of the returned segment

virtual bool hal::Rearrangement::identifyDeletionFromLeftBreakpoint | ( | TopSegmentIteratorConstPtr | topSegment | ) |

pure virtual

Test if segment at given index corresponds to a deletion (shortcut method used by column iterator)

virtual bool hal::Rearrangement::identifyFromLeftBreakpoint | ( | TopSegmentIteratorConstPtr | topSegment | ) |

pure virtual

Identify the rearrangement by scanning along the genome, skipping gaps until the matching breeakpoint is found. If no matching breakpint is found, the rearrangement cannot be identified and false is returned

virtual bool hal::Rearrangement::identifyInsertionFromLeftBreakpoint | ( | TopSegmentIteratorConstPtr | topSegment | ) |

pure virtual

Test if segment at given index corresponds to a breakpoint right before an insertion (shortcut method used by column iterator)

virtual bool hal::Rearrangement::identifyNext | ( |  | ) |

pure virtual

Start scanning from last identified breakpoint

virtual void hal::Rearrangement::setAtomic | ( | bool | atomic | ) |

pure virtual

Set atomic behaviour (so gaps and compatible segments are not used to merge larger segments. Will overcount rearrangements but useful sometimes (ie column iteraor). Will automatically set the gap threshold to 0.

virtual void hal::Rearrangement::setGapLengthThreshold | ( | hal_size_t | threshold | ) |

pure virtual

Specify the maximum size of a simple indel such that it will be considered a gap (and factored out of breakpoint computations)

The documentation for this class was generated from the following file:

- inc/halRearrangement.h