halapi
hierarchichalalignmentformatapi
 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 
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 
93 
94 }
95 #endif
virtual const Genome * getGenome() const =0
Definition: halGenome.h:24
virtual hal_index_t getStartPosition() const =0
virtual ~Sequence()=0
Definition: halSequence.h:92
virtual hal_index_t getEndPosition() const =0
virtual hal_index_t getArrayIndex() const =0
virtual std::string getName() const =0
virtual std::string getFullName() const =0
Definition: halSegmentedSequence.h:23
Definition: halSequence.h:47
Definition: halSequence.h:26
virtual hal_index_t getBottomSegmentArrayIndex() const =0
virtual hal_index_t getTopSegmentArrayIndex() const =0
Definition: halSequence.h:20