Chemical Drawing Apps for Linux Review

When I converted to linux, I converted the hard way. I deleted Windows. I knew nothing of Unix at the time; I just did it. The plus side is that I learned Unix very quickly. The downside is that I
couldn't do everything that I used to do in Windows.

While it's not a big issue for Joe Average, the first thing I noticed was the lack of chemical drawing software. Within several years, I expected a vast improvement. I expected that by 2004, I
would be able to at least draw and print the structures I wanted to, even if not as quickly and easily as I had in Windows. While that's almost true, I think there is a year or two to go yet.

In Windows, I used ChemDraw to draw 2D structures (aka "line-angle diagrams"). It came with my first year chemistry textbook, so I used it. I later switched to ISIS/Draw, since it was simpler to use. I would draw structures, then copy and paste them into MS Word or Star Office. This made for quick and easy publishing of documents containing chemical structures.

In Linux (ca. 2000), I had very few choices, but I made do. I used ChemTool. I disliked it, but it worked, and I used it. I had to save structures in the native file format, then as a fig file, then run transfig to convert it to something that OpenOffice could read, then import the graphic into OpenOffice. Re-editing a structure was a real pain, and on one occasion, I had the nightmarish task of renumbering all of my structures. Euch.

Now, in 2004, I've decided to make an overview of currently available tools. For my test, I tried to draw something semi-complicated, but small, and somehow get it into OpenOffice Writer. I chose a dihydrofuran oxacarbene, with a chiral, aromatic side chain. I found the six most common drawing packages (all free apps are included with Mandrakelinux 10 contribs), and tried to draw the molecule and get it into a word processor as painlessly as possible. I tested the following:



I tried all possible export options: raster graphic (png, jpeg, bmp, xmb), vector graphic (eps, svg, fig, sxd), and also I tried to paste directly from the clipboard. The results are summarized in a
table I created with OpenOffice, then printed and scanned. I also printed to a pdf file.

I also ranked several attributes of each package, and assigned a rank of 0-3. 0=none, 1=basic, 2=decent, 3=good. These results are
also summarized in a table and give an overall view of usability. I looked at the following criteria:



  • intuitive: how easy is it to use without reading
    instructions?


  • GUI: does the interface look attractive/professional/clean?


  • structures: how handy is the actual structure drawing? does
    it guess bond angles properly? are bond types easily changed? can
    bonds be added with one click?


  • graphic export: do the export filters produce high resolution
    structures in handy formats?


  • structure import/export: are several popular formats (mol,
    cdx, pdb, etc.) available?


  • fast: is the interface responsive?


  • stable: how likely is it to crash before you save your hard
    work?


  • tools: does it have handy alignment, rotation, etc.?


  • symbols: can one add radicals, charges, orbitals, etc.?


  • text tool: can one easily add free text in various typefaces?


  • arrows and bonds: are special arrows (resonance, equilibrium,
    retrosynthesis, curved) and bonds (wedge, hash, dotted) available?


  • templates: are useful templates available, and can new
    templates be easily added?



Of course this section is highly subjective, so you need not agree with my flippant ratings, but I think the totals for each application are a decent refection of how easy to use and powerful they each are.

Results


Intuitive
GUI
Structures
Graphic Export
Structure Import/ Export
Fast
Stable
Tools
Symbols
Text Tool
Arrows Bonds
Templates
Total
XDrawChem
3
2
1
3
3
2
0
3
3
3
3
3
29
BKChem
3
2
3
2
1
1
2
2
2
2
3
2
27
ChemTool
1
1
1
3
3
3
3
1
1
2
3
2
24
GChemPaint
2
3
2
0
3
2
2
1
2
2
2
1
22
JChemPaint
2
2
2
3
2
0
2
1
1
0
1
2
18
EasyChem
1
3
1
2
0
3
2
1
1
0
2
0
16


To my surprise they all showed tremendous potential. I can see any one of them being as good as, if not better than the current Windows applications within a year or two. This is exciting.

It was easy to divide the applications into two categories: those that got the job done (ready) and those that didn't (not ready).

Not Ready

JChemPaint has a some interesting and original features. It would be great for database/catalogue applications, and for web use. SMILES capabilities, isotope tagging, and automatic H addition and removal were cool. Export to Gaussian input format is a great feature. Unfortunately, I found it slow, clumsy, and many of the features didn't work at all. There is no free text tool, no symbols, arrows/reactions are awkward, and automatic bond placement was poor. I think it has great potential for niche uses, but not as the multipurpose chem drawing tool.

EasyChem also has a "fresh new"
approach to drawing and editing that I found easy to use. It's hard to explain, other than it's different. For some reason, I found no text tool at all though. It musn't be added yet (like the
documentation). ;-) The structures looked much better on the screen than they did on paper.

GChemPaint is very close to being ready. In fact, I want it to be my favorite, but for the life of me, I couldn't get a single structure transferred to OpenOffice. I loved the GNOME integration, the Gimp-like multipane interface, the intuitive text tool, and the fact that the "Symbol" font actually works. The structures were beautifully antialised, but you'll have to take my word on that. If it had png and eps (or svg) export, and a one-click bond addition, it would be near perfect.

Ready

ChemTool has been around for a long time, but hasn't improved much. The interface is hideous due to old GTK 1.2 widgets and a strange layout. The drawing tool is almost as odd as the text tool
and the cut/copy/paste/move tools. As a consolation, it is very reliable, has many import/export filters, and has many templates.

XDrawChem is a real shame. It has more features than any other application I tried, and it's very simple for someone familiar with ChemDraw or ISIS/Draw to use. Filters, templates, grouping, flexible formatting, cool accessories (IR/NMR/pKa prediction), SMILES, symbols, Newman projections... it's all there. Yet I've refused to use it for years for a few frivolous reasons: the QT gui looks awful (widgets are huge), the structures are choppy (small and low resultions), and it's very unstable. I don't think I've ever used it once when it hasn't crashed half-way through a structure. Bummer.

BKChem is my favorite at the end of the day. It has a few drawbacks, but they are mostly unavoidable, like the slowness and ugliness of the python/Pmw GUI, very few import filters, no raster
export (except maybe sxd, which oowriter doesn't even recognize), and the occasional error. Luckily python errors don't cause it to segfault like C programs do. It wins the contest though for its ease of use and full set of features. Rotation, radicals, charges, intuitive one-click bonds, many bond types, powerful text tool, font/paper/bond settings, and templates are included. The svg output has to be run though batik before it can be imported into OpenOffice, which is annoying, but it's worth the effort, as it produced the most elegant graphics of the lot.

Output

Looking at my final graphics table (jpeg|pdf), it's clear that only about half of my exports were possible. XDrawChem was the only application that could paste from the clipboard, but the output was far too
choppy for publication. While java and python apps may never be capable of this (?), I'm sure it is possible for GChemPaint and EasyChem, and it would be a great addition to both.

In all cases, the raster graphics were ugly and low-resolution. This is unfortunate, because it's the simplest alternative to clipboard transfer.

The vector graphics were highly variable. EasyChem's fig export produced choppy, bold lines. Rendering of svg outputs with Batik produced nicer results, but not as nice as direct eps. (Rasterization with Sodipodi and rsvg both produced incorrect structures.) Eps output was consistently the highest quality and accuracy, but the results are not viewable in OpenOffice. This may not be a big deal for publication with oowriter, but it's certainly no good for presentations with ooimpress.

BKChem's sxd export also seems like a great idea, but the fonts turned out a little too big for the structures. Also, oowriter can't
insert them directly. I had to open them with oodraw, then copy and paste into oowriter.

Conclusion

At the end of the day, only XDrawChem allowed me to draw anything I wanted, and painlessly get them into OpenOffice, but it was too unstable for daily use. GChemPaint was my favorite to use, but is
missing some necessary features. BKChem turned out to be almost as versatile as XDrawChem, was easier to draw structures with, and produced the best looking output. Its main drawback is the tedious
task rendering each svg graphic by hand. If OpenOffice included an svg rendering engine, or an eps rendering engine, this would be a
non-issue.

While 2D chemical drawing for Linux is not yet as mature as it is on Windows, it is currently possible, and in a year or two, may even be as simple. Since most of these applications are written by volunteers, and are obviously distributed for free, we owe them all a debt of gratitude.

15 comments

Anonymous says:

Hi Austin,

nice review of Linux 2D chem drawing tools. Do you plan to revisit it this year? As co-developer of JChemPaint I can recommend to try the latest 2.1 release which is way more userfriendly then the 2.0 series. It still does not do free text though.

Egon

Luke (visitor) says:

Thank you for the comprehensiver review. I am a chemist thinking of moving to Linux but the one thing that's holding me back is being able to use the software packages I'm used to: ChemDraw, SpecNMR and Mercury (a package for crystal structures). As I don't know any Linux-using chemists any advice you could offer on SpecNMR or Mercury would be most welcome. Could they be made to run under Linux using WINE? Could ChemDraw?

Thanks.

simon (visitor) says:

Mercury exist for linux. Look at :
http://www.ccdc.cam.ac.uk/products/csd_system/mercury/

Kevin (visitor) says:

It is possible to run ACD chemsketch (which is free) in Linux, through wine. I have just installed the latest wine and chemsketch 10 on Ubuntu Edgy and it pretty much works out-of-the-box. There are a few niggly errors though; the window starts as a tiny one in the top left of the screen, some of the buttons that have pictures on them are blacked out (but they still work when), there is an error message from chemsketch on closing, as it thinks it has crashed and the ACD host thing that is in the systray in Windows remains after the program has closed (as it does in Windows). You can just kill it though. The actual program seems to function normally though.

filippo (visitor) says:

I've installed too ACD Chemsketch in linux via Wine but the program can't import a structure to openoffice, you have to convert to gif and import on openoffice, but if you import it on openoffice as image you can't modify with double click as in windows...

Carl van Tonder (visitor) says:

Thanks a lot for your review (I also found your tablet software review helpful, as a tablet-wielding chemist!) - it convinced me to switch from Chemtool to Bkchem, which is esoteric but at least does what I need (so far), and doesn't suffer from chemtool's infuriating bug with eps export cropping off the right centimetre or so of the image. I used to use gchempaint, but it's essentially worthless for anything but drawing individual molecules as it can't deal with 'elements' that aren't actually elements, like R, X, Me etc., and can't do curly arrows --- the developer says he has basically no plans to implement either.

So thanks again, and I hope you've found a decent tool for yourself!

luis arenas (visitor) says:

great job. this review is very useful. now we know which program choose.

Ernest Marco (visitor) says:

Thanks so much! I also move recently to GNU/linux system and I was worried about this kind of applications. After reading carefully your comments, I use gchempaint and it's OK! I have to recognize that free software tools run better than those from privative software! :)

cage (visitor) says:

Hello!

May I suggest bist (https://gna.org/projects/bist/)?

And yes, actually I am the theveloper! ;-)

Bye!
C!

ændrük (visitor) says:

Thanks. This is exactly the kind of information I was looking for. I was just about to sit down and spend the next few hours having to tediously figure this all out on my own. :)

CDuser (visitor) says:

Take a look at ChemDoodle. It works on Linux, OSX, and Windows. The videos are quite impressive. http://www.chemdoodle.com

Leonid (visitor) says:

I found BKChem as very useful and easy software.
Moreover I can not agree with you about the lack of export issues.
Of course you were right, when you talked about commercial formats.
Nevertheless you forgot to mention the most useful format, *.EPS. It is a very important format especially when one prepare his work in LaTeX.

Shen Ysh1 (visitor) says:

Thanks for your review! I am looking for a great tool of drawing structures. Your review is great helpful to me. Thank you very much.

Shen Ysh says:

Thanks for your review. I am looking for an easy tool of drawing structures. Your review is very helpful to me. Thank you.

Anonymous3333 (visitor) says:

See this:

http://molsketch.sourceforge.net/

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.