Conferences: Talking Open Science at OSCON, Desktop Summit and Chemical Databases Meeting

Over the last two months I have had one of my most hectic travel schedules ever. It started withOSCON, and a panel discussion about "Practicing Open Science". This one was a bit of a surprise, as Bill Hoffman was originally presenting with Will Schroeder and Brian Wylie, from Sandia National Laboratories. As Bill couldn't make it we decided to change the content of my section, and talk about the new open chemistry area that I have been working on for about four years now. Will went first, followed by me and a wrap up from Brian, with a nice flow between Kitware working on open science for over a decade, me growing a new area of open science (now at Kitware) and Brian giving a government perspective on open source and open science. The slides are below and on slideshare if you would like to take a look.

I thoroughly enjoyed OSCON, and would love to attend future events. The toughest thing was deciding which talks to attend as there were often multiple tracks with talks of interest to me. This was also by far the largest and most commercialized open source event I have attended so far, in the beautiful city of Portland, OR. I couldn't stick around for long after the conference as I was flying out to England on the following Tuesday, and on to Berlin, Germany Friday to attend the Desktop Summit. This was my first time in Germany, and I was looking forward to exploring Berlin a little, along with some time to catch up with a few family and friends in England before and after the conference. I talked about "Open Source Visualization of Scientific Data" on the final day of the main conference, and was very pleased to have a large and interested audience. Here I also discussed my work in open chemistry, along with a lot of the other work we do at Kitware in the Scientific Computing group.

I stayed for the remainder of the conference, attending my first KDE e.V. meeting, and was joined by Bill Hoffman towards the end of the week. Bill gave a workshop on using CMake, and I helped out with that, along with taking part in several BoF sessions and meetings. It was a very hectic week, very different feel to OSCON with a lot of great presentations, BoFs and hacking sessions. I also had the opportunity to meet up with Alexander Neundorf who was an intern at Kitware for half a year, and several other KDE developers interested in build systems, software process, testing, coverage and related areas.

Then I was back home for just over a week before braving the elements and heading straight for the path of hurricane Irene. I was invited to the 5th Meeting on U.S. Government Chemical Databases and Open Chemistry where I talked about "Chemical Databases and Open Chemistry on the Desktop". This meeting was very focused on chemical databases and the open chemistry I have been working on so hard for the last few years. It was a great experience to be able to see what others are working on, and discuss possible points for future collaboration. There is some amazing work happening in this area, and this meeting helped me gain greater clarity on how my work at Kitware can fit into the larger picture to significantly improve the landscape in open chemistry.

Thanks to Kitware for allowing me to attend, and funding my travel/other expenses, and to my wife and son for tolerating my long absences over the last couple of months. An even bigger thank you to my wife, Louise, for letting me off the hook on my first missed wedding anniversary so that I could present at OSCON! I had some great news about funding for the continued development of many of the ideas discussed in the slides, and so hope to have much more to talk about over the coming months (and years). This post is already pretty long, I hope to continue developing this work and promoting open science, especially in chemistry, materials science, physics and the bio areas. There are lots of other amazing people working in these areas too, and I feel like we are getting to a point where we can create real change to improve the outlook in scientific research.

Talking About Open Source Visualization of Scientific Data at the Desktop Summit

I have begun my journey to the Desktop Summit, making the flight over from the US to Manchester yesterday. A short stay in Sheffield, and catch up with family before heading out to get my flight to Berlin tomorrow. I will be talking about the work I have done both at and before joining Kitware with the title "Open Source Visualization of Scientific Data". I plan to talk about a range of work from my Google Summer of Code project on Kalzium back in 2007, through to some of the exciting work at Kitware in VTK, ParaView and Titan looking at the challenges of large data, remote visualization and how to integrate the web and smartphones/tablets into the scientific data visualization workflow.

Desktop Summit 2011

Bill Hoffman is also planning to attend, and we will be running a workshop introducing CMake on Thursday. This is my first Desktop Summit, although Bill and I have both attended previous aKademy and Camp KDE meetings. I should be in on time to attend the pre-registration event, and will not be leaving until Saturday. Looking forward to a great summit, catching up with some old friends and making some new ones. Now, I think I should try to get some sleep before my flight tomorrow!


Talking at OSCON 2011 about Open Science

I am currently on a plane bound for Portland, Oregon enjoying the in-plane wi-fi. Will Schroeder, Brian Wylie and I will be talking about "Practicing Open Science" on Friday in the government track. I am standing in for Bill Hoffman who unfortunately could not make it, and will be discussing the work I have been doing to grow open chemistry both at Kitware and outside of Kitware with many amazing collaborators scattered around the world. I am really excited to have the opportunity to talk at OSCON, and would be happy to meet up and discuss this work if you are at OSCON. Will and Brian are both very passionate about open science too, they will both give their unique perspectives on practicing open science. I will be there from this evening and don't fly out until early Saturday morning.

OSCON 2011

I am very much looking forward to OSCON, and the major difficulty I have had is choosing between the talks that are all happening at the same time. In some cases there are two or three I would like to see in any given slot. I am hoping to attend the KDE release party tomorrow too, please join us there if you would like to celebrate with us.

Avogadro 1.0.3 Released

I am pleased to be able to announce the availability of Avogadro 1.0.3! What happened to Avogadro 1.0.2 I hear you ask...shortly after tagging Michael reported an issue with i18n building/installations. So 1.0.3 contains a couple of very small build system fixes, but see the 1.0.2 release notes for details of most of the fixes.

As always, we appreciate your feedback. There are still a few issues outstanding, but many things were fixed. These binaries are also built against much newer versions of Qt and Open Babel where significant improvements have also been made. There may be one or two more releases of the 1.0 line if necessary (I have streamlined the release process with a view to making more releases), but I would like to focus our efforts on an unstable release for 1.1. Once 1.1 is stable, a 1.2.0 release will be cut and branched. There are lots of new features in master that we would love more feedback on.

Blue Obelisk Award

At the recent ACS Spring meeting I attended the Blue Obelisk dinner, where I was honored to receive a Blue Obelisk award, pictured below, for my contributions to Open Data, Open Standards and Open Source. This is largely due to the work I have done on Avogadro, Open Babel and other open source chemistry tools.

Blue Obelisk award

This was one of the biggest dinners I have had the opportunity to attend, and I got to meet many of the people I have worked with (or used their work), along with several people I had not had the opportunity to work with yet, but hope to in the future. We presented the work we had been doing on Quixote project at the chemical information symposium on chemistry and the internet, after attending the first Quixote meeting the previous week (thank you to Hartree Centre for inviting me to speak there, and sponsoring the event).

These are exciting times, thank you very much to Peter Murray-Rust for presenting me with the award, and all of the support he has shown, along with his relentless passion for open science. I have only been a part of this for a few years, but Peter has been working on opening up chemistry for decades now.

Visualization Toolkit (VTK) in the Google Summer of Code

As I already mentioned on the Kitware blog, the Visualization Toolkit (VTK) has been accepted as a mentoring organization for Google Summer of Code this year. You can see the VTK entry in Melange, and browse through our project ideas. I have taken part in the Google Summer of Code program since 2007 (first as a student, and later as a mentor) as part of the KDE project. I still maintain close ties to KDE, and work on several related projects such as Avogadro, CMake and VTK. VTK has Qt integration, and ParaView builds on both VTK and Qt for the visualization of large scientific data sets.

If you are a student, and would like to work on an exciting open source project, processing and visualizing some of the largest scientific data sets in the world, take a look at the Visualization Toolkit. There are a wide range of ideas, and if you have an idea you think would fit then please feel free to discuss it with me. I will let you know if it would be a good fit, and whether we have available mentors for the proposed project. We have mentors available who are experts in visualization, large data, parallel algorithms and related technologies. The core of VTK is written in portable C++, with new changes being tested daily. Our API is automatically wrapped in Python, TCL and Java.

I am very excited about VTK's first year in the Google Summer of Code, this represents a unique way for students to get involved in a large, well tested open source project. We have started using Gerrit for code review, and you can view build and test results on many platforms for VTK both continuously and nightly. We have a well established software process which will serve you well in any project where software quality is important, with nearly 1400 unit and regression tests. This is a large, collaborative project with more than 100 contributors last year (as measured by Ohloh).

Volume Rendering in Avogadro

Since joining Kitware I have had limited spare time to work on Avogadro, and for various reasons my spare time has been more limited than usual too. Since the new year I have been able to start spending more time working on Avogadro, and open source chemistry in general, thanks to an SBIR phase I proposal that was funded last year with the US Army Corps of Engineers. This is exciting for a number of reasons, including the fact that I have the opportunity to prototype exciting new features for chemistry visualization, workflow and data management.

One of the new bits of work I have been doing is to use some of the advanced visualization techniques in VTK such as GPU accelerated volume rendering. Now the code is still pretty rough, and is more a proof of concept. I wrote a simple external Avogadro extension that links to and uses VTK to render the first volume found in the current Avogadro molecule. All of the parameters are currently fixed, I am hoping to get the time to add in more options along with some integration of the Avogadro rendered molecule in the VTK render window. You can view the code here, please bear in mind it is at a very early stage.

I have also been working on several other things such as splitting out the quantum calculation code from the Avogadro plugins, and putting it in a small library. I have called the library OpenQube, right now it only has the base functionality that was in Avogadro but I will be extending it with more features, regression tests and I am hoping due to the decoupled nature and liberal BSD license it will encourage wider collaboration in this field.

There is also the Quixote project which I am very excited about. Meaningfully storing the results of quantum calculations, annotating them and retrieving them within an open framework. This is a growing problem in todays world, and I am working on extensions to Avogadro to allow it to fully exploit the semantic chemical web. This includes some of the previous work to access the PDB and other public resources as well as private databases within groups and organizations.

I think this is going to be a very exciting year for Avogadro, and open source chemistry in general.

Avogadro Nominated for SourceForge Community Choice Awards

I am very pleased to announce that Avogadro has been nominated as a finalist in the SourceForge community choice awards this year. We are in the "Best Project for Academia" category, and I would like to encourage you to vote for Avogadro.

This is a real honour for all of us, and I appreciate all of you who nominated Avogadro. We are all pushing very hard on polishing Avogadro, getting ready for our 1.0 release. It would be absolutely amazing to see Avogadro win this award, so please vote for us.

Avogadro collage

There are also some other really nice projects in there too, such as Lancelot, ClamAV, phpMyAdmin and RepRap. So please take a few moments to place your vote, and tell your friends!

Update: You can vote even without a SourceForge account - just enter your email address and verify your vote.

Vote for Avogadro

I just got an email from Sourceforge about their community awards. If you are a user, fan or developer please vote for Avogadro in the Best Project for Academia category. They even provided me with a nice graphics to put on the page, you can just click on it to register your vote.

In other news lots of exciting things happening in Avogadro, hopefully I will find some time to blog about them soon!

KDE GSoC Sprint Winding Down

The KDE GSoC sprint is over, and we have all returned to our respective homes. We lost a couple of people who had early flights on Sunday, I snapped a fairly blurred group shot Saturday evening, outside of the MIT Stata Center. After an intense day of hacking we headed out for food in the middle of a torrential down pour. We had some great Indian food, ice cream and then went candle pin bowling before they closed at midnight.

Group shot of KDE GSoC Boston sprint attendees

Sunday morning we got back into hacking pretty early on. We debated the merits of different editors, the role of desktop and internet applications and debugged a few issues with development environments. We also got Dunkin' Donuts coffee and some very tasty burritos. Sunday was cut short by flights, but Jeff very kindly ferried the two groups to the airport for flights at around 6pm and 8pm.

As I was in the second group we took the opportunity to walk into Boston from Cambridge and take a look around. As we crossed the river I took the opportunity to take lots of photos and stitch them together into my first panorama. I think it turned out quite well, I am just starting to get familiar with the software.

Boston panorama from the bridge

I spotted a few posts from Chani and Alejandro about the event too. It was great meeting you guys and I hope you all have a great summer of code!

Road Trip to Canada

So last weekend Louise and I went on our first big road trip to Canada. Neither of us have been to Canada before, and with Benoit now living in Toronto it seemed like a great opportunity to go and catch up. Back in July 2007 I visited Benoit in Paris during my GSoC where we met for the first time in person. Now, two years on we met for the second time in person and introduced our partners to each other too.

Niagara Falls Canada

We left at around 4pm on Friday, I think we crossed the border at about 9pm and got almost all the way there before getting lost in Toronto. Our friend's GPS failed us once we crossed the border and Toronto is a pretty big place. I think we finally arrived just before midnight, tired after the long drive. The next day we drove back down to almost the border to check out the Niagara Falls, which we had never seen before. It rained almost the entire day but we still had a really nice day out.

As well as checking out Niagara Falls on the Canadian side in the rain, we found some very expensive shops in Niagara on the Lake, I bought some maple syrup and some maple spread (still not quite sure what to do with that). We discovered that if you get bored of the main attraction you can always check out one of the many casinos too.... We decided to forgo the gambling and instead headed back to Toronto.

Dinner in Toronto

Once we had dried off a little we all headed out to get some dinner in Toronto's chinatown. We enjoyed some great Vietnamese food and compared notes on moving continents, life in academia, Google Summer of Code and life in general. It is great to still be in touch with many of the people I made friends with during my Google Summer of Code and I hope others get as much out of it as I did.

On Sunday we lost an hour to daylight savings time, wish we could stop doing the clock change thing twice a year... We decided to head back as Louise was tired (she is conducting a geek cloning experiment for me). It rained for most of the drive back too, we did another border crossing and got back home at around 7pm. I do not think our carbon footprint is looking great for the weekend but it was great to catch up and see where Benoit is living now. My thanks to Benoit and Irene for being such great hosts.

Back to work this week, preparing for a big conference next week. I still love to travel, it was great to avoid the airports for once!


Avogadro, OpenGL and Display Bugs

Before last summer I had never really done any OpenGL programming. Now I feel like I know a reasonable amount but certainly still have a lot to learn. I have an Acer Ferrari laptop with an ATI Radeon X700 discrete graphics card in it. I was using the proprietary driver for a while but it was so unstable it just wasn't worth using. I was hopeful after reading about AMD opening up the specs so that good 3D support can be added to the open source driver.

Avogadro showing a filled surface with incorrect colouring on ATI open source driverAvogadro showing a surface with correct colouring on ATI open source driver

I have to say on the whole the 3D support has been getting better and better for the r300 chipset. I cannot enable the desktop effects in KDE 4.1 trunk without losing my OpenGL apps though. As you can see in the above screen shots filled surfaces also do not work. For some reason the colouring of the surface is incorrect, i.e. the colour is never changed. I am running the latest git sources of xorg, the ati drivers, x11-drm, mesa etc, thanks to Donald Berkholz. Avogadro seems hit File r300_render.c function r300Fallback line 360, Software fallback:ctx->RenderMode != GL_RENDER every time too.

There is an open bug report that appears to be describing the same situation. I do wonder if it is possible that our OpenGL code could be improved to avoid this bug. I would love any tips on ensuring our OpenGL code is as compatible as possible. The surface rendering works correctly on all other platforms (Linux, Mac, Windows) and with other drivers as far as I know.

We also have an open bug report where Avogadro segfaults on Linux systems using the savage driver. This seems to be a consistent problem. I am afraid I do not have the hardware to test further, I have added further debug output to our initialisation routines - Avogadro crashes very early on. Again, any ideas on how I might fix this bug or at least exit gracefully would be great. Backtraces may help to at least see what functions are called before the crash but this might just be a driver bug.

Avogadro and OpenBabel Development

I thought I should post a few thoughts on the development of Avogadro and OpenBabel as there seems to be some confusion in replies to some of my posts. Ever since Avogadro began development it has used OpenBabel as its chemical library. OpenBabel provides Avogadro's internal representation of molecules, atoms, bonds, cube data etc.

Avogadro has driven the development of some new features in OpenBabel. In return we have been able to leverage many of the existing library functions to rapidly implement new features in Avogadro. OpenBabel isn't just a library for loading and saving chemical file formats. It provides information on the atoms, bond typing, force fields such as UFF to do geometry optimisation and lots of other very useful features. Many of the recent releases of Avogadro (which is still in beta) have been accompanied by a new beta release of OpenBabel due to each project driving the development of the other. I now work on both (but still mainly on Avogadro) as there were bugs I needed to fix in OpenBabel and Geoff got sick of me sending him patches!

As Kalzium uses Avogadro to do all of its molecular editing and visualisation this also means that the optional molecular editor depends on new releases of the OpenBabel library. I hope this makes it clearer why Avogadro and Kalzium generally rely upon the latest version of OpenBabel - many times we have implemented new features in OpenBabel for Avogadro but they should also be useful outside of Avogadro. As always I am open to suggestions and feedback on the way we do our development but I would love to hear more feedback on the software I am writing rather than the packaging issues. As a Gentoo developer I do appreciate that packaging is extremely important and so am doing what I can to make packaging as easy as possible too.

The Kalzium Molecular Editor

Some of you with long memories may recall that I worked on the Kalzium molecular editor for my Google Summer of Code (TM) project last summer. The observant among you may have also noticed that Kalzium in KDE 4.0 featured a molecular viewer. Well the freeze meant that much of my work didn't make it into KDE 4.0. This is the case with many of our current GSoC students (Naomi among them) who are just starting to code as KDE 4.1 is being frozen and released.

Since last summer life has been really hectic, the shipment of my household possessions from the UK to the US was delayed significantly by an incompetent shipping company which also proceeded to break many things... This led to me having no Linux system to develop on for quite some time, and then less time to develop due to having to deal with the fallout of a botched delivery. Still, I am very pleased to be able to show off some of my latest work which made it into KDE 4.1 and will be in KDE 4.1 beta1 (due out in a few days).

Kalzium 4.1 molecular editor

I was able to expose some of the extra display types I added along with support for drawing and editing molecules. You can also measure distances and angles of the molecule you are looking at and do some geometry optimisation. Given a little more time I would have liked to expose some of the manipulation features but this new six month cycle was so short and my time was constrained anyway. It will make it into 4.2 at least.

I am looking forward to seeing the animation support Naomi is working on now and am very happy to be able to mentor her over the summer. I think high quality, open source educatonal programs are very important and hope that this editor will be useful in that role. The Avogadro library and application should hopefully be able to satisfy college students and researchers. With the scripting support and open source nature of the two projects I think they interact very well and complement one another.

As always I would love to hear your feedback on the Kalzium changes and the other work we are doing.

Avogadro 0.8.0 Released

On Monday we officially released Avogadro 0.8.0. I think this is a great release with many improvements over 0.6.1. We have been working really hard on improving the stability of Avogadro and I hope this shows in this release. There have also been some very nice improvements in speed and lots of new features.

Avogadro 0.8.0 in KDE 4 trunk

The screen shot above shows an imported Gaussian formatted checkpoint file displaying the HOMO molecular orbital. The import of output from quantum codes and subsequent calculation of MOs is at a very early stage but you should take a look at it in the extensions menu if you are interested. It currently only calculates s, p and d orbitals and can only parse formatted checkpoint files from Gaussian. The goal is to add at least f orbitals and many more quantum codes.

Avogadro 0.8.0 in KDE 4 trunk

I don't think I ever talked about the new periodic table QGraphicsView that I am very proud of. It allows you to select elements that are not listed in the combobox, shows the colour they will have on screen and is about as compact as I can make it. I have already packaged Avogadro 0.8.0 for Gentoo, we have binaries (Windows, Mac) and source available for download and should hopefully have packages available for Debian and Ubuntu very soon.

There were a few features that didn't make it in and a few bug fixes we found just after release. Once we have ironed out a few more bugs and received more feedback we will make a bug fix release. I was amazed to see that Avogadro is currently shooting up the Categories: Avogadro, Chemistry, Gentoo, GSoC, KDE | 4 Comments

Twitter Facebook FriendFeed Bookmark Avogadro 0.8.0 Released  at reddit.com Identi.ca