All Classes Namespaces Functions Pages
halSequence.h
/*
* Copyright (C) 2012 by Glenn Hickey (hickey@soe.ucsc.edu)
*
* Released under the MIT license, see LICENSE.txt
*/
#ifndef _HALSEQUENCE_H
#define _HALSEQUENCE_H
#include <string>
#include "halDefs.h"
#include "halSegmentedSequence.h"
namespace hal {
class Sequence : public SegmentedSequence
{
public:
struct Info
{
Info(){}
Info(const std::string& name,
hal_size_t length,
hal_size_t numTopSegments,
hal_size_t numBottomSegments) :
_name(name),
_length(length),
_numTopSegments(numTopSegments),
_numBottomSegments(numBottomSegments) {}
std::string _name;
hal_size_t _length;
hal_size_t _numTopSegments;
hal_size_t _numBottomSegments;
};
struct UpdateInfo
{
UpdateInfo(){}
UpdateInfo(const std::string& name,
hal_size_t numSegments) :
_name(name),
_numSegments(numSegments) {}
std::string _name;
hal_size_t _numSegments;
};
virtual std::string getName() const = 0;
virtual std::string getFullName() const = 0;
virtual const Genome* getGenome() const = 0;
virtual Genome* getGenome() = 0;
virtual hal_index_t getStartPosition() const = 0;
virtual hal_index_t getEndPosition() const = 0;
virtual hal_index_t getArrayIndex() const = 0;
virtual hal_index_t getTopSegmentArrayIndex() const = 0;
virtual hal_index_t getBottomSegmentArrayIndex() const = 0;
protected:
virtual ~Sequence() = 0;
};
inline Sequence::~Sequence() {}
}
#endif
hal::Sequence::getGenome
virtual const Genome * getGenome() const =0
hal::Genome
Definition: halGenome.h:24
hal::Sequence::getStartPosition
virtual hal_index_t getStartPosition() const =0
hal::Sequence::~Sequence
virtual ~Sequence()=0
Definition: halSequence.h:92
hal::Sequence::getEndPosition
virtual hal_index_t getEndPosition() const =0
hal::Sequence::getArrayIndex
virtual hal_index_t getArrayIndex() const =0
hal::Sequence::getName
virtual std::string getName() const =0
hal::Sequence::getFullName
virtual std::string getFullName() const =0
hal::SegmentedSequence
Definition: halSegmentedSequence.h:23
hal::Sequence::UpdateInfo
Definition: halSequence.h:47
hal::Sequence::Info
Definition: halSequence.h:26
hal::Sequence::getBottomSegmentArrayIndex
virtual hal_index_t getBottomSegmentArrayIndex() const =0
hal::Sequence::getTopSegmentArrayIndex
virtual hal_index_t getTopSegmentArrayIndex() const =0
hal::Sequence
Definition: halSequence.h:20