BALL 1.5.0
peptideBuilder.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_PEPTIDEBUILDER_H
6#define BALL_STRUCTURE_PEPTIDEBUILDER_H
7
8#ifndef BALL_STRUCTURE_PEPTIDES_H
10#endif
11
12namespace BALL
13{
14 class FragmentDB;
15
16 namespace Peptides
17 {
22 {
23 public:
24
28
35 AminoAcidDescriptor(const String& type, const Angle& phi=Angle(-47.,false),
36 const Angle& psi=Angle(-58.,false), const Angle& omega=Angle(180.,false));
38
42
46
50 void setAminoAcidType(const String& type);
51
54 void setPhi(const Angle& phi);
55
58 void setPsi(const Angle& psi);
59
62 void setOmega(const Angle& omega);
63
66 const String& getType() const;
67
70 const Angle& getPhi() const;
71
74 const Angle& getPsi() const;
75
78 const Angle& getOmega() const;
79
80 protected:
81
86 };
87
93 {
94 public:
95
99
104 PeptideBuilder(const std::vector<AminoAcidDescriptor>& sequence);
105
108 PeptideBuilder(const String& sequence, const Angle& phi = Angle(-47., false),
109 const Angle& psi = Angle(-58., false), const Angle& omega = Angle(180., false));
110
114
118
121 void addAminoAcid(const String& type, const Angle& phi=Angle(-47.,false),
122 const Angle& psi=Angle(-58.,false), const Angle& omega=Angle(180.,false));
123 // Sheet angles ???
124
128
131 void setChainName(const String& name);
132
135 const String& getChainName() const;
136
139 void setProteinName(const String& name);
140
143 const String& getProteinName() const;
144
148
151 ;
152
155 ;
156
157 protected:
158 std::vector<AminoAcidDescriptor> sequence_;
161
165
169 Residue* createResidue_(const String& type, const int id);
170 void insert_(Residue& resnew, Residue& resold);
171 void transform_(const Angle& phi, const Angle& psi, Residue& resold, Residue& resnew);
172 void peptide_(Residue& resold, Residue& resnew);
173 void setOmega_(Residue& resold, Residue& residue, const Angle& omega);
175 };
176
177 } // namespace Peptides
178
179} // namespace BALL
180
181#endif // BALL_STRUCTURE_PEPTIDEBUILDER_H
Definition: constants.h:13
TAngle< float > Angle
Definition: angle.h:697
virtual ~AminoAcidDescriptor()
Default angles: sheet ????
const String & getType() const
const Angle & getOmega() const
void setOmega(const Angle &omega)
void setPhi(const Angle &phi)
AminoAcidDescriptor(const String &type, const Angle &phi=Angle(-47., false), const Angle &psi=Angle(-58., false), const Angle &omega=Angle(180., false))
AminoAcidDescriptor(const AminoAcidDescriptor &aad)
void setAminoAcidType(const String &type)
void setPsi(const Angle &psi)
PDBAtom * getAtomByName_(Residue &res, const String &name)
void setFragmentDB(const FragmentDB *db)
PeptideBuilder(const String &sequence, const Angle &phi=Angle(-47., false), const Angle &psi=Angle(-58., false), const Angle &omega=Angle(180., false))
void insert_(Residue &resnew, Residue &resold)
PeptideBuilder(const std::vector< AminoAcidDescriptor > &sequence)
void addAminoAcid(const String &type, const Angle &phi=Angle(-47., false), const Angle &psi=Angle(-58., false), const Angle &omega=Angle(180., false))
void addAminoAcid(const AminoAcidDescriptor &aad)
void setOmega_(Residue &resold, Residue &residue, const Angle &omega)
void peptide_(Residue &resold, Residue &resnew)
const String & getProteinName() const
bool is_proline_
The proline flag.
void setProteinName(const String &name)
std::vector< AminoAcidDescriptor > sequence_
const FragmentDB * getFragmentDB() const
void setChainName(const String &name)
void transform_(const Angle &phi, const Angle &psi, Residue &resold, Residue &resnew)
Residue * createResidue_(const String &type, const int id)
PeptideBuilder(const PeptideBuilder &pc)
const String & getChainName() const
#define BALL_EXPORT
Definition: COMMON/global.h:50