Molecule Master

Molecule Master is a framework for developing chemistry and biochemistry applications. It uses a plugin architecture for functionality, allowing developers to easily integrate new functionality into the system. As there is a already a great deal of existing code, both open source and commercial, for performing things like molecular mechanics and molecular dynamics, for example, it's simply a matter of writing a plugin for Molecule Master that acts as a wrapper for calling the molecular mechanics/dynamics application, to add that functionality.

Currently, Molecule Master is in the early stages of development. There is a basic framework in place and some sample plugins that are mostly a proof of concept, though somewhat functional. For example, there is a plugin for PDB file serialization. Currently it is the only supported file format and currently only supports reading PDB files. There is a 3D viewer plugin that allows you to view the molecule in 3D (using Open GL), rotate, and zoom in/out. I am currently developing the wrapper plugin for the Mopac molecular mechanics model as well.

The idea is that Molecule Master will provide a base platform upon which various models and functionalities can be added to the system.

As it is still in the early alpha stages, here's a basic list of what has been done so far:

The work to date has largely been an effort to flesh out the plugin architecture to make it flexible enough to support all the different sorts of extensions that people might want to add. I'm also trying to finish the work on the molecular data library. This is a library that includes the internal representation of the molecules (atoms, bonds, residues, etc) as well as math extensions for doing things like determining bond angles, rotating an atom around a bond and so forth.

 

Ultimate Goals

I see the final application as having two major pieces: Chemistry and Biochemistry. Chemists can simply use the chemistry related plugins and only have the functionality they need integrated into the system. Biochemists, on the other hand, would be able to use the biochemistry related plugins to support their needs, but allowing the two types of users to seemlessly share their work where it overlaps.

For the system overall, I have the following goals in mind:

Short Term Goals:

Long Term Goals:

Chemistry

I'd like to have an application that can reasonably compete with ChemDraw and Chem3D in terms of allowing users to draw molecules, render them in 3D, perform molecular mechanics/dynamics calculations and so forth.

Short Term Goals:

Long Term Goals:

Biochemistry

I'd like to see biochemistry aspects integrated in as well so that things like small molecule docking and ligand binding modeling and other functionality can be added as well. Furthermore, I want to integrate in things such as biochemistry diagramming tools to allow users to, for example, diagram the flow of a biochemical pathway (e.g. Glycolysis, Catecholamine synthesis).

Short Term Goals:

Long Term Goals: