VinaLC: Parallel Molecular Docking Program

Biochemical and Biophysical Systems Group
VinaLC version: 1.1.2

dockBMPI.h
Go to the documentation of this file.
1 /*
2  * File: dockBMPI.h
3  * Author: zhang30
4  *
5  * Created on August 14, 2012, 1:53 PM
6  */
7 
8 #ifndef DOCKING_H
9 #define DOCKING_H
10 
11 #include <string>
12 #include <vector>
13 
14 #include <boost/serialization/string.hpp>
15 #include <boost/serialization/vector.hpp>
16 #include <boost/archive/text_oarchive.hpp>
17 #include <boost/archive/text_iarchive.hpp>
18 
19 
20 
21 class JobInputData{
22 
23 public:
25  // When the class Archive corresponds to an output archive, the
26  // & operator is defined similar to <<. Likewise, when the class Archive
27  // is a type of input archive the & operator is defined similar to >>.
28  template<class Archive>
29  void serialize(Archive & ar, const unsigned int version)
30  {
31  ar & useScoreCF;
32  ar & flexible;
33  ar & randomize;
34  ar & cpu;
35  ar & exhaustiveness;
36  ar & num_modes;
37  ar & seed;
38  ar & n;
39  ar & scoreCF;
40  ar & energy_range;
41  ar & granularity;
42  ar & begin;
43  ar & end;
44  ar & ligBuffer;
45  ar & ligFile;
46  ar & recBuffer;
47  ar & fleBuffer;
48  }
49 
50  bool useScoreCF; //switch to turn on score cutoff
51  bool flexible;
52  bool randomize;
53  int cpu;
54  int exhaustiveness;
55  int num_modes;
56 // int mc_mult;
57  int seed;
58  int n[3];
59  double scoreCF; // value for score cutoff
60  double energy_range;
61  double granularity;
62  double begin[3];
63  double end[3];
64  std::string ligBuffer;
65  std::string ligFile;
66  std::string recBuffer;
67  std::string fleBuffer;
68 };
69 
70 struct JobOutData{
71 
72 public:
74  // When the class Archive corresponds to an output archive, the
75  // & operator is defined similar to <<. Likewise, when the class Archive
76  // is a type of input archive the & operator is defined similar to >>.
77  template<class Archive>
78  void serialize(Archive & ar, const unsigned int version)
79  {
80  ar & log;
81  ar & poses;
82  }
83  std::string log;
84  std::string poses;
85 };
86 
87 int dockjob(JobInputData& jobInput, JobOutData& jobOut);
88 
89 
90 #endif /* DOCKING_H */
91