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

#include <halSegmentedSequence.h>

Inheritance diagram for hal::SegmentedSequence:
hal::Genome hal::Sequence

Public Member Functions

virtual hal_size_t getSequenceLength () const =0
 
virtual hal_size_t getNumTopSegments () const =0
 
virtual hal_size_t getNumBottomSegments () const =0
 
virtual TopSegmentIteratorPtr getTopSegmentIterator (hal_index_t position=0)=0
 
virtual TopSegmentIteratorConstPtr getTopSegmentIterator (hal_index_t position=0) const =0
 
virtual TopSegmentIteratorConstPtr getTopSegmentEndIterator () const =0
 
virtual BottomSegmentIteratorPtr getBottomSegmentIterator (hal_index_t position=0)=0
 
virtual
BottomSegmentIteratorConstPtr 
getBottomSegmentIterator (hal_index_t position=0) const =0
 
virtual
BottomSegmentIteratorConstPtr 
getBottomSegmentEndIterator () const =0
 
virtual DNAIteratorPtr getDNAIterator (hal_index_t position=0)=0
 
virtual DNAIteratorConstPtr getDNAIterator (hal_index_t position=0) const =0
 
virtual DNAIteratorConstPtr getDNAEndIterator () const =0
 
virtual ColumnIteratorConstPtr getColumnIterator (const std::set< const Genome * > *targets=NULL, hal_size_t maxInsertLength=0, hal_index_t position=0, hal_index_t lastPosition=NULL_INDEX, bool noDupes=false, bool noAncestors=false, bool reverseStrand=false) const =0
 
virtual void getString (std::string &outString) const =0
 
virtual void setString (const std::string &inString)=0
 
virtual void getSubString (std::string &outString, hal_size_t start, hal_size_t length) const =0
 
virtual void setSubString (const std::string &inString, hal_size_t start, hal_size_t length)=0
 
virtual RearrangementPtr getRearrangement (hal_index_t position, hal_size_t gapLengthThreshold, double nThreshold, bool atomic=false) const =0
 
virtual
GappedTopSegmentIteratorConstPtr 
getGappedTopSegmentIterator (hal_index_t i, hal_size_t gapThreshold, bool atomic=false) const =0
 
virtual
GappedBottomSegmentIteratorConstPtr 
getGappedBottomSegmentIterator (hal_index_t i, hal_size_t childIdx, hal_size_t gapThreshold, bool atomic=false) const =0
 

Protected Member Functions

virtual ~SegmentedSequence ()=0
 

Detailed Description

Interface for a sequence of DNA that is also broken up into top and bottom segments. This interface is extended by both the Genome and Sequence classes.

Todo: Implenent the "Last" or maybe (right / left) iterator notion, which will make looping easier and more general.

Constructor & Destructor Documentation

hal::SegmentedSequence::~SegmentedSequence ( )
inlineprotectedpure virtual

Destructor

Member Function Documentation

virtual BottomSegmentIteratorConstPtr hal::SegmentedSequence::getBottomSegmentEndIterator ( ) const
pure virtual

Get a bottomSegment end iterator (one beyond last element in list)

virtual BottomSegmentIteratorPtr hal::SegmentedSequence::getBottomSegmentIterator ( hal_index_t  position = 0)
pure virtual

Get a bottom segment iterator

Parameters
positionIndex in segment array of returned iterator
virtual BottomSegmentIteratorConstPtr hal::SegmentedSequence::getBottomSegmentIterator ( hal_index_t  position = 0) const
pure virtual

Get a const bottom segment iterator

Parameters
positionIndex in segment array of returned iterator
virtual ColumnIteratorConstPtr hal::SegmentedSequence::getColumnIterator ( const std::set< const Genome * > *  targets = NULL,
hal_size_t  maxInsertLength = 0,
hal_index_t  position = 0,
hal_index_t  lastPosition = NULL_INDEX,
bool  noDupes = false,
bool  noAncestors = false,
bool  reverseStrand = false 
) const
pure virtual

Get a column iterator

Parameters
targetsOnly genomes in this set are visited
  • (note that other genomes in their spanning tree will be
  • traversed as necessary but not reported)
maxInsertLengthmaximum insertion to be traversed
positionIndex in sequence of returned iterator
noDupesDon't follow paralogy edges
noAncestorsDon't report any non-leaf nodes in output
reverseStrandMap from reverse strand of this sequence (but still in a left-to-right direction of forward strand)
virtual DNAIteratorConstPtr hal::SegmentedSequence::getDNAEndIterator ( ) const
pure virtual

Get a DNA end iterator (one beyond last element in list)

virtual DNAIteratorPtr hal::SegmentedSequence::getDNAIterator ( hal_index_t  position = 0)
pure virtual

Get a DNA iterator

Parameters
positionIndex in genome of returned iterator
virtual DNAIteratorConstPtr hal::SegmentedSequence::getDNAIterator ( hal_index_t  position = 0) const
pure virtual

Get a const DNA iterator

Parameters
positionIndex in genome of returned iterator
virtual GappedBottomSegmentIteratorConstPtr hal::SegmentedSequence::getGappedBottomSegmentIterator ( hal_index_t  i,
hal_size_t  childIdx,
hal_size_t  gapThreshold,
bool  atomic = false 
) const
pure virtual

Get a gapped iterator (experimental) REMINDER: ther iterator is extended from the left-to-right along the sequence from i. A seperate function is needed to, say, get the last iterator from a sequence (not a big deal since the functinality is already in the implementation (extendLeft)

virtual GappedTopSegmentIteratorConstPtr hal::SegmentedSequence::getGappedTopSegmentIterator ( hal_index_t  i,
hal_size_t  gapThreshold,
bool  atomic = false 
) const
pure virtual

Get a gapped iterator (experimental) REMINDER: ther iterator is extended from the left-to-right along the sequence from i. A seperate function is needed to, say, get the last iterator from a sequence (not a big deal since the functinality is already in the implementation (extendLeft)

virtual hal_size_t hal::SegmentedSequence::getNumBottomSegments ( ) const
pure virtual

Get the number of bottom segments (which form blocks with the children) in the sequence

virtual hal_size_t hal::SegmentedSequence::getNumTopSegments ( ) const
pure virtual

Get the number of top segements (which form blocks with ancestor and siblings) in the sequence

virtual RearrangementPtr hal::SegmentedSequence::getRearrangement ( hal_index_t  position,
hal_size_t  gapLengthThreshold,
double  nThreshold,
bool  atomic = false 
) const
pure virtual

Get a rearrangement object

Parameters
positionPosition of topsegment defining first breakpoint of rearrangement
gapLengthThresholdThe maximum size of a simple indel such that it will be considered a gap (and factored out of breakpoint computations)
nThresholdMaximum fraction (between 0 and 1) of N's in a rearrangement for it not to be flagged as missing data
atomicNever merge segments together into a rearrangement. Generally for internal use
virtual hal_size_t hal::SegmentedSequence::getSequenceLength ( ) const
pure virtual

Get the total length of the DNA sequence in the sequence

virtual void hal::SegmentedSequence::getString ( std::string &  outString) const
pure virtual

Get the character string underlying the segmented sequence

Parameters
outStringString object into which we copy the result
virtual void hal::SegmentedSequence::getSubString ( std::string &  outString,
hal_size_t  start,
hal_size_t  length 
) const
pure virtual

Get the substring of character string underlying the segmented sequence

Parameters
outStringString object into which we copy the result
startFirst position of substring
lengthLength of substring
virtual TopSegmentIteratorConstPtr hal::SegmentedSequence::getTopSegmentEndIterator ( ) const
pure virtual

Get a topSegment end iterator (one beyond last element in list)

virtual TopSegmentIteratorPtr hal::SegmentedSequence::getTopSegmentIterator ( hal_index_t  position = 0)
pure virtual

Get a top segment iterator

Parameters
positionIndex in segment array of returned iterator
virtual TopSegmentIteratorConstPtr hal::SegmentedSequence::getTopSegmentIterator ( hal_index_t  position = 0) const
pure virtual

Get a const top segment iterator

Parameters
positionIndex in segment array of returned iterator
virtual void hal::SegmentedSequence::setString ( const std::string &  inString)
pure virtual

Set the character string underlying the segmented sequence

Parameters
inStringinput string to copy
virtual void hal::SegmentedSequence::setSubString ( const std::string &  inString,
hal_size_t  start,
hal_size_t  length 
)
pure virtual

Set the character string underlying the segmented sequence

Parameters
inStringinput string to copy
startFirst position of substring
lengthLength of substring

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