All Classes Namespaces Functions Pages
hal::SegmentedSequence Class Referenceabstract

`#include <halSegmentedSequence.h>`

Inheritance diagram for hal::SegmentedSequence:

## Public Member Functions

virtual hal_size_t | getSequenceLength () const =0
virtual hal_size_t | getNumTopSegments () const =0
virtual hal_size_t | getNumBottomSegments () const =0
virtual TopSegmentIteratorPtr | getTopSegmentIterator (hal_index_t position=0)=0
virtual TopSegmentIteratorConstPtr | getTopSegmentIterator (hal_index_t position=0) const =0
virtual TopSegmentIteratorConstPtr | getTopSegmentEndIterator () const =0
virtual BottomSegmentIteratorPtr | getBottomSegmentIterator (hal_index_t position=0)=0
virtual BottomSegmentIteratorConstPtr | getBottomSegmentIterator (hal_index_t position=0) const =0
virtual BottomSegmentIteratorConstPtr | getBottomSegmentEndIterator () const =0
virtual DNAIteratorPtr | getDNAIterator (hal_index_t position=0)=0
virtual DNAIteratorConstPtr | getDNAIterator (hal_index_t position=0) const =0
virtual DNAIteratorConstPtr | getDNAEndIterator () const =0
virtual ColumnIteratorConstPtr | getColumnIterator (const std::set< const Genome * > *targets=NULL, hal_size_t maxInsertLength=0, hal_index_t position=0, hal_index_t lastPosition=NULL_INDEX, bool noDupes=false, bool noAncestors=false, bool reverseStrand=false) const =0
virtual void | getString (std::string &outString) const =0
virtual void | setString (const std::string &inString)=0
virtual void | getSubString (std::string &outString, hal_size_t start, hal_size_t length) const =0
virtual void | setSubString (const std::string &inString, hal_size_t start, hal_size_t length)=0
virtual RearrangementPtr | getRearrangement (hal_index_t position, hal_size_t gapLengthThreshold, double nThreshold, bool atomic=false) const =0
virtual GappedTopSegmentIteratorConstPtr | getGappedTopSegmentIterator (hal_index_t i, hal_size_t gapThreshold, bool atomic=false) const =0
virtual GappedBottomSegmentIteratorConstPtr | getGappedBottomSegmentIterator (hal_index_t i, hal_size_t childIdx, hal_size_t gapThreshold, bool atomic=false) const =0

## Protected Member Functions

virtual | ~SegmentedSequence ()=0

## Detailed Description

Interface for a sequence of DNA that is also broken up into top and bottom segments. This interface is extended by both the Genome and Sequence classes.

Todo: Implenent the "Last" or maybe (right / left) iterator notion, which will make looping easier and more general.

## Constructor & Destructor Documentation

hal::SegmentedSequence::~SegmentedSequence | ( |  | ) |

inlineprotectedpure virtual

Destructor

## Member Function Documentation

virtual BottomSegmentIteratorConstPtr hal::SegmentedSequence::getBottomSegmentEndIterator | ( |  | ) | const

pure virtual

Get a bottomSegment end iterator (one beyond last element in list)

virtual BottomSegmentIteratorPtr hal::SegmentedSequence::getBottomSegmentIterator | ( | hal_index_t | position = `0` | ) |

pure virtual

Get a bottom segment iterator

Parameters

  position | Index in segment array of returned iterator

virtual BottomSegmentIteratorConstPtr hal::SegmentedSequence::getBottomSegmentIterator | ( | hal_index_t | position = `0` | ) | const

pure virtual

Get a const bottom segment iterator

Parameters

  position | Index in segment array of returned iterator

virtual ColumnIteratorConstPtr hal::SegmentedSequence::getColumnIterator | ( | const std::set< const Genome * > * | targets = `NULL`,
|  | hal_size_t | maxInsertLength = `0`,
|  | hal_index_t | position = `0`,
|  | hal_index_t | lastPosition = `NULL_INDEX`,
|  | bool | noDupes = `false`,
|  | bool | noAncestors = `false`,
|  | bool | reverseStrand = `false`
| ) |  | const

pure virtual

Get a column iterator

Parameters

  targets

  Only genomes in this set are visited
  - (note that other genomes in their spanning tree will be
  - traversed as necessary but not reported)

  maxInsertLength | maximum insertion to be traversed
  position | Index in sequence of returned iterator
  noDupes | Don't follow paralogy edges
  noAncestors | Don't report any non-leaf nodes in output
  reverseStrand | Map from reverse strand of this sequence (but still in a left-to-right direction of forward strand)

virtual DNAIteratorConstPtr hal::SegmentedSequence::getDNAEndIterator | ( |  | ) | const

pure virtual

Get a DNA end iterator (one beyond last element in list)

virtual DNAIteratorPtr hal::SegmentedSequence::getDNAIterator | ( | hal_index_t | position = `0` | ) |

pure virtual

Get a DNA iterator

Parameters

  position | Index in genome of returned iterator

virtual DNAIteratorConstPtr hal::SegmentedSequence::getDNAIterator | ( | hal_index_t | position = `0` | ) | const

pure virtual

Get a const DNA iterator

Parameters

  position | Index in genome of returned iterator

virtual GappedBottomSegmentIteratorConstPtr hal::SegmentedSequence::getGappedBottomSegmentIterator | ( | hal_index_t | i,
|  | hal_size_t | childIdx,
|  | hal_size_t | gapThreshold,
|  | bool | atomic = `false`
| ) |  | const

pure virtual

Get a gapped iterator (experimental) REMINDER: ther iterator is extended from the left-to-right along the sequence from i. A seperate function is needed to, say, get the last iterator from a sequence (not a big deal since the functinality is already in the implementation (extendLeft)

virtual GappedTopSegmentIteratorConstPtr hal::SegmentedSequence::getGappedTopSegmentIterator | ( | hal_index_t | i,
|  | hal_size_t | gapThreshold,
|  | bool | atomic = `false`
| ) |  | const

pure virtual

Get a gapped iterator (experimental) REMINDER: ther iterator is extended from the left-to-right along the sequence from i. A seperate function is needed to, say, get the last iterator from a sequence (not a big deal since the functinality is already in the implementation (extendLeft)

virtual hal_size_t hal::SegmentedSequence::getNumBottomSegments | ( |  | ) | const

pure virtual

Get the number of bottom segments (which form blocks with the children) in the sequence

virtual hal_size_t hal::SegmentedSequence::getNumTopSegments | ( |  | ) | const

pure virtual

Get the number of top segements (which form blocks with ancestor and siblings) in the sequence

virtual RearrangementPtr hal::SegmentedSequence::getRearrangement | ( | hal_index_t | position,
|  | hal_size_t | gapLengthThreshold,
|  | double | nThreshold,
|  | bool | atomic = `false`
| ) |  | const

pure virtual

Get a rearrangement object

Parameters

  position | Position of topsegment defining first breakpoint of rearrangement
  gapLengthThreshold | The maximum size of a simple indel such that it will be considered a gap (and factored out of breakpoint computations)
  nThreshold | Maximum fraction (between 0 and 1) of N's in a rearrangement for it not to be flagged as missing data
  atomic | Never merge segments together into a rearrangement. Generally for internal use

virtual hal_size_t hal::SegmentedSequence::getSequenceLength | ( |  | ) | const

pure virtual

Get the total length of the DNA sequence in the sequence

virtual void hal::SegmentedSequence::getString | ( | std::string & | outString | ) | const

pure virtual

Get the character string underlying the segmented sequence

Parameters

  outString | String object into which we copy the result

virtual void hal::SegmentedSequence::getSubString | ( | std::string & | outString,
|  | hal_size_t | start,
|  | hal_size_t | length
| ) |  | const

pure virtual

Get the substring of character string underlying the segmented sequence

Parameters

  outString | String object into which we copy the result
  start | First position of substring
  length | Length of substring

virtual TopSegmentIteratorConstPtr hal::SegmentedSequence::getTopSegmentEndIterator | ( |  | ) | const

pure virtual

Get a topSegment end iterator (one beyond last element in list)

virtual TopSegmentIteratorPtr hal::SegmentedSequence::getTopSegmentIterator | ( | hal_index_t | position = `0` | ) |

pure virtual

Get a top segment iterator

Parameters

  position | Index in segment array of returned iterator

virtual TopSegmentIteratorConstPtr hal::SegmentedSequence::getTopSegmentIterator | ( | hal_index_t | position = `0` | ) | const

pure virtual

Get a const top segment iterator

Parameters

  position | Index in segment array of returned iterator

virtual void hal::SegmentedSequence::setString | ( | const std::string & | inString | ) |

pure virtual

Set the character string underlying the segmented sequence

Parameters

  inString | input string to copy

virtual void hal::SegmentedSequence::setSubString | ( | const std::string & | inString,
|  | hal_size_t | start,
|  | hal_size_t | length
| ) |  |

pure virtual

Set the character string underlying the segmented sequence

Parameters

  inString | input string to copy
  start | First position of substring
  length | Length of substring

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

- inc/halSegmentedSequence.h