Loading...
Searching...
No Matches
molecularStructure.h
Go to the documentation of this file.
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
#ifndef BALL_VIEW_WIDGETS_MOLECULARSTRUCTURE_H
#define BALL_VIEW_WIDGETS_MOLECULARSTRUCTURE_H
#ifndef BALL_VIEW_KERNEL_MODULARWIDGET_H
# include <BALL/VIEW/KERNEL/modularWidget.h>
#endif
#ifndef BALL_MATHS_VECTOR3_H
#include <BALL/MATHS/vector3.h>
#endif
#ifndef BALL_VIEW_DIALOGS_AMBERCONFIGURATIONDIALOG_H
#include <BALL/VIEW/DIALOGS/amberConfigurationDialog.h>
#endif
#ifndef BALL_VIEW_DIALOGS_MINIMIZATIONDIALOG_H
# include <BALL/VIEW/DIALOGS/minimizationDialog.h>
#endif
#ifndef BALL_VIEW_DIALOGS_MOLECULARDYNAMICSDIALOG_H
# include <BALL/VIEW/DIALOGS/molecularDynamicsDialog.h>
#endif
#ifndef BALL_VIEW_DIALOGS_CHARMMCONFIGURATIONDIALOG_H
# include <BALL/VIEW/DIALOGS/charmmConfigurationDialog.h>
#endif
#ifndef BALL_VIEW_DIALOGS_MMFF94CONFIGURATIONDIALOG_H
# include <BALL/VIEW/DIALOGS/MMFF94ConfigurationDialog.h>
#endif
#ifndef BALL_VIEW_DIALOGS_ASSIGNBONDORDERCONFIGURATIONDIALOG_H
# include <BALL/VIEW/DIALOGS/assignBondOrderConfigurationDialog.h>
#endif
#ifndef BALL_VIEW_DIALOGS_ASSIGNBONDORDERRESULTSDIALOG_H
# include <BALL/VIEW/DIALOGS/assignBondOrderResultsDialog.h>
#endif
#ifndef BALL_VIEW_DIALOGS_GENERaTECRYSTALDIALOG_H
# include <BALL/VIEW/DIALOGS/generateCrystalDialog.h>
#endif
#ifndef BALL_MOLMEC_AMBER_AMBER_H
# include <BALL/MOLMEC/AMBER/amber.h>
#endif
#ifndef BALL_MOLMEC_CHARMM_CHARMM_H
# include <BALL/MOLMEC/CHARMM/charmm.h>
#endif
#ifndef BALL_MOLMEC_MMFF94_MMFF94
# include <BALL/MOLMEC/MMFF94/MMFF94.h>
#endif
#include <QtWidgets/QWidget>
namespace BALL
{
class Composite;
namespace VIEW
{
class FDPBDialog;
class BALL_VIEW_EXPORT MolecularStructure
: public QWidget,
public ModularWidget
{
Q_OBJECT
public:
BALL_EMBEDDABLE(MolecularStructure, ModularWidget)
enum
{
AMBER_FF = 0,
CHARMM_FF,
MMFF94_FF
};
MolecularStructure(QWidget* parent = 0, const char* name = 0);
MolecularStructure(const MolecularStructure& m);
virtual ~MolecularStructure();
virtual void onNotify(Message *message);
virtual void checkMenu(MainControl& main_control);
virtual void initializeWidget(MainControl& main_control);
ForceField& getForceField();
Position getForceFieldID();
AmberFF& getAmberFF();
CharmmFF& getCharmmFF();
MMFF94& getMMFF94();
AmberConfigurationDialog& getAmberConfigurationDialog();
CharmmConfigurationDialog& getCharmmConfigurationDialog();
MMFF94ConfigurationDialog& getMMFF94ConfigurationDialog();
virtual void fetchPreferences(INIFile &inifile);
virtual void writePreferences(INIFile &inifile);
MolecularDynamicsDialog& getMDSimulationDialog() { return md_dialog_;}
MinimizationDialog& getMinimizationDialog() { return minimization_dialog_;}
FDPBDialog* getFDPBDialog() { return fdpb_dialog_;}
AssignBondOrderConfigurationDialog& getBondOrderDialog() { return bond_order_dialog_;}
const AssignBondOrderConfigurationDialog& getBondOrderDialog() const { return bond_order_dialog_;}
AssignBondOrderResultsDialog& getBondOrderResultsDialog() { return bond_order_results_dialog_;}
const AssignBondOrderResultsDialog& getBondOrderResultsDialog() const { return bond_order_results_dialog_;}
public Q_SLOTS:
void centerCamera(Composite* composite = 0);
void buildBonds();
void buildEndcaps();
void runBondOrderAssignment(bool show_dialog = true);
void showBondOrderAssignmentResults(AssignBondOrderProcessor& bop);
void addHydrogens();
virtual bool checkResidue();
virtual void createGridFromDistance();
virtual void createGridFromCameraDistance();
virtual void calculateSecondaryStructure();
virtual void mapProteins();
virtual void calculateRMSD();
void buildPeptide();
bool generateCrystal(bool show = true);
void calculateHBonds();
void calculateRamachandranPlot();
// Calculate the charges for a Molecule
// void assignCharges();
void calculateForceFieldEnergy();
void runMinimization(bool show_dialog_ = true);
void MDSimulation(bool show_dialog_ = true);
void showAmberForceFieldOptions();
void showCharmmForceFieldOptions();
void showMMFF94ForceFieldOptions();
void chooseAmberFF();
void chooseCharmmFF();
void chooseMMFF94();
void chooseForceField(Position nr);
void setupForceField();
bool calculateFDPB(bool show = true);
private:
virtual void addComposite_(Composite& composite, const String& name, bool normalize = true);
void applyForceFieldSettings_();
void selectUnassignedForceFieldAtoms_();
bool setupForceField_(System* system, bool disable_selection = false);
QAction* center_camera_id_;
QAction* build_bonds_id_;
QAction* build_endcaps_id_;
QAction* assign_bond_orders_id_;
QAction* add_hydrogens_id_;
QAction* check_structure_id_;
QAction* create_distance_grid_id_, *create_distance_grid_id2_;
QAction* calculate_ss_id_;
QAction* map_proteins_id_;
QAction* calculate_RMSD_id_;
QAction* assign_charges_id_;
QAction* energy_id_;
QAction* minimization_id_;
QAction* mdsimulation_id_;
QAction* build_peptide_id_;
QAction* calculate_hbonds_id_;
QAction* amber_ff_id_;
QAction* charmm_ff_id_;
QAction* mmff94_id_;
QAction* setup_ff_;
QAction* calculate_ramachandran_;
QAction* menu_FPDB_;
QAction* generate_crystal_;
AmberFF amber_;
CharmmFF charmm_;
MMFF94 mmff_;
AmberConfigurationDialog amber_dialog_;
CharmmConfigurationDialog charmm_dialog_;
MMFF94ConfigurationDialog mmff94_dialog_;
MinimizationDialog minimization_dialog_;
MolecularDynamicsDialog md_dialog_;
FDPBDialog* fdpb_dialog_;
AssignBondOrderConfigurationDialog bond_order_dialog_;
AssignBondOrderResultsDialog bond_order_results_dialog_;
Position force_field_id_;
GenerateCrystalDialog* crystal_dialog_;
};
} // namespace VIEW
} // namespace BALL
#endif // BALL_VIEW_WIDGETS_MOLECULARSTRUCTURE_H
BALL_VIEW_EXPORT
#define BALL_VIEW_EXPORT
Definition COMMON/global.h:52
MMFF94ConfigurationDialog.h
MMFF94.h
amberConfigurationDialog.h
amber.h
assignBondOrderConfigurationDialog.h
assignBondOrderResultsDialog.h
charmmConfigurationDialog.h
charmm.h
BALL::AmberFF
Definition amber.h:33
BALL::AssignBondOrderProcessor
Assignment of bond orders from topology information.
Definition assignBondOrderProcessor.h:90
BALL::CharmmFF
Definition charmm.h:31
BALL::Composite
Definition composite.h:74
BALL::ForceField
Definition forceField.h:86
BALL::INIFile
Definition INIFile.h:29
BALL::MMFF94
Definition MMFF94.h:51
BALL::String
Definition string.h:57
BALL::System
Definition KERNEL/system.h:40
BALL::VIEW::AmberConfigurationDialog
Definition amberConfigurationDialog.h:33
BALL::VIEW::AssignBondOrderConfigurationDialog
Definition assignBondOrderConfigurationDialog.h:40
BALL::VIEW::AssignBondOrderResultsDialog
Definition assignBondOrderResultsDialog.h:35
BALL::VIEW::CharmmConfigurationDialog
Definition charmmConfigurationDialog.h:33
BALL::VIEW::FDPBDialog
Definition FDPBDialog.h:54
BALL::VIEW::GenerateCrystalDialog
Definition generateCrystalDialog.h:49
BALL::VIEW::MMFF94ConfigurationDialog
Definition MMFF94ConfigurationDialog.h:33
BALL::VIEW::MainControl
Definition mainControl.h:118
BALL::VIEW::Message
Definition message.h:53
BALL::VIEW::MinimizationDialog
Definition minimizationDialog.h:33
BALL::VIEW::ModularWidget::ModularWidget
ModularWidget(const char *name="<ModularWidget>")
BALL::VIEW::MolecularDynamicsDialog
Definition molecularDynamicsDialog.h:33
BALL::VIEW::MolecularStructure::buildEndcaps
void buildEndcaps()
BALL::VIEW::MolecularStructure::calculateForceFieldEnergy
void calculateForceFieldEnergy()
Calculate the energy for the currently selected force field.
BALL::VIEW::MolecularStructure::chooseAmberFF
void chooseAmberFF()
Slot for a menu entry to select the AMBER force field.
BALL::VIEW::MolecularStructure::getCharmmConfigurationDialog
CharmmConfigurationDialog & getCharmmConfigurationDialog()
Get an instance of an dialog to setup the CHARMM forcefield.
BALL::VIEW::MolecularStructure::getMDSimulationDialog
MolecularDynamicsDialog & getMDSimulationDialog()
Definition molecularStructure.h:211
BALL::VIEW::MolecularStructure::createGridFromDistance
virtual void createGridFromDistance()
Create a RegularData3D instance with the distance from the geometric center.
BALL::VIEW::MolecularStructure::showAmberForceFieldOptions
void showAmberForceFieldOptions()
Show the dialog to setup the AMBER force field.
BALL::VIEW::MolecularStructure::generateCrystal
bool generateCrystal(bool show=true)
Build a crystal packing for a loaded system.
BALL::VIEW::MolecularStructure::getAmberFF
AmberFF & getAmberFF()
BALL::VIEW::MolecularStructure::MDSimulation
void MDSimulation(bool show_dialog_=true)
Perfomr a molecular dynamics simulation with the currently selected force field.
BALL::VIEW::MolecularStructure::mapProteins
virtual void mapProteins()
Map two Proteins and apply the resulting transformation matrix.
BALL::VIEW::MolecularStructure::chooseMMFF94
void chooseMMFF94()
Slot for a menu entry to select the MMFF94 force field.
BALL::VIEW::MolecularStructure::getBondOrderResultsDialog
AssignBondOrderResultsDialog & getBondOrderResultsDialog()
Definition molecularStructure.h:226
BALL::VIEW::MolecularStructure::getForceField
ForceField & getForceField()
BALL::VIEW::MolecularStructure::writePreferences
virtual void writePreferences(INIFile &inifile)
BALL::VIEW::MolecularStructure::calculateRMSD
virtual void calculateRMSD()
Calculate the RMSD between two Molecules.
BALL::VIEW::MolecularStructure::getMMFF94
MMFF94 & getMMFF94()
BALL::VIEW::MolecularStructure::getFDPBDialog
FDPBDialog * getFDPBDialog()
Definition molecularStructure.h:217
BALL::VIEW::MolecularStructure::showMMFF94ForceFieldOptions
void showMMFF94ForceFieldOptions()
BALL::VIEW::MolecularStructure::getMMFF94ConfigurationDialog
MMFF94ConfigurationDialog & getMMFF94ConfigurationDialog()
BALL::VIEW::MolecularStructure::chooseForceField
void chooseForceField(Position nr)
BALL::VIEW::MolecularStructure::checkMenu
virtual void checkMenu(MainControl &main_control)
BALL::VIEW::MolecularStructure::onNotify
virtual void onNotify(Message *message)
BALL::VIEW::MolecularStructure::createGridFromCameraDistance
virtual void createGridFromCameraDistance()
BALL::VIEW::MolecularStructure::fetchPreferences
virtual void fetchPreferences(INIFile &inifile)
BALL::VIEW::MolecularStructure::initializeWidget
virtual void initializeWidget(MainControl &main_control)
BALL::VIEW::MolecularStructure::showCharmmForceFieldOptions
void showCharmmForceFieldOptions()
Show the dialog to setup the CHARMM force field.
BALL::VIEW::MolecularStructure::getBondOrderDialog
AssignBondOrderConfigurationDialog & getBondOrderDialog()
Definition molecularStructure.h:220
BALL::VIEW::MolecularStructure::buildBonds
void buildBonds()
BALL::VIEW::MolecularStructure::calculateRamachandranPlot
void calculateRamachandranPlot()
Calculate a Ramachandran Plot.
BALL::VIEW::MolecularStructure::CHARMM_FF
@ CHARMM_FF
Definition molecularStructure.h:107
BALL::VIEW::MolecularStructure::MMFF94_FF
@ MMFF94_FF
Definition molecularStructure.h:110
BALL::VIEW::MolecularStructure::AMBER_FF
@ AMBER_FF
Definition molecularStructure.h:104
BALL::VIEW::MolecularStructure::getMinimizationDialog
MinimizationDialog & getMinimizationDialog()
Definition molecularStructure.h:214
BALL::VIEW::MolecularStructure::getCharmmFF
CharmmFF & getCharmmFF()
BALL::VIEW::MolecularStructure::setupForceField
void setupForceField()
Show a dialog to setup the currently selected force field.
BALL::VIEW::MolecularStructure::centerCamera
void centerCamera(Composite *composite=0)
BALL::VIEW::MolecularStructure::calculateSecondaryStructure
virtual void calculateSecondaryStructure()
Calculate the secondary structure for a protein.
BALL::VIEW::MolecularStructure::getBondOrderResultsDialog
const AssignBondOrderResultsDialog & getBondOrderResultsDialog() const
Definition molecularStructure.h:229
BALL::VIEW::MolecularStructure::~MolecularStructure
virtual ~MolecularStructure()
BALL::VIEW::MolecularStructure::runMinimization
void runMinimization(bool show_dialog_=true)
Run a energy minization with the currently selected force field.
BALL::VIEW::MolecularStructure::chooseCharmmFF
void chooseCharmmFF()
Slot for a menu entry to select the CHARMM force field.
BALL::VIEW::MolecularStructure::buildPeptide
void buildPeptide()
Build a Peptide from a amino acid sequence.
BALL::VIEW::MolecularStructure::getForceFieldID
Position getForceFieldID()
BALL::VIEW::MolecularStructure::getAmberConfigurationDialog
AmberConfigurationDialog & getAmberConfigurationDialog()
Get an instance of an dialog to setup the AMBER forcefield.
BALL::VIEW::MolecularStructure::calculateFDPB
bool calculateFDPB(bool show=true)
BALL::VIEW::MolecularStructure::showBondOrderAssignmentResults
void showBondOrderAssignmentResults(AssignBondOrderProcessor &bop)
BALL::VIEW::MolecularStructure::getBondOrderDialog
const AssignBondOrderConfigurationDialog & getBondOrderDialog() const
Definition molecularStructure.h:223
BALL::VIEW::MolecularStructure::MolecularStructure
MolecularStructure(QWidget *parent=0, const char *name=0)
BALL::VIEW::MolecularStructure::runBondOrderAssignment
void runBondOrderAssignment(bool show_dialog=true)
BALL::VIEW::MolecularStructure::checkResidue
virtual bool checkResidue()
BALL::VIEW::MolecularStructure::MolecularStructure
MolecularStructure(const MolecularStructure &m)
only needed for Python Interface, dont call it!
BALL::VIEW::MolecularStructure::calculateHBonds
void calculateHBonds()
Calculate the H-Bonds for a Protein.
BALL::VIEW::MolecularStructure::addHydrogens
void addHydrogens()
QWidget
BALL_EMBEDDABLE
#define BALL_EMBEDDABLE(TYPE, BASE)
Definition embeddable.h:31
generateCrystalDialog.h
minimizationDialog.h
modularWidget.h
molecularDynamicsDialog.h
BALL::VIEW
Definition constraints.h:35
BALL
Definition constants.h:13
BALL::Position
BALL_SIZE_TYPE Position
Definition COMMON/global.h:140
vector3.h