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 
12 namespace 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 
117  virtual ~PeptideBuilder();
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 
154  const FragmentDB* getFragmentDB() const
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);
174  PDBAtom* getAtomByName_(Residue& res, const String& name);
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 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)
const String & getType() const
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))
Residue * createResidue_(const String &type, const int id)
void addAminoAcid(const AminoAcidDescriptor &aad)
const FragmentDB * getFragmentDB() const
void setOmega_(Residue &resold, Residue &residue, const Angle &omega)
void peptide_(Residue &resold, Residue &resnew)
bool is_proline_
The proline flag.
void setProteinName(const String &name)
PDBAtom * getAtomByName_(Residue &res, const String &name)
const String & getProteinName() const
std::vector< AminoAcidDescriptor > sequence_
void setChainName(const String &name)
void transform_(const Angle &phi, const Angle &psi, Residue &resold, Residue &resnew)
PeptideBuilder(const PeptideBuilder &pc)
const String & getChainName() const
#define BALL_EXPORT
Definition: COMMON/global.h:50