librostlab
1.0.20
Main Page
Namespaces
Classes
Files
File List
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
rostlab
mapAA2int.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2011 Laszlo Kajan, Technical University of Munich, Germany
3
4
This file is part of librostlab.
5
6
librostlab is free software: you can redistribute it and/or modify
7
it under the terms of the GNU Lesser General Public License as published by
8
the Free Software Foundation, either version 3 of the License, or
9
(at your option) any later version.
10
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU Lesser General Public License for more details.
15
16
You should have received a copy of the GNU Lesser General Public License
17
along with this program. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
#ifndef ROSTLAB_MAPAA2INT
20
#define ROSTLAB_MAPAA2INT 1
21
22
#include <ctype.h>
23
#include <
rostlab/rostlab_stdexcept.h
>
24
#include <sstream>
25
26
namespace
rostlab {
27
28
inline
char
int2AAchar
(
int
__aanum)
29
{
30
switch
(__aanum){
31
case
0:
32
return
'A'
;
33
case
1:
34
return
'R'
;
35
case
2:
36
return
'N'
;
37
case
3:
38
return
'D'
;
39
case
4:
40
return
'C'
;
41
case
5:
42
return
'Q'
;
43
case
6:
44
return
'E'
;
45
case
7:
46
return
'G'
;
47
case
8:
48
return
'H'
;
49
case
9:
50
return
'I'
;
51
case
10:
52
return
'L'
;
53
case
11:
54
return
'K'
;
55
case
12:
56
return
'M'
;
57
case
13:
58
return
'F'
;
59
case
14:
60
return
'P'
;
61
case
15:
62
return
'S'
;
63
case
16:
64
return
'T'
;
65
case
17:
66
return
'W'
;
67
case
18:
68
return
'Y'
;
69
case
19:
70
return
'V'
;
71
default
:
72
std::ostringstream buf; buf <<
"invalid amino acid numeric code '"
<< __aanum <<
"'"
;
73
throw
runtime_error
( buf.str() );
74
}
75
}
76
77
inline
int
AAchar2int
(
char
__aachar)
78
{
79
switch
(toupper(__aachar)){
80
case
'A'
:
81
return
0;
82
case
'R'
:
83
return
1;
84
case
'N'
:
85
return
2;
86
case
'D'
:
87
return
3;
88
case
'C'
:
89
return
4;
90
case
'Q'
:
91
return
5;
92
case
'E'
:
93
return
6;
94
case
'G'
:
95
return
7;
96
case
'H'
:
97
return
8;
98
case
'I'
:
99
return
9;
100
case
'L'
:
101
return
10;
102
case
'K'
:
103
return
11;
104
case
'M'
:
105
return
12;
106
case
'F'
:
107
return
13;
108
case
'P'
:
109
return
14;
110
case
'S'
:
111
return
15;
112
case
'T'
:
113
return
16;
114
case
'W'
:
115
return
17;
116
case
'Y'
:
117
return
18;
118
case
'V'
:
119
return
19;
120
default
:
121
std::ostringstream buf; buf <<
"invalid amino acid '"
<< __aachar <<
"'"
;
122
throw
runtime_error
( buf.str() );
123
}
124
}
125
}
126
#endif
127
128
// vim:et:ts=2:
Generated on Thu Oct 24 2013 11:15:43 for librostlab by
1.8.4