halapi hierarchichalalignmentformatapi

- Main Page
- Namespaces
- Classes
- Files

- File List

All Classes Namespaces Functions Pages
halSequence.h
1 /*
2 * Copyright (C) 2012 by Glenn Hickey (hickey@soe.ucsc.edu)
3 *
4 * Released under the MIT license, see LICENSE.txt
5 */
6
7 #ifndef _HALSEQUENCE_H
8 #define _HALSEQUENCE_H
9
10 #include <string>
11 #include "halDefs.h"
12 #include "halSegmentedSequence.h"
13
14 namespace hal {
15
20 class Sequence : public SegmentedSequence
21 {
22 public:
23
26 struct Info
27 {
28 Info(){}
29 Info(const std::string& name,
30 hal_size_t length,
31 hal_size_t numTopSegments,
32 hal_size_t numBottomSegments) :
33 _name(name),
34 _length(length),
35 _numTopSegments(numTopSegments),
36 _numBottomSegments(numBottomSegments) {}
37 std::string _name;
38 hal_size_t _length;
39 hal_size_t _numTopSegments;
40 hal_size_t _numBottomSegments;
41 };
42
47 struct UpdateInfo
48 {
49 UpdateInfo(){}
50 UpdateInfo(const std::string& name,
51 hal_size_t numSegments) :
52 _name(name),
53 _numSegments(numSegments) {}
54 std::string _name;
55 hal_size_t _numSegments;
56 };
57
59 virtual std::string getName() const = 0;
60
63 virtual std::string getFullName() const = 0;
64
66 virtual const Genome* getGenome() const = 0;
67
69 virtual Genome* getGenome() = 0;
70
72 virtual hal_index_t getStartPosition() const = 0;
73
75 virtual hal_index_t getEndPosition() const = 0;
76
78 virtual hal_index_t getArrayIndex() const = 0;
79
81 virtual hal_index_t getTopSegmentArrayIndex() const = 0;
82
84 virtual hal_index_t getBottomSegmentArrayIndex() const = 0;
85
86 protected:
87
89 virtual ~Sequence() = 0;
90 };
91
92 inline Sequence::~Sequence() {}
93
94 }
95 #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