Victor
 All Data Structures Functions Variables Friends Pages
RelLoader.h
1 /* This file is part of Victor.
2 
3  Victor is free software: you can redistribute it and/or modify
4  it under the terms of the GNU General Public License as published by
5  the Free Software Foundation, either version 3 of the License, or
6  (at your option) any later version.
7 
8  Victor is distributed in the hope that it will be useful,
9  but WITHOUT ANY WARRANTY; without even the implied warranty of
10  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  GNU General Public License for more details.
12 
13  You should have received a copy of the GNU General Public License
14  along with Victor. If not, see <http://www.gnu.org/licenses/>.
15  */
16 
17 
18 #ifndef _REL_LOADER_H_
19 #define _REL_LOADER_H_
20 
21 // Includes:
22 #include <Group.h>
23 #include <SideChain.h>
24 #include <Loader.h>
25 #include <AminoAcid.h>
26 #include <Spacer.h>
27 
28 // Global constants, typedefs, etc. (to avoid):
29 
30 namespace Victor { namespace Biopool {
31 
39  class RelLoader : public Loader {
40  public:
41 
42  // CONSTRUCTORS/DESTRUCTOR:
43 
44  RelLoader(istream& _input = cin) : input(_input), connect(true) {
45  }
46  // this class uses the implicit copy operator.
47 
48  virtual ~RelLoader() {
49  PRINT_NAME;
50  }
51 
52  // MODIFIERS:
53 
54  void connectSegments(bool c) {
55  connect = c;
56  }
57  // determines if segments (aminoacids, sidechains) have to be connected
58  virtual void loadGroup(Group& gr);
59  virtual void loadSideChain(SideChain& sc, AminoAcid* aaRef = NULL);
60  virtual void loadAminoAcid(AminoAcid& aa);
61  virtual void loadSpacer(Spacer& sp);
62 
63  protected:
64 
65  private:
66  istream& input; // input stream
67  bool connect; // are segments to be connected to each other?
68  };
69 
70 }} //namespace
71 #endif //_REL_LOADER_H_
virtual void loadSideChain(SideChain &sc, AminoAcid *aaRef=NULL)
Definition: RelLoader.cc:64
This class implements a side chain.
Definition: SideChain.h:32
This class implements a simple chemical group.
Definition: Group.h:35
Base class for loading components (Atoms, Groups, etc.).
Definition: Loader.h:39
Loads components (Atoms, Groups, etc.) in relative format.
Definition: RelLoader.h:39
It mplements a simple amino acid.
Definition: AminoAcid.h:43
Implements a "Spacer" for a protein chain. Includes methods to obtain values from the atoms and its p...
Definition: Spacer.h:42