halapi
hierarchichalalignmentformatapi
 All Classes Namespaces Functions Pages
Public Member Functions | Friends | List of all members
hal::TopSegmentIterator Class Referenceabstract

#include <halTopSegmentIterator.h>

Inheritance diagram for hal::TopSegmentIterator:
hal::TopSegment hal::SegmentIterator hal::Segment hal::SlicedSegment hal::Segment

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 TopSegmentgetTopSegment ()=0
 
virtual const TopSegmentgetTopSegment () 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 GenomegetGenome () const =0
 
virtual GenomegetGenome ()=0
 
virtual const SequencegetSequence () const =0
 
virtual SequencegetSequence ()=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
tsIterator 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
otherIterator 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
bsBottom segment whose child will be moved to
childIndex 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
bsBottom segment whose child will be moved to
childGenomegenome 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
bsBottom segment to parse up from

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