yat  0.14.5pre
GenomicPosition.h
1 #ifndef theplu_yat_omic_gemomic_position
2 #define theplu_yat_omic_gemomic_position
3 
4 // $Id: GenomicPosition.h 3114 2013-11-10 23:51:47Z peter $
5 
6 /*
7  Copyright (C) 2010, 2012, 2013 Peter Johansson
8 
9  The yat library is free software; you can redistribute it and/or
10  modify it under the terms of the GNU General Public License as
11  published by the Free Software Foundation; either version 3 of the
12  License, or (at your option) any later version.
13 
14  The yat library is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  General Public License for more details.
18 
19  You should have received a copy of the GNU General Public License
20  along with this program. If not, see <http://www.gnu.org/licenses/>.
21 */
22 
23 #include <boost/operators.hpp>
24 
25 #include <string>
26 
27 namespace theplu {
28 namespace yat {
29 namespace omic {
30 
41  class GenomicPosition : boost::operators<GenomicPosition>
42  {
43  public:
47  GenomicPosition(void);
48 
54  GenomicPosition(unsigned short chr , unsigned long pos);
55 
67  GenomicPosition(const std::string& chr, const std::string& pos);
68 
72  unsigned short& chromosome(void);
73 
77  const unsigned short& chromosome(void) const;
78 
82  unsigned long int& position(void);
83 
87  const unsigned long int& position(void) const;
88 
89  private:
90  unsigned short chr_;
91  unsigned long pos_;
92  };
93 
103  bool operator<(const GenomicPosition& lhs, const GenomicPosition& rhs);
104 
112  bool operator==(const GenomicPosition& lhs, const GenomicPosition& rhs);
113 
127  unsigned short chr2int(const std::string& str);
128 
129 }}}
130 #endif
Definition: GenomicPosition.h:41
unsigned short chr2int(const std::string &str)
transform a string to unsigned short chromosome number
unsigned long int & position(void)
unsigned short & chromosome(void)

Generated on Tue Sep 26 2017 02:33:29 for yat by  doxygen 1.8.5