Skip to contentAdvanced Interfaces Group - School of Computer Science, The University of Manchester


Kekulé is a prototyping program that allows us to test our ideas on methods of presenting graphs non-visually. It reads CML files and allows the user to explore the molecules with input via the keyboard and output via a speech synthesizer.

Kekulé is named after the 19th century German chemist Friedrich August Kekulé who discovered that carbon has a valency of 4, i.e., it always forms a total of 4 bonds, and that it can bond to other carbons to form chains. He was also responsible for solving the problem of the structure of benzene.

Being a prototype it is continuously evolving, and as a result contains many bugs. It does, however, work reasonably well, so we have put it on this site for download. The download details are below contains more information, but basically you will require Java and a speech synthesizer, both of which can be obtained free from the web.

This page should contain all you need to get Kekulé working. It includes sections explaining download, instructions for how to use the software, and the results of an evaluation we have performed on it.

There are CML files on the CML page that may be used for testing. There are also links to CML editors if you wish to create your own. As an example of CML see the file for phenylalanine (pictured right, top).

Skip to: requirements | download | installation | running.


This software requires:
  • Java - the JRE is sufficient.  Kekulé was written in Java 1.4.0_1

  • Speech synthesis using the Java-based FreeTTS.  It has been tested with FreeTTS 1.1.2

  • The CML files are read using the CMLDOM from CML.  There have been some changes since I originally wrote this part of the software, so the new version of CMLDOM doesn't work.  I hope to get this fixed at some point, but for now the old versions of the necessary files are included.

If you already have Java, the zip file will contain all you need.


This zip file contains a directory containing a jar file with the source code plus the three CML jar files.  There is also a file groups.txt which lists the CML files in the groups directory. These are templates for functional groups which Kekulé will search for when a molecule is loaded. The other jar files from FreeTTS should be put in the kekule directory as described below.

Installation instructions

Once Java is installed, you must also install FreeTTS. When this is done you need to copy the following jar files into the kekule directory (with kekule.jar), or put them in your classpath:/


  • cml.jar
  • pmr.jar
  • xerces.jar
From FreeTTS:
  • freetts.jar
  • jsapi.jar
  • cmuawb.jar
  • cmukal8.jar
  • cmukal16.jar
  • cmulex.jar
  • cmutimelex.jar

The file from FreeTTS must be in your home directory.

Running Kekulé

Including all the above jar files, plus kekule.jar in your classpath then running the command `java project.gui.MoleculeFrame' should start the program.  The zip file includes executable files kekule.bat and kekule, which, if run in Windows or Linux respectively, should set the classpath (temporarily) and run the program.


I am in the process of preparing some more detailed instructions for the use of this software (with a running example). In the meantime, input is via the keyboard - you could try the commands below and see what happens!

n Gives the name of the current group.
c Lists the groups connected to the current one. The space bar or up and down cursor keys are used to move between them. Extra information from the `return' command describes the nature of the connection.
↑ , ↓ Move up and down through a list, such as the components of the formula or connected atoms.
f Gives the formula of the current group.
r Repeats the last item.
← , → Move back and forward through your history (similar to web browsing), including zoom actions
return Gives more information, e.g., about the nature of a connection.
p Gives an approximate spatial location of the current group (e.g., `Top left').
+ Moves down into the hierarchy (i.e., towards atoms) Use the ↑ and ↓ keys to select the sub-groups.
- Moves up out of the hierarchy (i.e., towards the molecule as a whole). In most cases a group is part of only one group, but the ↑ and ↓ keys allow selection in other cases.


The software has been evaluated and the results will be presented at Assets 2004. A copy of the paper will be put here after this conference. I also intend to put more detailed results here.

Andy Brown.  Room 2.90,  Kilburn Building.
Download Kekulé

Related publications

A. Brown, S. Pettifer, and R. Stevens. Evaluation of a non-visual molecule browser. In Proceedings of The 6th International ACM SIGCAPH conference on assistive technologies, pages 40-47. ACM Press, October 2004. Atlanta, GA.

A. Brown, R. D. Stevens, and S. Pettifer. Issues in the non-visual presentation of graph based diagrams. In E. Banissi, K. Borner, C. Chen, M. Dastbaz, G. Clapworthy, A. Faiola, E. Izquierdo, C. Maple, J. Roberts, C. Moore, A. Ursyn, and J. J. Zhang, editors, Proceedings of the 8th International Conference on Information Visualisation, pages 671-676. IEEE, July 2004.