All Classes Namespaces Functions Pages
halSegmentedSequence.h
/*
* Copyright (C) 2012 by Glenn Hickey (hickey@soe.ucsc.edu)
*
* Released under the MIT license, see LICENSE.txt
*/
#ifndef _HALSEGMENTEDSEQUENCE_H
#define _HALSEGMENTEDSEQUENCE_H
#include "halDefs.h"
#include <set>
namespace hal {
class SegmentedSequence
{
public:
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:
virtual ~SegmentedSequence() = 0;
};
inline SegmentedSequence::~SegmentedSequence() {}
}
#endif
hal::SegmentedSequence::getTopSegmentEndIterator
virtual TopSegmentIteratorConstPtr getTopSegmentEndIterator() const =0
hal::SegmentedSequence::getRearrangement
virtual RearrangementPtr getRearrangement(hal_index_t position, hal_size_t gapLengthThreshold, double nThreshold, bool atomic=false) const =0
hal::SegmentedSequence::setSubString
virtual void setSubString(const std::string &inString, hal_size_t start, hal_size_t length)=0
hal::SegmentedSequence::getColumnIterator
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
hal::SegmentedSequence::getBottomSegmentIterator
virtual BottomSegmentIteratorPtr getBottomSegmentIterator(hal_index_t position=0)=0
hal::SegmentedSequence::getTopSegmentIterator
virtual TopSegmentIteratorPtr getTopSegmentIterator(hal_index_t position=0)=0
hal::SegmentedSequence::getNumBottomSegments
virtual hal_size_t getNumBottomSegments() const =0
hal::SegmentedSequence::setString
virtual void setString(const std::string &inString)=0
hal::SegmentedSequence::~SegmentedSequence
virtual ~SegmentedSequence()=0
Definition: halSegmentedSequence.h:161
hal::SegmentedSequence::getString
virtual void getString(std::string &outString) const =0
hal::SegmentedSequence::getSequenceLength
virtual hal_size_t getSequenceLength() const =0
hal::SegmentedSequence::getGappedBottomSegmentIterator
virtual GappedBottomSegmentIteratorConstPtr getGappedBottomSegmentIterator(hal_index_t i, hal_size_t childIdx, hal_size_t gapThreshold, bool atomic=false) const =0
hal::SegmentedSequence
Definition: halSegmentedSequence.h:23
hal::SegmentedSequence::getBottomSegmentEndIterator
virtual BottomSegmentIteratorConstPtr getBottomSegmentEndIterator() const =0
hal::SegmentedSequence::getDNAEndIterator
virtual DNAIteratorConstPtr getDNAEndIterator() const =0
hal::SegmentedSequence::getNumTopSegments
virtual hal_size_t getNumTopSegments() const =0
hal::SegmentedSequence::getGappedTopSegmentIterator
virtual GappedTopSegmentIteratorConstPtr getGappedTopSegmentIterator(hal_index_t i, hal_size_t gapThreshold, bool atomic=false) const =0
hal::SegmentedSequence::getSubString
virtual void getSubString(std::string &outString, hal_size_t start, hal_size_t length) const =0
hal::SegmentedSequence::getDNAIterator
virtual DNAIteratorPtr getDNAIterator(hal_index_t position=0)=0