Allow draw chemical formulas


BKChem is a program that facilitates chemical formulas drawing.
Through symbols and essential parts of any chemical formula, BKChem can easily create the basic structure and its links with the symbols of each element.

BKChem is a free chemical drawing program. It was conceived and written by Beda Kosata and is currently maintained by Reinis Danne.

BKChem is written in Python, an interpreted and very nice programming language. This implies some of the program features:

  • Platform independence - BKChem should run on any platform that Python does.*
  • Performance - as Python is interpreted language you should not expect the performance of a native code compiled application (in present days a very cheap tradeoff for platform independence). However BKChem should be pretty usable on all modern systems.

BKChem is developed on GNU/Linux. It was however successfully used under WinXP and MacOS X.

See a short video tutorial of BKChem:

What can you expect from BKChem right now?
Drawing with BKChem:

  • bond-by-bond drawing
  • bond lenght and angle restrictions to assist with the drawing
  • ready to use templates of common rings
  • ability to expand common groups from abbreviated to structural form
  • Support for linear formulas (such as -CH2CH(COOCH3)2)
  • radicals, charges...
  • arrows (several types - normal, retro, equilibrium, etc.)
  • rich text
  • color support
  • simple vector graphics (rectangles, circles, polygons etc.)

Editing with BKChem:

  • unlimited undo and redo capabilities
  • aligning
  • scaling
  • rotation (2D, 3D)
  • aligning of molecules so that particular bond is horizontal/vertical
  • rotation of molecular fragments around bonds (conformation changes)
  • definition of personal preferred drawing style (bond lenghts, widths, colors...)

Export with BKChem: 

  • full export to SVG (native data are transparently embedded into SVG file)
  • full export to OpenOffice Draw format
  • full export to ODF (OpenOffice 2.0) format
  • full export to Encapsulated PostScript
  • full export to PDF
  • full export to PNG (if pycairo is installed, available in Windows binary build)
  • basic support for both CML1 and CML2
  • Molfiles
  • generation of SMILES

Import with BKChem:

  • basic support for both CML1 and CML2
  • Molfiles
  • SMILES (subset)
  • INChI (subset)

Other features of BKChem:

  • localization support (currently English, French, Czech, Polish, German and Traditional Chinese translations are available)
  • native format is XML based
  • validity checking of drawn structures
  • support for user written plugins
  • support for user written batch scripts
  • searching for BKChem files containing specified molecules or molecule fragment

What you should not expect from BKChem?
BKChem is developed for fun as a free-time activity. BKChem is free software. Therefore you should not expect:

  • proprietary formats export or import
  • features that don't make sense to the author(s)

unless you implement them yourself