All Classes Namespaces Functions Pages
hal::TopSegmentIterator Class Referenceabstract

`#include <halTopSegmentIterator.h>`

Inheritance diagram for hal::TopSegmentIterator:

## Public Member Functions

virtual TopSegmentIteratorPtr | copy ()=0
virtual TopSegmentIteratorConstPtr | copy () const =0
virtual void | copy (TopSegmentIteratorConstPtr ts) const =0
virtual void | toChild (BottomSegmentIteratorConstPtr bs, hal_size_t child) const =0
virtual void | toChildG (BottomSegmentIteratorConstPtr bs, const Genome *childGenome) const =0
virtual void | toParseUp (BottomSegmentIteratorConstPtr bs) const =0
virtual TopSegment * | getTopSegment ()=0
virtual const TopSegment * | getTopSegment () const =0
virtual bool | equals (TopSegmentIteratorConstPtr other) const =0
virtual void | toNextParalogy () const =0
Public Member Functions inherited from hal::TopSegment
virtual hal_index_t | getParentIndex () const =0
virtual bool | hasParent () const =0
virtual void | setParentIndex (hal_index_t parIdx)=0
virtual bool | getParentReversed () const =0
virtual void | setParentReversed (bool isReversed)=0
virtual hal_index_t | getBottomParseIndex () const =0
virtual void | setBottomParseIndex (hal_index_t botParseIdx)=0
virtual hal_offset_t | getBottomParseOffset () const =0
virtual bool | hasParseDown () const =0
virtual hal_index_t | getNextParalogyIndex () const =0
virtual bool | hasNextParalogy () const =0
virtual void | setNextParalogyIndex (hal_index_t parIdx)=0
virtual hal_index_t | getLeftParentIndex () const =0
virtual hal_index_t | getRightParentIndex () const =0
virtual bool | isCanonicalParalog () 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
Public Member Functions inherited from hal::SegmentIterator
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

## Friends

class | counted_ptr< TopSegmentIterator >
class | counted_ptr< const TopSegmentIterator >

## Detailed Description

Interface for top segment iterator exposes the top segment interface and some new methods for jumping around the genome. Always hidden in smart pointers in the public interface.

## Member Function Documentation

virtual TopSegmentIteratorPtr hal::TopSegmentIterator::copy | ( |  | ) |

pure virtual

Return a new copy of the iterator

virtual TopSegmentIteratorConstPtr hal::TopSegmentIterator::copy | ( |  | ) | const

pure virtual

Return a new copy of the iterator

virtual void hal::TopSegmentIterator::copy | ( | TopSegmentIteratorConstPtr | ts | ) | const

pure virtual

Copy an input iterator. More efficient than the above methods as no new iterator needs to be allocated

Parameters

  ts | Iterator to copy

virtual bool hal::TopSegmentIterator::equals | ( | TopSegmentIteratorConstPtr | other | ) | const

pure virtual

Test equality with other iterator (current implementation does not take into account reverse state or offsets – too review)

Parameters

  other | Iterator to test equality to

virtual TopSegment* hal::TopSegmentIterator::getTopSegment | ( |  | ) |

pure virtual

DEPRECATED

virtual const TopSegment* hal::TopSegmentIterator::getTopSegment | ( |  | ) | const

pure virtual

DEPRECATED

virtual void hal::TopSegmentIterator::toChild | ( | BottomSegmentIteratorConstPtr | bs,
|  | hal_size_t | child
| ) |  | const

pure virtual

Move the iterator to the child of a given bottom segment

Parameters

  bs | Bottom segment whose child will be moved to
  child | Index of child in bottom segment's genome

virtual void hal::TopSegmentIterator::toChildG | ( | BottomSegmentIteratorConstPtr | bs,
|  | const Genome * | childGenome
| ) |  | const

pure virtual

Move the iterator to the child of a given bottom segment

Parameters

  bs | Bottom segment whose child will be moved to
  childGenome | genome of child in bottom segment

virtual void hal::TopSegmentIterator::toNextParalogy | ( |  | ) | const

pure virtual

Move iterator to next paralgous segment. Iterator will be reversed if the next segment is in a different orientation wrt their common parent

virtual void hal::TopSegmentIterator::toParseUp | ( | BottomSegmentIteratorConstPtr | bs | ) | const

pure virtual

Given a bottom segment, move to the top segment that contains its start position. The genome remains unchanged. The iterator will be sliced accordingly (reversed state also taken into account)

Parameters

  bs | Bottom segment to parse up from

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

- inc/halTopSegmentIterator.h