/usr/include/BALL/DOCKING/COMMON/dockResult.h is in libball1.4-dev 1.4.3~beta1-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 | // -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
// $Id: dockResult.h,v 1.2.16.2 2007/08/07 16:16:15 bertsch Exp $
//
#ifndef BALL_DOCKING_COMMON_DOCKRESULT_H
#define BALL_DOCKING_COMMON_DOCKRESULT_H
#ifndef BALL_DATATYPE_OPTIONS_H
# include <BALL/DATATYPE/options.h>
#endif
#ifndef BALL_DOCKING_COMMON_CONFORMATIONSET_H
# include <BALL/DOCKING/COMMON/conformationSet.h>
#endif
namespace BALL
{
/** Result of a (re)docking calculation.
the used algorithm and its options,
the conformation set which was produced by the algorithm
and the scores, names and options of all scoring functions that were used for the ranking / reranking.
On the one hand it allows to recieve the scores of a certain scoring,
on the other hand it can return scores sorted by another scoring.
This offers a simple way to compare the different scores with each other
\ingroup Docking
*/
class BALL_EXPORT DockResult
{
public:
/** @name Constructors and Destructors
*/
//@{
/** Default Constructor
*/
DockResult()
throw();
/** Constructor
*/
DockResult(const String& docking_algorithm, ConformationSet* conformation_set,
const Options& docking_options)
throw();
/** Copy constructor
*/
DockResult(const DockResult& dock_res)
throw();
/** Destructor
*/
virtual ~DockResult()
throw();
//@}
/** @name Assignment
*/
//@{
/** Assignment operator
*/
const DockResult& operator = (const DockResult& dock_res)
throw();
//@}
/** @name Accessors: inspectors and mutators
*/
//@{
/** Sets the conformation set.
*/
void setConformationSet(ConformationSet* conformation_set)
throw();
/** Get the docking algorithm.
*/
const String& getDockingAlgorithm() const
throw();
/** Get the options of the docking algorithm.
*/
const Options& getDockingOptions() const
throw();
/** Get the conformation set.
*/
const ConformationSet* getConformationSet() const
throw();
/** Get the conformation set.
*/
ConformationSet* getConformationSet()
throw();
/* Sets scoring flag by which all scores are sorted displayed
a negative index corresponds to sorting by snapshot index
*/
void sortBy(Index scoring_index)
throw(Exception::IndexOverflow);
/* Get the number of the scoring by which all scores are sorted displayed
*/
Index isSortedBy() const
throw();
/** Returns score i of the scoring j in respect of the current sorting
* indicated by the flag \link DockResult::sorted_by_ sorted_by_ \endlink.
*/
float operator()(Position i, Position j)
throw(Exception::IndexOverflow);
/** Returns the scores of \link DockResult::Scoring_ scoring \endlink i.
*/
const vector < ConformationSet::Conformation > getScores(Position i) const
throw(Exception::IndexOverflow);
/** Returns the name of scoring function of \link DockResult::Scoring_ scoring \endlink i.
*/
const String& getScoringName(Position i) const
throw(Exception::IndexOverflow);
/** Returns the scoring function options of \link DockResult::Scoring_ scoring \endlink i.
*/
const Options& getScoringOptions(Position i) const
throw(Exception::IndexOverflow);
/** Returns the number of scorings.
*/
Size numberOfScorings() const
throw();
/** Add a new Scoring_ to vector \link DockResult::scorings_ scorings_ \endlink.
* @param name name of the scoring function
* @param options options of the scoring function
* @param scores scores calculated by the scoring function
*/
void addScoring(const String& name, const Options& options, vector < ConformationSet::Conformation > scores)
throw();
/** Deletes Scoring_ i of vector \link DockResult::scorings_ scorings_ \endlink.
*/
void deleteScoring(Position i)
throw(Exception::IndexOverflow);
//@}
/** @name Reading and writing
*/
//@{
/** Stores dock result in a file.
* Calls \link DockResult::writeDockResult writeDockResult(std::ostream& file) \endlink.
* @param filename name of the file
* @return true if writing was successful.
* @return false otherwise
*/
bool writeDockResult(const String& filename)
throw();
/** Stores dock result in an ostream.
* @param file ostream
* @return true if writing was successful.
* @return false otherwise
*/
bool writeDockResult(std::ostream& file) const
throw();
/** Reads dock result from a file.
* Calls \link DockResult::readDockResult readDockResult(std::istream& file) \endlink.
* @param filename name of the file
* @return true if reading was successful.
* @return false otherwise
*/
bool readDockResult(const String& filename)
throw();
/** Read dock result from an istream.
* @param file istream
* @return true if reading was successful.
* @return false otherwise
*/
bool readDockResult(std::istream& file)
throw();
/** Operator to write dock result into an ostream.
* Calls \link DockResult::writeDockResult writeDockResult(std::ostream& file)\endlink.
*/
friend std::ostream& operator <<(std::ostream& out, const DockResult& dock_res)
throw();
/** Operator to read dock result into an istream.
* Calls \link DockResult::readDockResult readDockResult(std::istream& file) \endlink.
*/
friend std::istream& operator >>(std::istream& in, DockResult& dock_res)
throw();
//@}
protected:
/** Nested class in DockResult.
* This class contains information about the scoring:
* name of the scoring function,
* options of the function and
* scores
*/
class Scoring_
{
public:
/** Default Constructor
*/
Scoring_() throw();
/** Copy constructor
*/
Scoring_(const Scoring_& scoring)
throw();
/** Constructor
*/
Scoring_(const String& name, const Options& options, const vector<float>& scores, const vector<Index>& snapshot_order) throw();
/** Destructor
*/
~Scoring_() throw();
/** Assignment operator
*/
const Scoring_& operator = (const Scoring_& scoring)
throw();
/** Name of scoring function
*/
String name_;
/** options of scoring function
*/
Options options_;
/** Vector of scores
* The score at position i belongs to the snapshot i
*/
vector<float> scores_;
/** Vector of snapshot indices
* The indices are sorted by their scores
*/
vector<Index> snapshot_order_;
};
/**
* Nested class in DockResult.
* This class is needed for the sorting of the vector of Conformations
* in \link DockResult::addScoring addScoring(const String& name, const Options& options, const vector < ConformationSet::Conformation > & scores)\endlink.
* The vector should be sorted by the score values.
*/
class Compare_
{
public:
/** Default constructor
*/
Compare_() throw();
/** Destructor
*/
~Compare_() throw();
/** Operator ()
*/
//bool operator() (const std::pair<Index, float>& a, const std::pair<Index, float>& b) const
bool operator() (const ConformationSet::Conformation& a, const ConformationSet::Conformation& b) const
throw();
};
/** Name of docking algorithm
*/
String docking_algorithm_;
/** Options of the docking algorithm
*/
Options docking_options_;
/** Conformation set which was produced by the docking algorithm.
*/
ConformationSet* conformation_set_;
/** Vector contains name, options and scores of each scoring function.
* The scores of each scoring are sorted.
*/
vector<Scoring_> scorings_;
/** Flag that indicated by which scoring all scorings are sorted
-1 corresponds to a sorting by snapshot index
It is needed for the operator(i, j)
*/
Index sorted_by_;
};
std::ostream& operator <<(std::ostream& out, const DockResult& dock_res)
throw();
std::istream& operator >>(std::istream& in, DockResult& dock_res)
throw();
}
#endif
|