BALL 1.5.0
Loading...
Searching...
No Matches
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
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 <QtWidgets/QWidget>
62
63namespace 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
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
173
177
182
187
190
193
196
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 Q_SLOTS:
233
238 void centerCamera(Composite* composite = 0);
239
248
254
261 void runBondOrderAssignment(bool show_dialog = true);
262
263
272
281
284 virtual bool checkResidue();
285
288
291
294
296 virtual void mapProteins();
297
299 virtual void calculateRMSD();
300
303
305 bool generateCrystal(bool show = true);
306
309
312
313 // Calculate the charges for a Molecule
314// void assignCharges();
315
318
320 void runMinimization(bool show_dialog_ = true);
321
323 void MDSimulation(bool show_dialog_ = true);
324
327
330
333
336
339
342
345
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
#define BALL_EMBEDDABLE(TYPE, BASE)
Definition embeddable.h:31
Assignment of bond orders from topology information.
void calculateForceFieldEnergy()
Calculate the energy for the currently selected force field.
void chooseAmberFF()
Slot for a menu entry to select the AMBER force field.
CharmmConfigurationDialog & getCharmmConfigurationDialog()
Get an instance of an dialog to setup the CHARMM forcefield.
MolecularDynamicsDialog & getMDSimulationDialog()
virtual void createGridFromDistance()
Create a RegularData3D instance with the distance from the geometric center.
void showAmberForceFieldOptions()
Show the dialog to setup the AMBER force field.
bool generateCrystal(bool show=true)
Build a crystal packing for a loaded system.
void MDSimulation(bool show_dialog_=true)
Perfomr a molecular dynamics simulation with the currently selected force field.
virtual void mapProteins()
Map two Proteins and apply the resulting transformation matrix.
void chooseMMFF94()
Slot for a menu entry to select the MMFF94 force field.
AssignBondOrderResultsDialog & getBondOrderResultsDialog()
virtual void writePreferences(INIFile &inifile)
virtual void calculateRMSD()
Calculate the RMSD between two Molecules.
MMFF94ConfigurationDialog & getMMFF94ConfigurationDialog()
void chooseForceField(Position nr)
virtual void checkMenu(MainControl &main_control)
virtual void onNotify(Message *message)
virtual void createGridFromCameraDistance()
virtual void fetchPreferences(INIFile &inifile)
virtual void initializeWidget(MainControl &main_control)
void showCharmmForceFieldOptions()
Show the dialog to setup the CHARMM force field.
AssignBondOrderConfigurationDialog & getBondOrderDialog()
void calculateRamachandranPlot()
Calculate a Ramachandran Plot.
MinimizationDialog & getMinimizationDialog()
void setupForceField()
Show a dialog to setup the currently selected force field.
void centerCamera(Composite *composite=0)
virtual void calculateSecondaryStructure()
Calculate the secondary structure for a protein.
const AssignBondOrderResultsDialog & getBondOrderResultsDialog() const
void runMinimization(bool show_dialog_=true)
Run a energy minization with the currently selected force field.
void chooseCharmmFF()
Slot for a menu entry to select the CHARMM force field.
void buildPeptide()
Build a Peptide from a amino acid sequence.
AmberConfigurationDialog & getAmberConfigurationDialog()
Get an instance of an dialog to setup the AMBER forcefield.
bool calculateFDPB(bool show=true)
void showBondOrderAssignmentResults(AssignBondOrderProcessor &bop)
const AssignBondOrderConfigurationDialog & getBondOrderDialog() const
MolecularStructure(QWidget *parent=0, const char *name=0)
void runBondOrderAssignment(bool show_dialog=true)
MolecularStructure(const MolecularStructure &m)
only needed for Python Interface, dont call it!
void calculateHBonds()
Calculate the H-Bonds for a Protein.
#define BALL_VIEW_EXPORT