Kalzium 3D Molecule Editor: The Start of My GSoC Project

My blog is aggregated on three planets now, Gentoo, KDE and SoC. So I guess my readership will be at its peak. There have been some hurdles leading up to my Google Summer of Code ™ project but I am very pleased to have made it and intend to make the very best of this amazing opportunity to work on what is a really exciting project for me.

I will be working on the 3D molecular editor project which was an idea proposed by Carten Niehaus on the KDE GSoC 2007 ideas page. I have to admit that when I read it I was very excited. I had read some stuff on the Planet KDE (which I have read for ages and am really proud to be added to now) about the new 3D molecular viewer for Kalzium.

Avogadro snapshot of a HMDS molecule

I was hoping to be able to find an area I could help out with that when I discovered the idea that looked like it had been written for me! I then discovered the Avogadro project and met some of the project's developers. As I was putting my application together I helped with a few small patches and ported the molecule navigation code across to Avogadro from Kalzium. I also provided a patch for a Van der Waals sphere view of the molecule as I have always liked that particular method of visualising molecules.

Some of my patches were accepted and integrated. Eventually I heard back about my GSoC application - I was very pleased to learn it had been accepted. Unfortunately for personal reasons I spent the next few weeks offline (after letting my new mentor know) and didn't get to celebrate straight away.

Once I was back online I got commit access for the KDE subversion repository, my commit name is "hanwell" as they don't like you to use nicks. I also got commit access to the Avogadro repository where my commit name is "cryosuk" due to my usual "cryos" already being taken on SourceForge. So now I am committing under multiple aliases in different projects ;-)

Kalzium 3D molecule viewer snapshot of a methylbenzenethiol molecule

Benoit Jacob is my mentor along with Carten Niehaus, Donald E. Curtis and Geoff Hutchison who have all been very welcoming. They already contributed so much to the project I am just getting involved in. Open Babel and the Avogadro library underpin much of the 3D molecular editor and I have already made quite a few commits to the Avogadro and Kalzium subversion repositories.

There was an application freeze planned at the start of June for KDE 4.0, so I started my project early in order to get some of the great new features of Avogadro into KDE 4.0. Some of the highlights of this work were porting the navigate tool, adding the manipulate tool, various improvements to the label engine as well as some small enhancements to the engine API. We had the goal of ensuring all kalzium 3D viewer code was ported to the Avogadro library before we began porting Kalzium to use the Avogadro library to display molecules.

We accomplished that a few weeks ago and then began porting Kalzium to use the Avogadro library as its 3D visualisation backend. Along the way the Avogadro project made its 0.1 release, I added an ebuild for Gentoo and also made a few posts about the initial work. The feature freeze has been delayed but we got everything we wanted to done before the original deadline which I am pleased about.

Today marks the first official day of my project. I have already implemented several features I had planned including the port to the Avogadro library and ensuring all 3D Kalzium code was ported to the Avogadro library. I am really looking forward to working on this project over the summer and creating an awesome 3D molecular visualisation application. I am lucky to be working with such a friendly and motivated team of developers and will be sure to make regular posts about what I am up to. I welcome feedback on my work and have placed a screen shot of Avogadro (first picture) and the 3D molecular viewer in Kalzium (second picture).

Share Comments
comments powered by Disqus