Top Banner
QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008
24

QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

Dec 15, 2015

Download

Documents

Leilani Gossard
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

QtMG

CCP4 Developers’ Meeting,

Abingdon, 17th-19th March, 2008

Page 2: QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

Overview

• CCP4mg is an extremely capable molecular graphics program.

• However, technology has moved on programming tools since the project began.

Page 3: QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

Strengths

• Very easy system(s) for building up complex scenes from simple parts.

• Simple way of generating animations from multiple data sets.

• Movies with ability for have arbitrary “key” scenes, with the objects displayed being able to change.

Page 4: QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

Strengths

• Output images/movies at any size with anti-aliasing.

• Hooks into CCP4i project system.

• Many drawing styles: atoms, bonds, ball and stick, ribbons, surfaces, nucleic acid base blocks and sticks, lipid cartoons, etc.

Page 5: QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

Weaknesses

• Slow. Half speed of competition or worse in many cases.

• (Somewhat) unstable. Although much better than in past, there can still be problems.

• Looks old. A trivial point perhaps, but Tk just isn’t as pretty as modern toolkits.

Page 6: QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

Solution

• Use a new toolkit. Choices were Qt or Gtk. Qt was chosen as it has native support on OS X, Linux and MS Windows. (Gtk status on OS X seems a little unclear).

Page 7: QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

Benefits

• Qt provides a complete framework for developing graphical program.– A very rich set of widgets for user interfaces.– An extremely easy to use OpenGL widget (for

the “graphics”). – Easy access to fonts and other system

resources.– Programs have native look and feel (on Mac

and Windows).

Page 8: QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

Benefits for CCP4MG

• No need to use multiple technologies. Qt replaces Tk and Glut.– No need to worry about glut bindings for

python, socket communication between gui and OpenGL.

– Program doesn’t need to use multiple threads. (Though they can be handy).

Page 9: QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

Result of Using Qt

• Program more or less rock solid. Even when programmer does stupid things, Qt’s exception handling takes care of things.

• Much faster than Tk ccp4mg. Typically twice as fast, can be several orders of magnitude faster, depending on molecule size.

• Mouse input handling much more snappy.

Page 10: QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

Status

• Can display multiple sets of PDB data, multiple atom selections and styles. Extremely flexible new selection tools.

• Hydrogen bonds.• Electron density from MTZ files, in multiple

styles. (Not quite all those in Tk version).• Atom labelling.• Several dialogs already complete.

Page 11: QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

Status

• Even more selection tools than Tk version.

• Multiple views of scene, eg. side-by-side stereo and views down three orthogonal axes.

• Works on Linux, Windows and OS X. Broken at least on OS X/Leopard/intel.

Page 12: QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

Screenshots

Page 13: QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

Screenshots

Page 14: QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

Screenshots

Page 15: QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

Screenshots

Page 16: QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

Screenshots

Page 17: QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

Screenshots

Page 18: QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

Screenshots

Page 19: QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

To do

• Movies - quite some work, but much more easy now that we don’t have to worry about multiple threads.

• Picture Wizard. Some aspects can be used at molecule load time, but no part of GUI done.

• Structure superposition (straightforward).• Electrostatics (should be trivial).• More selection tools.

Page 20: QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

To do

• Clipping planes (easy)• “Software” antialiasing and size selection of

output.• Documentation browser. This may involve

zero work, depending on Qt releases.• Many small missing features in GUI.• Preferences, so that all ccp4mg drawing

options can be used.

Page 21: QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

To do

• CCP4 map files (non-mtz data files).

• Povray/Postscript output (should be trivial).

• Background colour

• Save/restore status (important!)

• Lighting options

• Coot interface (trivial)

• Symmetry (important!)

Page 22: QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

To do

• Create distribution files. Currently if anyone wants to test this, then Qt4/PyQt4 must be installed. CCP4MG’s Tk incarnation shipped Python, Glut, Tcl/Tk/Itcl/BLT and possibly other Tk extensions. QtMG will therefore ship Python, Qt4 and PyQt4, so actually fewer dependencies.

Page 23: QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

Random other points

• Text is now displayed using textured quads rather than blitting bitmaps. In most cases (ie. graphics card from last 10 years) this results in much faster text. Without hardware texture support (vmware, qemu) the result is likely to be much slower text.

Page 24: QtMG CCP4 Developers’ Meeting, Abingdon, 17th-19th March, 2008.

Future

• A test version will be available very shortly. This is likely to be just a couple of weeks. This will address some of the to do list, fix a few bugs and tackle distribution issues.

• Implementing the rest of the Tk version functionality is likely to take until August. No major obstacles have (yet) to be encountered, so work should be straightforward.