MDA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups
Domain.hpp
Go to the documentation of this file.
1 /*
2  * Domain.hpp
3  *
4  * Created on: Sep 11, 2013
5  * Author: ckeme_01
6  */
7 
12 #ifndef DOMAIN_HPP_
13 #define DOMAIN_HPP_
14 
15 // C++ header
16 #include <cstdlib>
17 #include <string>
18 
24 namespace MDAT
25 {
26 
31 class Domain
32 {
33 
34 private:
35  std::string _name;
36  std::string _accession;
37  size_t _seq_start;
38  size_t _seq_end;
39  size_t _env_start;
40  size_t _env_end;
41  size_t _hmm_start;
42  size_t _hmm_end;
43  int _repeated;
44  double _evalue;
45  int _id;
46  int _original_position;
47 
48 public:
49 
51 
52 
55  Domain();
56 
64  Domain(const std::string &name, const std::string &accession, size_t seq_start, size_t seq_end);
65 
79  Domain(const std::string &name, const std::string &accession, size_t seq_start, size_t seq_end, size_t env_start, size_t env_end, size_t hmm_start, size_t hmm_end, double evalue, int id=-1);
80 
84  virtual ~Domain();
89 
90 
94  std::string
95  name() const
96  {
97  return _name;
98  }
99 
104  std::string
105  accession() const
106  {
107  return _accession;
108  }
109 
114  void
115  accession(const std::string &accession)
116  {
117  _accession=accession;
118  }
119 
124  size_t
125  seq_start() const
126  {
127  return _seq_start;
128  }
129 
134  size_t
135  seq_end() const
136  {
137  return _seq_end;
138  }
139 
144  size_t
145  env_start() const
146  {
147  return _env_start;
148  }
149 
154  size_t env_end() const
155  {
156  return _env_end;
157  }
158 
163  void
164  seq_start(size_t val)
165  {
166  _seq_start=val;
167  }
168 
173  void
174  seq_end(size_t val)
175  {
176  _seq_end=val;
177  }
178 
183  void
184  env_start(size_t val)
185  {
186  _env_start=val;
187  }
188 
193  void
194  env_end(size_t val)
195  {
196  _env_end=val;
197  }
198 
203  size_t hmm_start() const
204  {
205  return _hmm_start;
206  }
207 
212  size_t hmm_end() const
213  {
214  return _hmm_end;
215  }
216 
221  void
222  hmm_start(size_t val)
223  {
224  _hmm_start = val;
225  }
226 
231  void
232  hmm_end(size_t val)
233  {
234  _hmm_end=val;
235  }
236 
237 
242  void
243  repeated(int val)
244  {
245  _repeated=val;
246  }
247 
252  int
253  repeated() const
254  {
255  return _repeated;
256  }
257 
262  double evalue() const
263  {
264  return _evalue;
265  }
266 
267 
272  int id() const
273  {
274  return _id;
275  }
276 
281  void id(int val)
282  {
283  _id=val;
284  }
285 
290  size_t seq_length() const
291  {
292  return _seq_end - _seq_start + 1;
293  }
294 
295 
296  void seq_length(size_t length)
297  {
298  _seq_end = _seq_start + length -1;
299  }
300 
305  size_t env_length() const
306  {
307  return _env_end - _env_start + 1;
308  }
309 
314  size_t hmm_length() const
315  {
316  return _hmm_end - _hmm_start +1;
317  }
318 
323  int ori_pos() const
324  {
325  return _original_position;
326  }
327 
332  void ori_pos(int pos)
333  {
334  _original_position = pos;
335  }
338 };
339 
340 
341 
342 
343 
344 
345 }
346 
347 
348 #endif /* DOMAIN_HPP_ */