BALL 1.5.0
peptides.h
Go to the documentation of this file.
1// -*- Mode: C++; tab-width: 2; -*-
2// vi: set ts=2:
3//
4
5#ifndef BALL_STRUCTURE_PEPTIDES_H
6#define BALL_STRUCTURE_PEPTIDES_H
7
8#ifndef BALL_COMMON_H
9# include <BALL/common.h>
10#endif
11
12#ifndef BALL_KERNEL_PROTEIN_H
13# include <BALL/KERNEL/protein.h>
14#endif
15
16#ifndef BALL_DATATYPE_OPTIONS_H
18#endif
19
20#ifndef BALL_CONCEPT_EMBEDDABLE_H
22#endif
23
24namespace BALL
25{
26
27 namespace Peptides
28 {
33
35 typedef std::list<String> ThreeLetterAASequence;
36
40
45
51
58
65
72
77
82
89
96
104
106//
108
151 : public Embeddable
152 {
153 public:
155
156
159
160 static const String VALUE_NA;
161
164 {
167 static const char* INIFile;
168
171 static const char* PSEUDO_ATOMS_INIFile;
172
173 };
174
177 {
178 static const String INIFile;
180 };
181
185
187 virtual ~NameConverter() {}
188
192
198 bool supportsNamingScheme(const String& scheme_name) const;
199
205 bool supportsPseudoAtomNamingScheme(const String& scheme_name) const;
206
214 String convertName(const String& amino_acid, const String& old_atom_name,
215 const String& old_naming_scheme, const String& new_naming_scheme) const;
216
226 bool matches(const String& amino_acid, const String& old_atom_name,
227 const String& old_naming_scheme, const String& new_atom_name,
228 const String& new_naming_scheme) const;
229
241 std::vector<String> resolvePseudoAtoms(const String& amino_acid, const String& atom_name,
242 const String& old_naming_scheme, const String& new_naming_scheme) const;
243
250
251 protected:
252
257
262
263 std::vector<String> conventions_;
264 std::vector< std::vector <String> > conversion_table_;
265
266 std::vector<String> pseudo_conventions_;
267 std::vector< std::vector <std::vector <String> > > pseudo_conversion_table_;
268
269 //TODO: unse a StringHashMap of amino acid names to simplify the access
270 };
271
272 } // namespace Peptides
273
274} // namespace BALL
275
276#endif // BALL_STRUCTURE_PEPTIDES_H_
277
278
#define BALL_EMBEDDABLE(TYPE, BASE)
Definition: embeddable.h:31
Definition: constants.h:13
BALL_EXPORT OneLetterAASequence ThreeLetterToOneLetter(const ThreeLetterAASequence &sequence)
BALL_EXPORT OneLetterAASequence GetSequence(const Protein &protein)
BALL_EXPORT char OneLetterCode(const String &aa)
BALL_EXPORT bool IsOneLetterCode(char aa)
std::list< String > ThreeLetterAASequence
An amino acid sequence in three-letter code.
Definition: peptides.h:35
BALL_EXPORT ThreeLetterAASequence OneLetterToThreeLetter(const OneLetterAASequence &sequence)
BALL_EXPORT bool IsThreeLetterCode(const String &aa)
BALL_EXPORT String ThreeLetterCode(char aa)
String OneLetterAASequence
An amino acid sequence in one-letter code.
Definition: peptides.h:38
This class provides conversion of atom names between naming schemata.
Definition: peptides.h:152
virtual ~NameConverter()
Destructor.
Definition: peptides.h:187
std::vector< std::vector< std::vector< String > > > pseudo_conversion_table_
Definition: peptides.h:267
bool supportsPseudoAtomNamingScheme(const String &scheme_name) const
std::vector< String > pseudo_conventions_
Definition: peptides.h:266
std::vector< std::vector< String > > conversion_table_
Definition: peptides.h:264
std::vector< String > resolvePseudoAtoms(const String &amino_acid, const String &atom_name, const String &old_naming_scheme, const String &new_naming_scheme) const
bool matches(const String &amino_acid, const String &old_atom_name, const String &old_naming_scheme, const String &new_atom_name, const String &new_naming_scheme) const
bool supportsNamingScheme(const String &scheme_name) const
std::vector< String > conventions_
Definition: peptides.h:263
String convertName(const String &amino_acid, const String &old_atom_name, const String &old_naming_scheme, const String &new_naming_scheme) const
static const char * PSEUDO_ATOMS_INIFile
Definition: peptides.h:171
Default values for options.
Definition: peptides.h:177
static const String PSEUDO_ATOMS_INIFile
Definition: peptides.h:179
#define BALL_EXPORT
Definition: COMMON/global.h:50