Pages

Friday, July 31, 2009

Not so long ago, I finished porting the JChemPaint-Primary branch to be a patch on top of CDKmaster from our git repository. This means frequent rebasing, to incorporate the latest changes in the CDK master branch. Today, I did such a rebase, after the CDK 1.3.0 release. Hoping that at least some find this informative, this is what I did. Remember, that the patch is organized around the render and control modules, which is why we have so many branches, while merely in linear relationship.

Mark the final in the above title; if you merely seek advice on your patch, feel free to send them in whatever state. However, if you bring up your patch for peer review, make sure to have gone through the following steps, in random order:

comment your code where appropriate, explaining what your code is supposed to do

...

These are reasons to reject your patch, so better make sure to not have to be reminded of that. The build environment comes with some code to make these checks easier (though not the fixing). For example, say I introduced a new module uff (for the UFF force field):

GitHub turns out to be our big friend here, not SourceForge, which only supports one Git repository. GitHub recently must have added hooks recently, but I am really happy to see those. The above Bioclipse repositories have hooks turned on for CIA (so that commit messages end up on our #bioclipse IRC channel) and email (as indicated by the green color):

The splitting up, was rather interesting indeed. We wanted to keep the complete commit history, but still reduce the git repositories considerably. This means removing history of the plugins which should not end up in the repository. Git allows this! Git rules! This time, git filter-branch is our friend and there are basically two options: constructive and destructive. The first copied bit by bit plugins from the old to the new repository. The second one does the opposite, and removed bit by bit stuff you do not want. Depending on the ratio of plugins you want to keep and those you want to remove, either solution is more appropriate. I have summarized the git commands I used in detail on this Bioclipse wiki page.

Wednesday, July 08, 2009

I knew it was going to be painful, but making the jchempaint-primary branch a proper patch to the CDK master branch is painful. I am working my way towards setting up a git repository (IMPORTANT: these patches are not final yet, and their history will change, as I am rebasing regularly to make cleaner patches! Making copies is save, but please hold of any forking and/or branching on top of it until it is final. Thanx.) for the patch, with split ups of the various parts into reviewable blobs:

As you can see (when you click on the image to enlarge it), I have more or less finished the first drafts of the patch sets (see this wiki page) 0-other, 1-render, 2-renderbasic, 9-rendercontrol, and 6-control. The last one does not actually compile properly yet, as I need to abstract an IRenderer interface first.

There are several patch sets that I am still porting, but I hope to finish that this week, after which I'll continue working on the new IEdit framework in the controller modules recently set up by Arvid.

It will take some time before these patches actually get submitted for review, as there is quite some PMD, DocCheck and unit testing work to be done, as is clear from the Nightly running on the SVN branch.

Finally, I like to note that this git repository collapses a lot of work done by developers at both Uppsala University (Arvid, Ola and me) and the EBI (Gilleain, Stefan and now Mark). While the above git history will not reflect those contributions, you can recover this information from the copyright headers. I also like to thank Lars and Sam for their valuable testing!

Browsing a large set of structures with there properties gives a quick overview of the data set. It also makes bugs shallow, such as the one shown below found when I was browsing the StarLite database:

Chemistry has a bit of background in ontologies, and ChemAxiom is certainly not the first (though I think it is rather promising...). Three years ago I gave a presentation at the CUBIC (now existing as LinkedIn Alumni Group), which is not so extensive, but does have a few interesting citations on the use of ontologies in chemistry on slide 16:

Thursday, July 02, 2009

I reported earlier how Bioclipse allows you to use a script to perceive atom types for the content of the JChemPaint RCP editor. This functionality is now available in the outline, and indicates directly if Bioclipse (and the underlying CDK) understands the chemistry you are drawing. In a future Bioclipse release, these problems will be visualized more prominently, likely using the Errors/Problems Views available from Eclipse, or otherwise.

Search This Blog

This blog deals with chemblaics in the broader sense. Chemblaics (pronounced chem-bla-ics) is the science that uses computers to solve problems in chemistry, biochemistry and related fields. The big difference between chemblaics and areas such as chem(o)?informatics, chemometrics, computational chemistry, etc, is that chemblaics only uses open source software, open data, and open standards, making experimental results reproducible and validatable. And this is a big difference!

About Me

Assistant professor at the Dept of Bioinformatics - BiGCaT at NUTRIM, Maastricht University, studying biology at an unsupervised and atomic level. Open Science is my main hobby resulting in participation in, among many others, Bioclipse, CDK and WikiPathways. ORCID:0000-0001-7542-0286. Posts on G+ are personal.

Cookies

In the EU there is a directive upcoming requiring websites to warn people about HTTP cookies. This website uses the Blogger.com platform, Google Adsense (not that is it actually paying anything significantly), and a few scripts to count how often a blog post was tweeted, using Topsy and LinkedIn. These services undoubtedly make use of cookies, which you can disallow in your browser.