#include <halSegmentedSequence.h>
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 |
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.
|
inlineprotectedpure virtual |
Destructor
|
pure virtual |
Get a bottomSegment end iterator (one beyond last element in list)
|
pure virtual |
Get a bottom segment iterator
position | Index in segment array of returned iterator |
|
pure virtual |
Get a const bottom segment iterator
position | Index in segment array of returned iterator |
|
pure virtual |
Get a column iterator
targets | Only genomes in this set are visited
|
maxInsertLength | maximum insertion to be traversed |
position | Index in sequence of returned iterator |
noDupes | Don't follow paralogy edges |
noAncestors | Don't report any non-leaf nodes in output |
reverseStrand | Map from reverse strand of this sequence (but still in a left-to-right direction of forward strand) |
|
pure virtual |
Get a DNA end iterator (one beyond last element in list)
|
pure virtual |
Get a DNA iterator
position | Index in genome of returned iterator |
|
pure virtual |
Get a const DNA iterator
position | Index in genome of returned iterator |
|
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)
|
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)
|
pure virtual |
Get the number of bottom segments (which form blocks with the children) in the sequence
|
pure virtual |
Get the number of top segements (which form blocks with ancestor and siblings) in the sequence
|
pure virtual |
Get a rearrangement object
position | Position of topsegment defining first breakpoint of rearrangement |
gapLengthThreshold | The maximum size of a simple indel such that it will be considered a gap (and factored out of breakpoint computations) |
nThreshold | Maximum fraction (between 0 and 1) of N's in a rearrangement for it not to be flagged as missing data |
atomic | Never merge segments together into a rearrangement. Generally for internal use |
|
pure virtual |
Get the total length of the DNA sequence in the sequence
|
pure virtual |
Get the character string underlying the segmented sequence
outString | String object into which we copy the result |
|
pure virtual |
Get the substring of character string underlying the segmented sequence
outString | String object into which we copy the result |
start | First position of substring |
length | Length of substring |
|
pure virtual |
Get a topSegment end iterator (one beyond last element in list)
|
pure virtual |
Get a top segment iterator
position | Index in segment array of returned iterator |
|
pure virtual |
Get a const top segment iterator
position | Index in segment array of returned iterator |
|
pure virtual |
Set the character string underlying the segmented sequence
inString | input string to copy |
|
pure virtual |
Set the character string underlying the segmented sequence
inString | input string to copy |
start | First position of substring |
length | Length of substring |