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 
177  AmberFF& getAmberFF();
178 
182  CharmmFF& getCharmmFF();
183 
185  MMFF94& getMMFF94();
186 
188  AmberConfigurationDialog& getAmberConfigurationDialog();
189 
191  CharmmConfigurationDialog& getCharmmConfigurationDialog();
192 
194  MMFF94ConfigurationDialog& getMMFF94ConfigurationDialog();
195 
199  virtual void fetchPreferences(INIFile &inifile);
200 
204  virtual void writePreferences(INIFile &inifile);
205 
208 
210  MinimizationDialog& getMinimizationDialog() { return minimization_dialog_;}
211 
213  FDPBDialog* getFDPBDialog() { return fdpb_dialog_;}
214 
217 
219  const AssignBondOrderConfigurationDialog& getBondOrderDialog() const { return bond_order_dialog_;}
220 
222  AssignBondOrderResultsDialog& getBondOrderResultsDialog() { return bond_order_results_dialog_;}
223 
225  const AssignBondOrderResultsDialog& getBondOrderResultsDialog() const { return bond_order_results_dialog_;}
226 
227 
228  public slots:
229 
234  void centerCamera(Composite* composite = 0);
235 
243  void buildBonds();
244 
249  void buildEndcaps();
250 
257  void runBondOrderAssignment(bool show_dialog = true);
258 
259 
267  void showBondOrderAssignmentResults(AssignBondOrderProcessor& bop);
268 
276  void addHydrogens();
277 
280  virtual bool checkResidue();
281 
283  virtual void createGridFromDistance();
284 
286  virtual void createGridFromCameraDistance();
287 
289  virtual void calculateSecondaryStructure();
290 
292  virtual void mapProteins();
293 
295  virtual void calculateRMSD();
296 
298  void buildPeptide();
299 
301  bool generateCrystal(bool show = true);
302 
304  void calculateHBonds();
305 
307  void calculateRamachandranPlot();
308 
309  // Calculate the charges for a Molecule
310 // void assignCharges();
311 
313  void calculateForceFieldEnergy();
314 
316  void runMinimization(bool show_dialog_ = true);
317 
319  void MDSimulation(bool show_dialog_ = true);
320 
322  void showAmberForceFieldOptions();
323 
325  void showCharmmForceFieldOptions();
326 
328  void showMMFF94ForceFieldOptions();
329 
331  void chooseAmberFF();
332 
334  void chooseCharmmFF();
335 
337  void chooseMMFF94();
338 
340  void chooseForceField(Position nr);
341 
343  void setupForceField();
344 
346  bool calculateFDPB(bool show = true);
347 
349 
350  private:
351 
352  virtual void addComposite_(Composite& composite, const String& name, bool normalize = true);
353 
354  void applyForceFieldSettings_();
355 
356  void selectUnassignedForceFieldAtoms_();
357 
358  bool setupForceField_(System* system, bool disable_selection = false);
359 
360  QAction* center_camera_id_;
361  QAction* build_bonds_id_;
362  QAction* build_endcaps_id_;
363  QAction* assign_bond_orders_id_;
364  QAction* add_hydrogens_id_;
365  QAction* check_structure_id_;
366  QAction* create_distance_grid_id_, *create_distance_grid_id2_;
367  QAction* calculate_ss_id_;
368  QAction* map_proteins_id_;
369  QAction* calculate_RMSD_id_;
370  QAction* assign_charges_id_;
371  QAction* energy_id_;
372  QAction* minimization_id_;
373  QAction* mdsimulation_id_;
374  QAction* build_peptide_id_;
375  QAction* calculate_hbonds_id_;
376  QAction* amber_ff_id_;
377  QAction* charmm_ff_id_;
378  QAction* mmff94_id_;
379  QAction* setup_ff_;
380  QAction* calculate_ramachandran_;
381  QAction* menu_FPDB_;
382  QAction* generate_crystal_;
383 
384  AmberFF amber_;
385  CharmmFF charmm_;
386  MMFF94 mmff_;
387  AmberConfigurationDialog amber_dialog_;
388  CharmmConfigurationDialog charmm_dialog_;
389  MMFF94ConfigurationDialog mmff94_dialog_;
390  MinimizationDialog minimization_dialog_;
391  MolecularDynamicsDialog md_dialog_;
392  FDPBDialog* fdpb_dialog_;
393  AssignBondOrderConfigurationDialog bond_order_dialog_;
394  AssignBondOrderResultsDialog bond_order_results_dialog_;
395  Position force_field_id_;
396  GenerateCrystalDialog* crystal_dialog_;
397  };
398 
399  } // namespace VIEW
400 } // namespace BALL
401 
402 #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()