Linux and the fabled shift away from windows for science still fable, still struggling...
I’m sure I’ve tweeted about this before in the past probably even blogged about it definitely posted about it on my forum and still none of these actions appear to have changed the world, neigh convinced it to create for me a lovely Linux based chemdraw replacement. Lets look through the front runners out there at the moment and perhaps where to look at in the future.
Before we begin I need to clarify I am really only looking at native Linux packages. That is to say those that do not need to run through wine. Saying that a few have snuck into the list. I am also looking for how well they integrate into the desktop and workflow experience when producing a new document requiring some “chem artistry” or “graphics” as Prof. Brian Cox recently called the chemistry in one of his television programs (possibly quoting him slightly out of context).
Lets begin with what is often considered the frontrunner. This package is the one most people tell me to try whenever I discuss wanting a new chemdraw equivalent package.
Chemdoodle
Lets start by saying that chemdoodle really reminds me of the old ACD labs platform package which I think was called ACD Chem? It was produced by ACD labs. I’d seen a copy of the full version which had all sorts of tools and the free version I discuss below. So lets get back to Chemdoodle. Well it looks like ACD chem and feels not too terrible when trying to produce a image. However the free trial limits the export formats and water marks those files that it will export. Which meant I couldn’t really test the actual output quality. This meant I couldn’t really see the point in the demo other than allowing me to waste my time playing with its many bells and whistles. I tried direct copy and paste into my document it didn’t work so in the end I gave up and removed it from my system never to look at it again. That would be a thumbs down from me sadly.
ChemTool
Chemtool seemed to have a lot of potential. The package comes out of Freiburg Uni so you would guess it was something made by chemists for chemists. However after a short period of use I started to really dislike it. It can read pretty much all the files you would expect such as the ubiquitous MOL file. Which I guess is a bear minimum and appears to have more functionality linked through babel. However my version would not accept that I had babel installed so those options were always greyed out. It also appears to have a decent array of templates but it is a bit clunky in how you interface with them and your existing drawing.
Next is the drawing interface it uses a strange point based mechanism which at first you think is great but after awhile you realise that you can overshoot the spots and there is no quick way to grow a chain by clicking on the terminus of a chain you start to dislike it.
Then the user interface itself appears to not have survived some upgrade in the past. The screenshots on the project homepage look really nice but for me I could barely read or make out the symbols in the GUI. This was compounded when I asked for the formula weight of my structure and the information was trapped in a window at the bottom of the GUI which I could not get to enlarge no matter how much I tried.
With all these problems I couldn’t even get my model to copy into Libreoffice so I gave up time to try something else.
GChemPaint
GChemPaint would seem the logical package for a Gnome user. In fact it probably will be in a few years. It has already been merged into a much larger Gnome Chemistry Utils which include:
-
GChemPaint
-
GChemCalc
-
GSpectrum
-
GChem3D
Again those who used ACD Chem or even ChemOffice may be thinking that this looks like a grassroots version of these packages and to be honest I think it is and will be. So I had a lot of hope for GChemPaint when I fired it up.
The GUI is very simple. Rather than building the tools into the tool bar they have taken a GIMP style approach to the layout with the common tools in a floating window. I quite like how that works but you do feel a bit lost on first startup staring at a tiny little blank window.
Now unlike the previous package GChemPaint does have the old click to extend function which was great.
But then I wanted a hetro-atom in my compound and this through me a little. After a little bit of playing I realised I needed to preselect the element before drawing there was no change option. I thought this can not be correct and I was right to think so as after another little bit of playing I realised that I could change element by selecting current element then going back to my molecule and clicking on the atom I wanted to change. I think the GUI could stand to have a list of common atoms that you could just click on to select as you find in many other packages. This would really speed up using it.
Other than a few teething troubles no apparent templates function things were not looking too bad for GChemPaint. So I figures lets try copy and paste into Libreoffice. O’NO my image turned into a big black box. Selecting anything in GChemPaint and then using copy and then paste in Libreoffice just gave me that. I tried paste special and found I only had the option of bmp. This was compounded when I discovered it doesn’t understand MOL files or at least I could not load them. Neither could it read my old ISISdraw Sketch files.
So with no way to load and a really convoluted way to export out my drawings I shelved GChemPaint. I think this is definitely a one to watch for the future especially if we can get the old embedded object for chemistry or OLE plugin performance as a feature quite common in windows but I think less so in Linux.
ACD ChemSketch
I had used ACD ChemSketch during my MChem and PhD and found it actually to be very useful. There is a free version of the package and now an academic version for doing NMR. Plus I think a cheaper site licence version for academic institutions. However I had been put on the ACD trial but someone at the CDS who had told me that the free version should also work on Linux. I gave it a go and found that the latest release was at best unstable at worst unpredictable. It would often freeze for ages whilst its freeware advertisement would expire. The problem being that advertisement was not visible so the whole thing just looked like it had crashed. When it was working then it was just how I remembered it to be on Windows. It is a capable package with a nice interface. Has features such as atom numbering and “clean structure”. Not too bad. If I was still using windows I would probably have a copy installed from their free download site. As I am not and because it is unstable and requires wine or crossover to run I don’t use it.
ISIS Draw
So when you have tried many packages and you are just not feeling the love you try and go back to something that you are familiar with. I had done just that with ACD ChemSketch so could I do that with another package from my MChem/PhD days. I went looking for ISIS Draw to find out.
When I first started using ISIS Draw it was pretty much the poor man’s ChemDraw. I personally found it to be much more user friendly than ChemDraw and so it was my main chemical drawing package. It was pretty much ubiquitous in that you could find it all over the web. In fact the CDS website used to carry a download as part of ISIS Base and even chemmol plugin. So you can imagine my shock when I went searching for ISIS Draw and found that MDL had gone becoming part of Accelrys. Worse still ISIS Draw had gone and had been replaced by Accelrys Draw. In fact this is missing the phase where it was called something else in between (symyx)! Anyhow the end result is that the new version that I could download would not run on wine at all. Too much .net I think. So I went trawling through my PC backup hoping I had saved a copy some where. I used to do stuff like that especially when writing my thesis.
Fortunately I had and it ran lovely under wine. I now had a way to open all my old skc files so I was happy but the program was running under wine. However I could not directly copy and paste into Libreoffice. So it was a case of 6 of 1 and half a dozen of the other. But I was somewhere and had made progress by returning back to the late 90’s!
XDrawChem
I really haven’t got much to say about this package. Once I fired it up I had to do a double take a few times as I thought it looked like an older version of ISIS Draw.
That is pretty much where the simularity ends. The actual drawing is horrible. There is no click to extend and when you have aromatic systems such as a benzene ring you can’t tell which bond is double or single. Then comes the comedy part. This was the only package I could copy and paste into Libreoffice so far and get my molecule to appear. But unfortunately for me it also decided I wanted the background which as you can see in my setup was hexagons. FTLG NEXT……….
BKChem
I can’t remember now if I had actually packaged BKChem into an RPM to make the installation easier. Either way BKChem was starting to look a little dated.
The GUI is easy enough to use if not a tad annoying especially when you are wanting to use non-carbon atoms in your structure. All in all it is ok there appears to be no way to copy and paste in Libreoffice which is getting parr for the course at the moment. It has a few templates and tools but the fonts and interface are looking a bit small and tired. So it was a big NEXT!
Marvin
I am not certain how I ended up at the doors to Marvin. In general I will avoid at ALL cost using a java based application. I really do not like the feel of java. The GUIs are often horrible and slow and the whole system resource hungry. Plus you find that you need to keep Sun JAVA installed and constantly up to date. Marvin however seemed to me to be ok. It was a little slow to start up but once running there was not any appreciable lag. I had my click to extend - in fact it was even better because you could click multiple times to generate a chain which was nice.
So for me Marvin had pretty much delivered everything I had wanted from a chemdrawing package. Then there is an array of nice tools so where is the rub you ask? Yeah I thought that to as I went to open an old file from my thesis. Which fantastically Marvin just did. In fact all the different drawing formats I had used from several packages just worked with Marvin. NICE! How about getting the drawing back out of Marvin and into Libreoffice? Well my first attempt resulted in a lot of text appearing as it looks like Marvin defaults to some form of chemxml for copy and paste. No matter there was a “copy as” option. The obvious format of png was default but sadly Libreoffice said no. I tried jpeg and again nothing. BUT then the bmp did give me a representation of my drawn molecule. The quality was a little bit lower than I would have ideally liked but at least I was able to go from drawing package to Libreoffice. I found if I zoomed into Marvin (600 %) before doing the copy then the pasted image was also big 1:1 the original. This meant if I then shrunk it back down the final image I got was at a decent quality in Libreoffice. A bit of a faff but very easy. The picture info told me that the image was 96 PPI irrespective of the zoom copy approach so I suspect that is the issue. If there was a way to change this I could not find it in the settings menu.
Wrapping it UP
To wrap up all this or to at least try to summarize my experience. I would say, avoid ChemDoodle, watch out for GChemPaint as that is really going to be the next big thing. Remember old tools like ISIS draw still have some mileage in them, assuming you can find them, and for now definitely checkout Marvin because it is so much more than a webdrawing plugin it is pretty much an all in one package for the Linux based chemist.
I would also like to finish by asking where or when did it all change? I mean having embedded OLE objectives in your documents used to make life easier. Of course they only work if you have the same software installed. Take my thesis I can open it today but all the OLE objects are broken so I can never reprint it sadly. This is because I used lots of different packages to achieve my final thesis a different chemical drawing package choosing the one with the best properties for each picture on a case by case basis. Then to make editing it easier I embedded them as OLE objects. If I had converted them all to meta or BMP files then I would not have this issue but I did not. Palm to forehead.
So I guess there is a word of warning there. But still there must be a better method for the Linux chemist to make a document rather than requiring them to turn all their chem drawings into images which means that they would need to recreate each time. Perhaps the answer is that Libreoffice needs to understand chemxml or at least improve its embedding capabilities? Not just that the package generating the image needs to have better copy and paste functionality.
Could I write my thesis today using the tools at hand. YES. Would it take me longer? Probably. Would the end result be better? I do not know. It would probably stand the test of time more. I would most likely have used LaTex rather than Lotus to write my thesis. So the chemistry would have all been embedded images. Perhaps that is why Libreoffice does not look to fill that gap.
One final note. Whilst writing this I thought about chemistry in wordpress. Other than the fantastic Zotpress plugin it seems to me that chemistry is pretty much not covered in the wordpress plugin arsenal.