BALL  1.5.0
result.h
Go to the documentation of this file.
1 // ----------------------------------------------------
2 // $Maintainer: Marc Röttig $
3 // $Authors: Marc Röttig, Marcel Schumann $
4 // ----------------------------------------------------
5 
6 #ifndef BALL_DOCKING_RESULT_H
7 #define BALL_DOCKING_RESULT_H
8 
11 #include <vector>
12 #include <map>
13 
14 
15 namespace BALL
16 {
22  {
23  public:
24 
25  enum BALL_EXPORT Method
26  {
27  UNKNOWN = -1,
34  MOLECULE_CHECK
35  };
36 
38  {
39  public:
40  ResultData();
41  ResultData(int result_type);
42  void setReceptorConformationId(String id);
43  void setReceptorConformation(Conformation* conf);
44  bool hasReceptorConformationId() const;
45  String getReceptorConformationId() const;
46  void setLigandConformationId(String id);
47  void setLigandConformation(Conformation* conf);
48  String getLigandConformationId() const;
49  bool hasLigandConformationId() const;
50  void setScoringMethod(int method);
51  bool hasScoringMethod() const;
52  int getScoringMethod() const;
53  void setEnergy(double e);
54  double getEnergy() const;
55  bool hasEnergy() const;
56  bool check() const;
57  void setConformation(Conformation* conf);
58  Conformation* getConformation();
59  private:
60  Conformation* conformation;
61  bool has_rec_id;
62  bool has_lig_id;
63  bool has_energy;
64  bool has_method;
65  String rec_conf_id;
66  String lig_conf_id;
67  int scoringmethod;
68  double energy;
69  int resulttype;
70  };
71 
72  static Result::Method getMethod(int i);
73  static Result* makeLigandImportResult();
74  static Result* makeReceptorImportResult();
75  static Result* makeDockingResult();
76  static Result* makeRescoringResult();
78  Result();
79 
80  /* Constructor.
81  */
82  Result(const Result::Method& _method);
83 
85  Result(const Result& res);
86 
88  Result(const Result& res, const HashSet<String>& IDs);
89 
90  /* Destructor.
91  */
92  virtual ~Result();
93 
96  void clear();
97 
99  void operator = (const Result& res);
100 
102  void operator += (const Result& res);
103 
107  Result::Method getMethod();
108 
112  String getMethodString();
113 
117  void setMethod(Result::Method _method);
118 
122  const vector < String > * getInputConformations();
123 
129  Conformation* getInputConformer(Ligand* lig);
130 
136  Conformation* getFirstOutputConformation(Ligand* lig);
137 
142  vector < Result::ResultData > getOutputConformations(Ligand* lig);
143 
144  const HashSet<String>* getInputIds();
145  HashSet<String> getOutputIds();
146  ResultData getOutputData(String id);
147  bool hasOutputData(String id);
148 
153  void add(Conformation* lig_conf_in, ResultData &rd);
154 
162  void add(Conformation* lig_conf_in, Conformation* lig_conf_out, int scoringmethod, double energy, Conformation* rec_conf);
163 
164  void add(const String& lig_conf_in, const String& lig_conf_out, int scoringmethod, double energy, const String& rec_conf);
165 
170  void add(String lig_conf_id_in, Result::ResultData &rd);
171 
176  const vector<Result::ResultData>* get(String inpose_id);
177 
178  static String toString(const ResultData &rd);
179 
181  void erase(const FlexibleMolecule* flexmol);
182 
183  void erase(const String& ID);
184 
185  void sort(const list<String>& input_order, list<String>& output_order);
186 
187  void setTimestamp(const String& timestamp);
188 
189  const String& getTimestamp();
190 
191  void setDescription(const String& text);
192 
193  const String& getDescription();
194 
195  void setToolInfo(const String& toolinfo);
196 
197  const String& getToolInfo();
198 
199  const HashMap<String, vector<ResultData> >* getData();
200 
201  protected:
202 
205  Result::Method method;
208  vector < String > input_conformations_;
210 
213  };
214 }
215 #endif /* BALL_DOCKING_RESULT_H */
BALL::Result::toolinfo_
String toolinfo_
Definition: result.h:204
RECEPTORIMPORT
RECEPTORIMPORT
Definition: result.h:28
DOCKING
DOCKING
Definition: result.h:30
BALL::HashMap
HashMap class based on the STL map (containing serveral convenience functions)
Definition: hashMap.h:73
BALL::FlexibleMolecule
Definition: flexibleMolecule.h:22
BALL::Result::input_conformations_
vector< String > input_conformations_
Definition: result.h:208
BALL::Result
Definition: result.h:21
BALL::String
Definition: string.h:56
BALL::Result::result_data_
HashMap< String, vector< ResultData > > result_data_
Definition: result.h:206
BALL
Definition: constants.h:12
BALL::HashSet< String >
BALL::Result::result_output_data_
HashMap< String, ResultData > result_output_data_
Definition: result.h:207
MDRESCORING
MDRESCORING
Definition: result.h:32
flexibleMolecule.h
BALL::Result::input_conformations_map_
HashSet< String > input_conformations_map_
Definition: result.h:209
BALL::Conformation
Definition: conformation.h:24
BALL::Result::method
Result::Method method
Definition: result.h:205
BALL::Result::description_
String description_
Definition: result.h:212
BALL::Result::ResultData
Definition: result.h:37
UNKNOWN
UNKNOWN
Definition: result.h:27
CONSENSUSRESCORING
CONSENSUSRESCORING
Definition: result.h:33
RESCORING
RESCORING
Definition: result.h:31
LIGANDIMPORT
LIGANDIMPORT
Definition: result.h:29
BALL_CREATE
#define BALL_CREATE(name)
Definition: create.h:62
BALL_EXPORT
#define BALL_EXPORT
Definition: COMMON/global.h:50
receptor.h
BALL::Result::timestamp_
String timestamp_
Definition: result.h:203