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

#include <halSlicedSegment.h>

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

Public Member Functions

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< SlicedSegment >
 
class counted_ptr< const SlicedSegment >
 

Detailed Description

Interface for a sliced segement. This extends the segment interface by allowing slicing (accessing just subintervals of the segmenet), along with reversing.

Member Function Documentation

virtual hal_offset_t hal::SlicedSegment::getEndOffset ( ) const
pure virtual

Get the iterator's end offset. This is used when moving vertically and following the parse index. Any part of the segment after the end offset is ignored by the iterator

virtual bool hal::SlicedSegment::getReversed ( ) const
pure virtual

Check whether iterator is on segment's reverse complement

virtual hal_offset_t hal::SlicedSegment::getStartOffset ( ) const
pure virtual

Get the iterator's start offset. This is used when moving vertically and following the parse index. Any part of the segment before the start offset is ignored by the iterator

virtual void hal::SlicedSegment::slice ( hal_offset_t  startOffset = 0,
hal_offset_t  endOffset = 0 
) const
pure virtual

Set the iterator's start and end offsets

Parameters
startOffsetoffset from beginning of segment
endOffsetoffset from end of segment
virtual void hal::SlicedSegment::toReverse ( ) const
pure virtual

switch to segment's reverse complement

virtual void hal::SlicedSegment::toReverseInPlace ( ) const
pure virtual

switch to segment's reverse complement without affecting the coordinates in the forward strand. Unless the segment is sliced this will have an identical effect to toReverse(). Both methods can be useful in different situations but the distinction is confusing. For example, if the segment represents range [0, 10] on the forward strand but is sliced to to the subregion [3,8], then toReverse() will result in the the region [7,2], but to toReverseInPlace() would yield [8,3].


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