halapi
hierarchichalalignmentformatapi
 All Classes Namespaces Functions Pages
Public Types | Public Member Functions | Protected Member Functions | Friends | List of all members
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: