BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Types | Private Member Functions | Private Attributes | List of all members
BALL::VIEW::MolecularStructure Class Reference

#include <BALL/VIEW/WIDGETS/molecularStructure.h>

Inheritance diagram for BALL::VIEW::MolecularStructure:
QWidget BALL::VIEW::ModularWidget BALL::Embeddable BALL::VIEW::ConnectionObject

Public Types

enum  { AMBER_FF = 0, CHARMM_FF, MMFF94_FF }
 

Public Member Functions

Constructors
 MolecularStructure (QWidget *parent=0, const char *name=0)
 
 MolecularStructure (const MolecularStructure &m)
 only needed for Python Interface, dont call it! More...
 
Destructors
virtual ~MolecularStructure ()
 
- Public Member Functions inherited from BALL::VIEW::ModularWidget
void setWorkingDirFromFilename_ (String filename)
 
virtual void showHelp (const String &url)
 
 ModularWidget (const char *name="<ModularWidget>")
 
 ModularWidget (const ModularWidget &widget)
 
virtual ~ModularWidget ()
 
virtual void destroy ()
 
virtual void clear ()
 
QAction * insertMenuEntry (Position parent_id, const String &name, const QObject *receiver=0, const char *slot=0, const String &description="", QKeySequence accel=QKeySequence())
 
void setMenuHint (const String &hint)
 
void setMenuHelp (const String &url)
 
virtual void registerForHelpSystem (const QObject *object, const String &url)
 
virtual void addToolBarEntries (QToolBar *main_tb)
 
void setIcon (const String &filename, bool add_to_main_toolbar=true)
 
virtual void initializePreferencesTab (Preferences &preferences)
 
virtual void finalizePreferencesTab (Preferences &preferences)
 
virtual void applyPreferences ()
 
bool lockComposites ()
 
bool unlockComposites ()
 Unlock the Composites. More...
 
MainControlgetMainControl () const
 
virtual void setStatusbarText (const String &text, bool important=false)
 
virtual void setStatusbarText (const QString &text, bool important=false)
  More...
 
String getWorkingDir ()
 Implemented for convenience. More...
 
void setWorkingDir (const String &dir)
 Implemented for convenience. More...
 
FragmentDBgetFragmentDB () const
 
virtual void dump (std::ostream &s=std::cout, Size depth=0) const
 
virtual void finalizeWidget (MainControl &main_control)
 
virtual bool canHandle (const String &) const
 
virtual bool openFile (const String &)
 
- Public Member Functions inherited from BALL::Embeddable
 Embeddable (const String &identifier="<Embeddable>")
 
 Embeddable (const Embeddable &embeddable)
 
virtual ~Embeddable ()
 
void setIdentifier (const String &identifier)
 
const StringgetIdentifier () const
 
void unregisterThis ()
 
virtual void registerThis ()
 
- Public Member Functions inherited from BALL::VIEW::ConnectionObject
 ConnectionObject ()
 
virtual ~ConnectionObject ()
 
void registerConnectionObject (ConnectionObject &object)
 
void unregisterConnectionObject (ConnectionObject &object)
 
bool isConnectionObjectRegistered (const ConnectionObject &object)
 
ConnectionObjectgetParent () const
 
ConnectionObjectgetRoot ()
 
virtual bool isValid () const
 

Private Member Functions

virtual void addComposite_ (Composite &composite, const String &name)
 
void applyForceFieldSettings_ ()
 
void selectUnassignedForceFieldAtoms_ ()
 
bool setupForceField_ (System *system, bool disable_selection=false)
 

Private Attributes

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_
 
QAction * 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_
 
AmberFF amber_
 
CharmmFF charmm_
 
MMFF94 mmff_
 
AmberConfigurationDialog amber_dialog_
 
CharmmConfigurationDialog charmm_dialog_
 
MMFF94ConfigurationDialog mmff94_dialog_
 
MinimizationDialog minimization_dialog_
 
MolecularDynamicsDialog md_dialog_
 
FDPBDialogfdpb_dialog_
 
AssignBondOrderConfigurationDialog bond_order_dialog_
 
AssignBondOrderResultsDialog bond_order_results_dialog_
 
Position force_field_id_
 

Accessors: inspectors and mutators

virtual void onNotify (Message *message)
 
virtual void checkMenu (MainControl &main_control)
 
virtual void initializeWidget (MainControl &main_control)
 
ForceFieldgetForceField ()
 
AmberFFgetAmberFF ()
 
CharmmFFgetCharmmFF ()
 
MMFF94getMMFF94 ()
 
AmberConfigurationDialoggetAmberConfigurationDialog ()
 Get an instance of an dialog to setup the AMBER forcefield. More...
 
CharmmConfigurationDialoggetCharmmConfigurationDialog ()
 Get an instance of an dialog to setup the CHARMM forcefield. More...
 
MMFF94ConfigurationDialoggetMMFF94ConfigurationDialog ()
 
virtual void fetchPreferences (INIFile &inifile)
 
virtual void writePreferences (INIFile &inifile)
 
MolecularDynamicsDialoggetMDSimulationDialog ()
 
MinimizationDialoggetMinimizationDialog ()
 
FDPBDialoggetFDPBDialog ()
 
AssignBondOrderConfigurationDialoggetBondOrderDialog ()
 
const
AssignBondOrderConfigurationDialog
getBondOrderDialog () const
 
AssignBondOrderResultsDialoggetBondOrderResultsDialog ()
 
const
AssignBondOrderResultsDialog
getBondOrderResultsDialog () const
 
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 ()
 Create a RegularData3D instance with the distance from the geometric center. More...
 
virtual void createGridFromCameraDistance ()
 
virtual void calculateSecondaryStructure ()
 Calculate the secondary structure for a protein. More...
 
virtual void mapProteins ()
 Map two Proteins and apply the resulting transformation matrix. More...
 
virtual void calculateRMSD ()
 Calculate the RMSD between two Molecules. More...
 
void buildPeptide ()
 Build a Peptide from a amino acid sequence. More...
 
void calculateHBonds ()
 Calculate the H-Bonds for a Protein. More...
 
void calculateRamachandranPlot ()
 Calculate a Ramachandran Plot. More...
 
void calculateForceFieldEnergy ()
 Calculate the energy for the currently selected force field. More...
 
void runMinimization (bool show_dialog_=true)
 Run a energy minization with the currently selected force field. More...
 
void MDSimulation (bool show_dialog_=true)
 Perfomr a molecular dynamics simulation with the currently selected force field. More...
 
void showAmberForceFieldOptions ()
 Show the dialog to setup the AMBER force field. More...
 
void showCharmmForceFieldOptions ()
 Show the dialog to setup the CHARMM force field. More...
 
void showMMFF94ForceFieldOptions ()
 
void chooseAmberFF ()
 Slot for a menu entry to select the AMBER force field. More...
 
void chooseCharmmFF ()
 Slot for a menu entry to select the CHARMM force field. More...
 
void chooseMMFF94 ()
 Slot for a menu entry to select the MMFF94 force field. More...
 
void chooseForceField (Position nr)
 
void setupForceField ()
 Show a dialog to setup the currently selected force field. More...
 
bool calculateFDPB (bool show=true)
 

Additional Inherited Members

- Static Public Member Functions inherited from BALL::VIEW::ModularWidget
static void registerWidget (ModularWidget *mwidget) throw (Exception::NullPointer)
 
- Protected Member Functions inherited from BALL::VIEW::ConnectionObject
void onNotify_ (Message *message)
 
void notify_ (Message *message)
 
void notify_ (Message &message)
 
- Static Protected Member Functions inherited from BALL::Embeddable
static void registerInstance_ (const std::type_info &type, const Embeddable *instance)
 
static void unregisterInstance_ (const Embeddable *instance)
 
static Size countInstances_ (const std::type_info &type)
 
static EmbeddablegetInstance_ (const std::type_info &type, Position index)
 
static EmbeddablegetInstance_ (const std::type_info &type, const String &identifier)
 
- Protected Attributes inherited from BALL::VIEW::ModularWidget
QAction * window_menu_entry_
 
bool show_window_enty_
 
bool default_visible_
 
QAction * last_action_
 
QList< QAction * > main_toolbar_actions_
 

Detailed Description

MolecularStructure provides means to modify molecular structures and do several calculations. To do so, it contains the MMFF94, AMBER and CHARMM forcefields and dialogs to do the setup. The widget itself is invisible, but it has several menu entries, e.g.:

Definition at line 86 of file molecularStructure.h.

Member Enumeration Documentation

anonymous enum
Enumerator
AMBER_FF 
CHARMM_FF 
MMFF94_FF 

Definition at line 97 of file molecularStructure.h.

Constructor & Destructor Documentation

BALL::VIEW::MolecularStructure::MolecularStructure ( QWidget parent = 0,
const char *  name = 0 
)

Default Constructor. Calls registerWidget.

See Also
ModularWidget
BALL::VIEW::MolecularStructure::MolecularStructure ( const MolecularStructure m)

only needed for Python Interface, dont call it!

virtual BALL::VIEW::MolecularStructure::~MolecularStructure ( )
virtual

Destructor.

Member Function Documentation

virtual void BALL::VIEW::MolecularStructure::addComposite_ ( Composite composite,
const String name 
)
privatevirtual
void BALL::VIEW::MolecularStructure::addHydrogens ( )
slot

Adds hydrogens. If selected molecular objects are available hydrogens will be created for each object in the selection list using the add_hydrogens processor of the FragmentDB. A CompositeMessage will be sent for each object in the selection list. The number of hydrogens created will be written into the Log object.

void BALL::VIEW::MolecularStructure::applyForceFieldSettings_ ( )
private
void BALL::VIEW::MolecularStructure::buildBonds ( )
slot

Creates bonds. If selected molecular objects are available Bond objects will be created for each object in the selection list using the build_bonds processor of the FragmentDB. A CompositeMessage will be sent for each object in the selection list. The number of bonds created will be written into the Log object.

void BALL::VIEW::MolecularStructure::buildEndcaps ( )
slot

Adds neutral end caps to a protein chain. This function runs our PeptideCapProcessor to replace the terminals by neutral end caps.

void BALL::VIEW::MolecularStructure::buildPeptide ( )
slot

Build a Peptide from a amino acid sequence.

bool BALL::VIEW::MolecularStructure::calculateFDPB ( bool  show = true)
slot
void BALL::VIEW::MolecularStructure::calculateForceFieldEnergy ( )
slot

Calculate the energy for the currently selected force field.

void BALL::VIEW::MolecularStructure::calculateHBonds ( )
slot

Calculate the H-Bonds for a Protein.

void BALL::VIEW::MolecularStructure::calculateRamachandranPlot ( )
slot

Calculate a Ramachandran Plot.

virtual void BALL::VIEW::MolecularStructure::calculateRMSD ( )
virtualslot

Calculate the RMSD between two Molecules.

virtual void BALL::VIEW::MolecularStructure::calculateSecondaryStructure ( )
virtualslot

Calculate the secondary structure for a protein.

void BALL::VIEW::MolecularStructure::centerCamera ( Composite composite = 0)
slot

Centers the camera of Scene to the geometric center of the molecular objects in the selection list. A SceneMessage will be sent to inform the Scene.

virtual void BALL::VIEW::MolecularStructure::checkMenu ( MainControl main_control)
virtual

Check the menu entries. The menus Select, Deselect, Add Hydrogens and Build Bonds will be enabled if the selection of molecular objects is not empty. The menu Focus camera will be enabled only if only one molecular object is in the selection list.

Reimplemented from BALL::VIEW::ModularWidget.

virtual bool BALL::VIEW::MolecularStructure::checkResidue ( )
virtualslot

Check the residues

void BALL::VIEW::MolecularStructure::chooseAmberFF ( )
slot

Slot for a menu entry to select the AMBER force field.

void BALL::VIEW::MolecularStructure::chooseCharmmFF ( )
slot

Slot for a menu entry to select the CHARMM force field.

void BALL::VIEW::MolecularStructure::chooseForceField ( Position  nr)
slot
void BALL::VIEW::MolecularStructure::chooseMMFF94 ( )
slot

Slot for a menu entry to select the MMFF94 force field.

virtual void BALL::VIEW::MolecularStructure::createGridFromCameraDistance ( )
virtualslot
virtual void BALL::VIEW::MolecularStructure::createGridFromDistance ( )
virtualslot

Create a RegularData3D instance with the distance from the geometric center.

virtual void BALL::VIEW::MolecularStructure::fetchPreferences ( INIFile inifile)
virtual

Fetch the widgets preferences from the INIfile.

Parameters
inifilethe INIFile that contains the required values

Reimplemented from BALL::VIEW::ModularWidget.

AmberConfigurationDialog& BALL::VIEW::MolecularStructure::getAmberConfigurationDialog ( )

Get an instance of an dialog to setup the AMBER forcefield.

AmberFF& BALL::VIEW::MolecularStructure::getAmberFF ( )

Get the instance of the AMBER forcefield. The forcefield will be created, when this function is called the first time.

AssignBondOrderConfigurationDialog& BALL::VIEW::MolecularStructure::getBondOrderDialog ( )
inline

Definition at line 212 of file molecularStructure.h.

const AssignBondOrderConfigurationDialog& BALL::VIEW::MolecularStructure::getBondOrderDialog ( ) const
inline

Definition at line 215 of file molecularStructure.h.

AssignBondOrderResultsDialog& BALL::VIEW::MolecularStructure::getBondOrderResultsDialog ( )
inline

Definition at line 218 of file molecularStructure.h.

const AssignBondOrderResultsDialog& BALL::VIEW::MolecularStructure::getBondOrderResultsDialog ( ) const
inline

Definition at line 221 of file molecularStructure.h.

CharmmConfigurationDialog& BALL::VIEW::MolecularStructure::getCharmmConfigurationDialog ( )

Get an instance of an dialog to setup the CHARMM forcefield.

CharmmFF& BALL::VIEW::MolecularStructure::getCharmmFF ( )

Get the instance of the CHARMM forcefield. The forcefield will be created, when this function is called the first time.

FDPBDialog* BALL::VIEW::MolecularStructure::getFDPBDialog ( )
inline

Definition at line 209 of file molecularStructure.h.

ForceField& BALL::VIEW::MolecularStructure::getForceField ( )

Get the currently selected force field instance. This returns either a reference to the amber_ff_ member or to the charmm_ff_ member, depending on the value of use_amber_.

MolecularDynamicsDialog& BALL::VIEW::MolecularStructure::getMDSimulationDialog ( )
inline

Definition at line 203 of file molecularStructure.h.

MinimizationDialog& BALL::VIEW::MolecularStructure::getMinimizationDialog ( )
inline

Definition at line 206 of file molecularStructure.h.

MMFF94& BALL::VIEW::MolecularStructure::getMMFF94 ( )
MMFF94ConfigurationDialog& BALL::VIEW::MolecularStructure::getMMFF94ConfigurationDialog ( )
virtual void BALL::VIEW::MolecularStructure::initializeWidget ( MainControl main_control)
virtual

Initialize the popup menus for this Widget. This method is called automatically immediately before the main application is started by MainControl::show().

Parameters
main_controlthe MainControl object to be initialized
See Also
finalizeWidget

Reimplemented from BALL::VIEW::ModularWidget.

virtual void BALL::VIEW::MolecularStructure::mapProteins ( )
virtualslot

Map two Proteins and apply the resulting transformation matrix.

void BALL::VIEW::MolecularStructure::MDSimulation ( bool  show_dialog_ = true)
slot

Perfomr a molecular dynamics simulation with the currently selected force field.

virtual void BALL::VIEW::MolecularStructure::onNotify ( Message message)
virtual

Handles messages sent by other registered ConnectionObject objects. Converts CompositeMessage if the retrieved Composite object is kind of AtomContainer and applies molecular properties to it (like normalize_names and build_bonds).

Parameters
messagethe pointer to the message that should be processed
See Also
CompositeMessage
GeometricObjectSelectionMessage
MolecularTaskMessage

Reimplemented from BALL::VIEW::ConnectionObject.

void BALL::VIEW::MolecularStructure::runBondOrderAssignment ( bool  show_dialog = true)
slot

Assigns bond orders. If a single selected molecular object is available Bond Orders will be set for each bond object of the selected AtomContainer using the assign_bond_order processor. A CompositeMessage will be sent for the object in the selection list. The number of bond orders changed will be written into the Log object.

void BALL::VIEW::MolecularStructure::runMinimization ( bool  show_dialog_ = true)
slot

Run a energy minization with the currently selected force field.

void BALL::VIEW::MolecularStructure::selectUnassignedForceFieldAtoms_ ( )
private
void BALL::VIEW::MolecularStructure::setupForceField ( )
slot

Show a dialog to setup the currently selected force field.

bool BALL::VIEW::MolecularStructure::setupForceField_ ( System system,
bool  disable_selection = false 
)
private
void BALL::VIEW::MolecularStructure::showAmberForceFieldOptions ( )
slot

Show the dialog to setup the AMBER force field.

void BALL::VIEW::MolecularStructure::showBondOrderAssignmentResults ( AssignBondOrderProcessor bop)
slot

Shows the results of the given BondOrderAssigner. All bond order assignment sets found by the given BondOrderAssigner will be presented as structural sketch, additional scoring information is provided by click on the entry. A single assignment can either be applied to the selected AtomContainer, or a copy of the original system with the bond order assignment of the current result is added to the Structure list.

void BALL::VIEW::MolecularStructure::showCharmmForceFieldOptions ( )
slot

Show the dialog to setup the CHARMM force field.

void BALL::VIEW::MolecularStructure::showMMFF94ForceFieldOptions ( )
slot
virtual void BALL::VIEW::MolecularStructure::writePreferences ( INIFile inifile)
virtual

Writes the widgets preferences to the INIFile.

Parameters
inifilethe INIFile that contains the needed values

Reimplemented from BALL::VIEW::ModularWidget.

Member Data Documentation

QAction* BALL::VIEW::MolecularStructure::add_hydrogens_id_
private

Definition at line 357 of file molecularStructure.h.

AmberFF BALL::VIEW::MolecularStructure::amber_
private

Definition at line 376 of file molecularStructure.h.

AmberConfigurationDialog BALL::VIEW::MolecularStructure::amber_dialog_
private

Definition at line 379 of file molecularStructure.h.

QAction* BALL::VIEW::MolecularStructure::amber_ff_id_
private

Definition at line 369 of file molecularStructure.h.

QAction* BALL::VIEW::MolecularStructure::assign_bond_orders_id_
private

Definition at line 356 of file molecularStructure.h.

QAction* BALL::VIEW::MolecularStructure::assign_charges_id_
private

Definition at line 363 of file molecularStructure.h.

AssignBondOrderConfigurationDialog BALL::VIEW::MolecularStructure::bond_order_dialog_
private

Definition at line 385 of file molecularStructure.h.

AssignBondOrderResultsDialog BALL::VIEW::MolecularStructure::bond_order_results_dialog_
private

Definition at line 386 of file molecularStructure.h.

QAction* BALL::VIEW::MolecularStructure::build_bonds_id_
private

Definition at line 354 of file molecularStructure.h.

QAction* BALL::VIEW::MolecularStructure::build_endcaps_id_
private

Definition at line 355 of file molecularStructure.h.

QAction* BALL::VIEW::MolecularStructure::build_peptide_id_
private

Definition at line 367 of file molecularStructure.h.

QAction* BALL::VIEW::MolecularStructure::calculate_hbonds_id_
private

Definition at line 368 of file molecularStructure.h.

QAction* BALL::VIEW::MolecularStructure::calculate_ramachandran_
private

Definition at line 373 of file molecularStructure.h.

QAction* BALL::VIEW::MolecularStructure::calculate_RMSD_id_
private

Definition at line 362 of file molecularStructure.h.

QAction* BALL::VIEW::MolecularStructure::calculate_ss_id_
private

Definition at line 360 of file molecularStructure.h.

QAction* BALL::VIEW::MolecularStructure::center_camera_id_
private

Definition at line 353 of file molecularStructure.h.

CharmmFF BALL::VIEW::MolecularStructure::charmm_
private

Definition at line 377 of file molecularStructure.h.

CharmmConfigurationDialog BALL::VIEW::MolecularStructure::charmm_dialog_
private

Definition at line 380 of file molecularStructure.h.

QAction* BALL::VIEW::MolecularStructure::charmm_ff_id_
private

Definition at line 370 of file molecularStructure.h.

QAction* BALL::VIEW::MolecularStructure::check_structure_id_
private

Definition at line 358 of file molecularStructure.h.

QAction * BALL::VIEW::MolecularStructure::create_distance_grid_id2_
private

Definition at line 359 of file molecularStructure.h.

QAction* BALL::VIEW::MolecularStructure::create_distance_grid_id_
private

Definition at line 359 of file molecularStructure.h.

QAction* BALL::VIEW::MolecularStructure::energy_id_
private

Definition at line 364 of file molecularStructure.h.

FDPBDialog* BALL::VIEW::MolecularStructure::fdpb_dialog_
private

Definition at line 384 of file molecularStructure.h.

Position BALL::VIEW::MolecularStructure::force_field_id_
private

Definition at line 387 of file molecularStructure.h.

QAction* BALL::VIEW::MolecularStructure::map_proteins_id_
private

Definition at line 361 of file molecularStructure.h.

MolecularDynamicsDialog BALL::VIEW::MolecularStructure::md_dialog_
private

Definition at line 383 of file molecularStructure.h.

QAction* BALL::VIEW::MolecularStructure::mdsimulation_id_
private

Definition at line 366 of file molecularStructure.h.

QAction* BALL::VIEW::MolecularStructure::menu_FPDB_
private

Definition at line 374 of file molecularStructure.h.

MinimizationDialog BALL::VIEW::MolecularStructure::minimization_dialog_
private

Definition at line 382 of file molecularStructure.h.

QAction* BALL::VIEW::MolecularStructure::minimization_id_
private

Definition at line 365 of file molecularStructure.h.

MMFF94ConfigurationDialog BALL::VIEW::MolecularStructure::mmff94_dialog_
private

Definition at line 381 of file molecularStructure.h.

QAction* BALL::VIEW::MolecularStructure::mmff94_id_
private

Definition at line 371 of file molecularStructure.h.

MMFF94 BALL::VIEW::MolecularStructure::mmff_
private

Definition at line 378 of file molecularStructure.h.

QAction* BALL::VIEW::MolecularStructure::setup_ff_
private

Definition at line 372 of file molecularStructure.h.