BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
molecularStructure.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 
5 #ifndef BALL_VIEW_WIDGETS_MOLECULARSTRUCTURE_H
6 #define BALL_VIEW_WIDGETS_MOLECULARSTRUCTURE_H
7 
8 #ifndef BALL_VIEW_KERNEL_MODULARWIDGET_H
10 #endif
11 
12 #ifndef BALL_MATHS_VECTOR3_H
13  #include <BALL/MATHS/vector3.h>
14 #endif
15 
16 #ifndef BALL_VIEW_DIALOGS_AMBERCONFIGURATIONDIALOG_H
18 #endif
19 
20 #ifndef BALL_VIEW_DIALOGS_MINIMIZATIONDIALOG_H
22 #endif
23 
24 #ifndef BALL_VIEW_DIALOGS_MOLECULARDYNAMICSDIALOG_H
26 #endif
27 
28 #ifndef BALL_VIEW_DIALOGS_CHARMMCONFIGURATIONDIALOG_H
30 #endif
31 
32 #ifndef BALL_VIEW_DIALOGS_MMFF94CONFIGURATIONDIALOG_H
34 #endif
35 
36 #ifndef BALL_VIEW_DIALOGS_ASSIGNBONDORDERCONFIGURATIONDIALOG_H
38 #endif
39 
40 #ifndef BALL_VIEW_DIALOGS_ASSIGNBONDORDERRESULTSDIALOG_H
42 #endif
43 
44 #ifndef BALL_VIEW_DIALOGS_GENERaTECRYSTALDIALOG_H
46 #endif
47 
48 #ifndef BALL_MOLMEC_AMBER_AMBER_H
49 # include <BALL/MOLMEC/AMBER/amber.h>
50 #endif
51 
52 #ifndef BALL_MOLMEC_CHARMM_CHARMM_H
54 #endif
55 
56 #ifndef BALL_MOLMEC_MMFF94_MMFF94
58 #endif
59 
60 
61 #include <QtGui/QWidget>
62 
63 namespace BALL
64 {
65  class Composite;
66 
67  namespace VIEW
68  {
69  class FDPBDialog;
70 
91  : public QWidget,
92  public ModularWidget
93  {
94  Q_OBJECT
95 
96  public:
97 
99 
100 
101  enum
102  {
104  AMBER_FF = 0,
105 
108 
110  MMFF94_FF
111  };
112 
116 
121  MolecularStructure(QWidget* parent = 0, const char* name = 0);
122 
125 
127 
130 
133  virtual ~MolecularStructure();
134 
136 
139 
150  virtual void onNotify(Message *message);
151 
158  virtual void checkMenu(MainControl& main_control);
159 
166  virtual void initializeWidget(MainControl& main_control);
167 
172  ForceField& getForceField();
173 
176  Position getForceFieldID();
177 
181  AmberFF& getAmberFF();
182 
186  CharmmFF& getCharmmFF();
187 
189  MMFF94& getMMFF94();
190 
192  AmberConfigurationDialog& getAmberConfigurationDialog();
193 
195  CharmmConfigurationDialog& getCharmmConfigurationDialog();
196 
198  MMFF94ConfigurationDialog& getMMFF94ConfigurationDialog();
199 
203  virtual void fetchPreferences(INIFile &inifile);
204 
208  virtual void writePreferences(INIFile &inifile);
209 
212 
214  MinimizationDialog& getMinimizationDialog() { return minimization_dialog_;}
215 
217  FDPBDialog* getFDPBDialog() { return fdpb_dialog_;}
218 
221 
223  const AssignBondOrderConfigurationDialog& getBondOrderDialog() const { return bond_order_dialog_;}
224 
226  AssignBondOrderResultsDialog& getBondOrderResultsDialog() { return bond_order_results_dialog_;}
227 
229  const AssignBondOrderResultsDialog& getBondOrderResultsDialog() const { return bond_order_results_dialog_;}
230 
231 
232  public slots:
233 
238  void centerCamera(Composite* composite = 0);
239 
247  void buildBonds();
248 
253  void buildEndcaps();
254 
261  void runBondOrderAssignment(bool show_dialog = true);
262 
263 
271  void showBondOrderAssignmentResults(AssignBondOrderProcessor& bop);
272 
280  void addHydrogens();
281 
284  virtual bool checkResidue();
285 
287  virtual void createGridFromDistance();
288 
290  virtual void createGridFromCameraDistance();
291 
293  virtual void calculateSecondaryStructure();
294 
296  virtual void mapProteins();
297 
299  virtual void calculateRMSD();
300 
302  void buildPeptide();
303 
305  bool generateCrystal(bool show = true);
306 
308  void calculateHBonds();
309 
311  void calculateRamachandranPlot();
312 
313  // Calculate the charges for a Molecule
314 // void assignCharges();
315 
317  void calculateForceFieldEnergy();
318 
320  void runMinimization(bool show_dialog_ = true);
321 
323  void MDSimulation(bool show_dialog_ = true);
324 
326  void showAmberForceFieldOptions();
327 
329  void showCharmmForceFieldOptions();
330 
332  void showMMFF94ForceFieldOptions();
333 
335  void chooseAmberFF();
336 
338  void chooseCharmmFF();
339 
341  void chooseMMFF94();
342 
344  void chooseForceField(Position nr);
345 
347  void setupForceField();
348 
350  bool calculateFDPB(bool show = true);
351 
353 
354  private:
355 
356  virtual void addComposite_(Composite& composite, const String& name, bool normalize = true);
357 
358  void applyForceFieldSettings_();
359 
360  void selectUnassignedForceFieldAtoms_();
361 
362  bool setupForceField_(System* system, bool disable_selection = false);
363 
364  QAction* center_camera_id_;
365  QAction* build_bonds_id_;
366  QAction* build_endcaps_id_;
367  QAction* assign_bond_orders_id_;
368  QAction* add_hydrogens_id_;
369  QAction* check_structure_id_;
370  QAction* create_distance_grid_id_, *create_distance_grid_id2_;
371  QAction* calculate_ss_id_;
372  QAction* map_proteins_id_;
373  QAction* calculate_RMSD_id_;
374  QAction* assign_charges_id_;
375  QAction* energy_id_;
376  QAction* minimization_id_;
377  QAction* mdsimulation_id_;
378  QAction* build_peptide_id_;
379  QAction* calculate_hbonds_id_;
380  QAction* amber_ff_id_;
381  QAction* charmm_ff_id_;
382  QAction* mmff94_id_;
383  QAction* setup_ff_;
384  QAction* calculate_ramachandran_;
385  QAction* menu_FPDB_;
386  QAction* generate_crystal_;
387 
388  AmberFF amber_;
389  CharmmFF charmm_;
390  MMFF94 mmff_;
391  AmberConfigurationDialog amber_dialog_;
392  CharmmConfigurationDialog charmm_dialog_;
393  MMFF94ConfigurationDialog mmff94_dialog_;
394  MinimizationDialog minimization_dialog_;
395  MolecularDynamicsDialog md_dialog_;
396  FDPBDialog* fdpb_dialog_;
397  AssignBondOrderConfigurationDialog bond_order_dialog_;
398  AssignBondOrderResultsDialog bond_order_results_dialog_;
399  Position force_field_id_;
400  GenerateCrystalDialog* crystal_dialog_;
401  };
402 
403  } // namespace VIEW
404 } // namespace BALL
405 
406 #endif // BALL_VIEW_WIDGETS_MOLECULARSTRUCTURE_H
Assignment of bond orders from topology information.
AssignBondOrderResultsDialog & getBondOrderResultsDialog()
const AssignBondOrderConfigurationDialog & getBondOrderDialog() const
const AssignBondOrderResultsDialog & getBondOrderResultsDialog() const
#define BALL_VIEW_EXPORT
Definition: COMMON/global.h:52
#define BALL_EMBEDDABLE(TYPE, BASE)
Definition: embeddable.h:31
MolecularDynamicsDialog & getMDSimulationDialog()
AssignBondOrderConfigurationDialog & getBondOrderDialog()
MinimizationDialog & getMinimizationDialog()