All Classes Namespaces Functions Pages
hal::SegmentIterator Class Referenceabstract

`#include <halSegmentIterator.h>`

Inheritance diagram for hal::SegmentIterator:

## Public Member Functions

virtual void | toLeft (hal_index_t leftCutoff=NULL_INDEX) const =0
virtual void | toRight (hal_index_t rightCutoff=NULL_INDEX) const =0
virtual void | toSite (hal_index_t position, bool slice=true) const =0
Public Member Functions inherited from hal::SlicedSegment
virtual void | toReverse () const =0
virtual void | toReverseInPlace () const =0
virtual hal_offset_t | getStartOffset () const =0
virtual hal_offset_t | getEndOffset () const =0
virtual void | slice (hal_offset_t startOffset=0, hal_offset_t endOffset=0) const =0
virtual bool | getReversed () const =0
Public Member Functions inherited from hal::Segment
virtual void | setArrayIndex (Genome *genome, hal_index_t arrayIndex)=0
virtual void | setArrayIndex (const Genome *genome, hal_index_t arrayIndex) const =0
virtual const Genome * | getGenome () const =0
virtual Genome * | getGenome ()=0
virtual const Sequence * | getSequence () const =0
virtual Sequence * | getSequence ()=0
virtual hal_index_t | getStartPosition () const =0
virtual hal_index_t | getEndPosition () const =0
virtual hal_size_t | getLength () const =0
virtual void | getString (std::string &outString) const =0
virtual void | setCoordinates (hal_index_t startPos, hal_size_t length)=0
virtual hal_index_t | getArrayIndex () const =0
virtual bool | leftOf (hal_index_t genomePos) const =0
virtual bool | rightOf (hal_index_t genomePos) const =0
virtual bool | overlaps (hal_index_t genomePos) const =0
virtual bool | isFirst () const =0
virtual bool | isLast () const =0
virtual bool | isMissingData (double nThreshold) const =0
virtual bool | isTop () const =0
virtual hal_size_t | getMappedSegments (std::set< MappedSegmentConstPtr > &outSegments, const Genome *tgtGenome, const std::set< const Genome * > *genomesOnPath=NULL, bool doDupes=true, hal_size_t minLength=0) const =0
virtual void | print (std::ostream &os) const =0

## Friends

class | counted_ptr< SegmentIterator >
class | counted_ptr< const SegmentIterator >

## Detailed Description

Interface for general segment iterator. Common functionality for top and bottom iterators. A segment iterator implements the segment as well as the iterator interface.

## Member Function Documentation

virtual void hal::SegmentIterator::toLeft | ( | hal_index_t | leftCutoff = `NULL_INDEX` | ) | const

pure virtual

move iterator one segment to the left

Parameters

  leftCutoff | If the left segment contains the genome position (DNA coordinate) specified by leftCutoff the segment iterator is sliced to begin at this position (if the iterator is reversed, it moves in opposite direction)

virtual void hal::SegmentIterator::toRight | ( | hal_index_t | rightCutoff = `NULL_INDEX` | ) | const

pure virtual

move iterator one segment to the right

Parameters

  rightCutoff | If the right segment contains the genome position (DNA coordinate) specified by rightCutoff the segment iterator is sliced to end at this position (if the iterator is reversed, it moves in opposite direction)

virtual void hal::SegmentIterator::toSite | ( | hal_index_t | position,
|  | bool | slice = `true`
| ) |  | const

pure virtual

move iterator to position of dna site in genome

Parameters

  position | index of site in genome
  slice | if true, the returned iterator is sliced to correspond to just the single base. if false, the iterator corresponds to the entire segment. NOTE*** this function requires up to log2(N) time in current hdf5 imp. though it should be faster on average

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

- inc/halSegmentIterator.h