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

#include <halSegmentIterator.h>

Inheritance diagram for hal::SegmentIterator:
hal::SlicedSegment hal::Segment hal::BottomSegmentIterator hal::GappedSegmentIterator hal::TopSegmentIterator hal::GappedBottomSegmentIterator hal::GappedTopSegmentIterator

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 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
 

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
leftCutoffIf 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
rightCutoffIf 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
positionindex of site in genome
sliceif 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: