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

Slides:



Advertisements
Similar presentations
Scientific & technical presentation Structure Visualization with MarvinSpace Oct 2006.
Advertisements

1 Miklós Vargyas, Judit Papp May, 2005 MarvinSpace – live demo.
IIIMF GUI Open Source Software Foundry
CCP4 Molecular Graphics (CCP4MG)
Operating System.
User Interface. What is a User Interface  A user interface is a link between the user and the computer. It allows the user and the computer to communicate.
FireMonkey Deep Dive The Next Generation of Business Application Development.
Why Use Test Driven Development (TDD)?.  Why the need to change to TDD.  Talk about what TDD is.  Talk about the expectations of TDD.
Tailoring Needs Chapter 3. Contents This presentation covers the following: – Design considerations for tailored data-entry screens – Design considerations.
B.A. (Mahayana Studies) Introduction to Computer Science November March What is a Computer? An overview of what a computer is, the.
1 Introducing Collaboration to Single User Applications A Survey and Analysis of Recent Work by Brian Cornell For Collaborative Systems Fall 2006.
Making The Web Usable By Everyone (Including people with disabilities, people with slow net connections, people with broken mice, etc.) Gregory C. Lowney,
Chapter 2: Exploring the Desktop The Complete Guide to Linux System Administration.
Operating Systems.
Object Orientated Data Topic 5: Multimedia Technology.
1 Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET201.
Java Swing Joon Ho Cho. What is Java Swing? Part of the Java Foundation Classes (JFC) Provides a rich set of GUI components Used to create a Java program.
Doxygen: Source Code Documentation Generator John Tully.
Games Development 2 Entity / Architecture Review CO3301 Week
Course Overview, Introduction to CG Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Friday, September 5, 2003.
Starting Chapter 4 Starting. 1 Course Outline* Covered in first half until Dr. Li takes over. JAVA and OO: Review what is Object Oriented Programming.
How do people communicate with computers?
The aim We had to “build” a laptop from scratch. We needed to install the software and the Operating system needed. We came across all sorts of problems.
Google Chromebook A New Way of Low Cost, Low Maintenance Computing.
Operating System. Architecture of Computer System Hardware Operating System (OS) Programming Language (e.g. PASCAL) Application Programs (e.g. WORD, EXCEL)
CIS—100 Chapter 9—PowerPoint 1. The PowerPoint User Interface 2 There is a tall band across the screen that contains many, very visual commands arranged.
CCP4mg Liz Potterton, Stuart McNicholas, Martin Noble, Jan Gruber.
Progress in Multi-platform Software Deployment (Linux and Windows) Tim Kwiatkowski Welcome Consortium Members November 29,
A Spring 2005 CS 426 Senior Project By Group 15 John Studebaker, Justin Gerthoffer, David Colborne CSE Dept., University of Nevada, Reno Advisors (CSE.
C O M P U T E R G R A P H I C S Jie chen Computer graphic -- OpenGL Howto.
Computer Programming 12 Mr. Jean March 19 th, 2013.
ICONICS ActiveX ToolWorX V 6.1.
University of Sunderland CDM105 Session 6 Dreamweaver and Multimedia Fireworks MX 2004 Creating Menus and Button images.
Institute of Informatics & Telecommunications – NCSR “Demokritos” TileQt and TileGtk: current status Georgios Petasis Software and Knowledge Engineering.
Object Orientated Data Topic 5: Multimedia Technology.
CCP4 Developers Meeting 2007 CCP4 Molecular Graphics Liz Potterton and Stuart McNicholas.
ROOT Team Meeting October 1 st 2010 GUI thinking and testing ideas OpenGL GUI Root Team meeting 01/10/2010.
Guide to Programming with Python Chapter One Getting Started: The Game Over Program.
An Introduction to Office  Office XP and Office 2007 look very different  This introduction should: ◦ Introduce you to some of the basic changes.
Graphics and Event-Driven Programming in Java John C. Ramirez Department of Computer Science University of Pittsburgh.
AZERBAIJAN NATIONAL ACADEMY of SCIENCE 1 Azerbaijan National Academy of Science (ANAS) Institute of Physics MEDGRID Hashimov Rovshan
“Paper” output Root Graphics Workshop 16/07/2010.
Computer Operating Systems Unit 1 – BTA 3O Chytra.
Mini University July, 2005 A Little Taste of Java (but don’t tell your folks) (they might think there’s caffeine involved)
EDM Update John Sinclair ORNL. EDM Update Minor feature additions Limits New env vars Optional widget attributes Modifications that support conversion.
An operating system is the software that makes everything in the computer work together smoothly and efficiently. What is an Operating System?
© Paradigm Publishing, Inc. 4-1 Chapter 4 System Software Chapter 4 System Software.
ElVis Improvements Summer 2008 Eric Zatz PPPL Summer Intern Mentor – Eliot Feibush August 11, 2008.
Windows 8 A touch screen computer on a desktop. Windows Metro.
What are Computer Graphics Basically anything that is on you Monitor – This includes the text that you will see Text isn’t Advanced Graphics But…. Understanding.
Purpose of Operating System Monil Adhikari. Agenda Introduction Responsibilities of Operating System User Interfaces Command Line Interface Graphical.
GTK+
Past Computing Environments: Swing Ian Smith UI Toolkits (History Lesson) 4 Programming tools for building interfaces 4 Originally in Java you had AWT.
Learning Aim B.  In this section, you will consider the resources necessary for designing your website.  You will also think about any constraints that.
Operating Systems Overview Basic Computer Concepts Operating System What does an operating system do  A computer’s software acts similarly with.
ITP 109 Week 2 Trina Gregory Introduction to Java.
1 G4UIRoot Isidro González ALICE ROOT /10/2002.
Graphical User Interfaces (GUI’s ). & Command-Line Interfaces.
GPU Computing for GIS James Mower Department of Geography and Planning University at Albany.
PowerBuilder is an integrated development environment (IDE) used to create applications. PowerBuilder 12.5 has good integration with the Microsoft.
OPERATING SYSTEMS (OS) By the end of this lesson you will be able to explain: 1. What an OS is 2. The relationship between the OS & application programs.
Presented by Alexey Vedishchev Developing Web-applications with Grails framework American University of Nigeria, 2016 Intro To MVC Architecture.
Installing Linux: Partitioning and File System Considerations Kevin O'Brien Washtenaw Linux Users Group
Environment & Education & More Dan Bothell. Overview Data Teaching Materials Environment Other ACT-R 5.0 and RPM issues.
SVTRAININGS. SVTRAININGS Python Overview  Python is a high-level, interpreted, interactive and object-oriented scripting language. Python is designed.
Chapter 2: Operating-System Structures
Design and Programming
BUSINESS COMMUNICATION SKILLS PRESENTATION SKILLS OF THESIS & PROJECT
Java Programming Introduction
ArcGIS Pro: Pros, Cons & Everything In-between
Presentation transcript:

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.

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.

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.

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.

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).

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).

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).

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.

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.

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.

Screenshots

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.

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.

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!)

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.

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.

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.