1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

JChemPaint

From cdk

Revision as of 12:27, 30 November 2009 by Shk3 (Talk | contribs)
Jump to: navigation, search

Contents

JChemPaint (or JCP for short here) is the editor and viewer included in CDK for 2D chemical structures. It is implemented in several forms: a Java application and two varieties of Java applet.

JChemPaint was started by Christoph Steinbeck in the late 1990's to be the complementary structure editor to Jmol. It was then co-developed by Egon Willighagen and others. Jmol again is a visualisation and analysis tool for 3D molecular structures, started by Dan Gezelter at Notre Dame University, initiator of the Open Science Project and, like JChemPaint, developed by an international team of opensource programmers.

In at least three aspects JChemPaint is different from other 2D editors:

  • JChemPaint is open source and free software. We believe that scientific software, especially when its development was publicly funded, should be free. As the GNU people put it: «`Free software´ is a matter of liberty, not price. To understand the concept, you should think of `free speech´, not `free beer´». Everyone can participate in the development of the program. Everyone can download and change the source code, provided that they make the changes publicly available again, according to the GNU Lesser General Public License, LGPL. This ensures that the community can take advantage of any bugfix or enhancement made to the system. It also ensures that a scientist, who needs a standard piece of software like a structure editor as a helper application in his/her new program, does not have to reinvent the wheel over and over again because all the structure editors that have been written before are now proprietary software. If there is a free structure editor, he/she can focus on the real science.
  • JChemPaint is in constant development and you can help (see below).
  • Since JChemPaint is written in Java, it runs on any computing platform and operating system for which a Java Virtual Machine (of version >= 1.3 up to JCP 2.4 and version >= 1.5 for JCP > 2.4) has been implemented (like Linux, Windows, Solaris, AIX and others).
  • JChemPaint is available free of charge.
  • JChemPaint is translated into several languages: Dutch, French, German, Polish, Portuguese and Spanish.


Who did it?

JChemPaint was originally written by Christoph Steinbeck and is now developed by his group, Egon Willighagen, members of the Bioclipse developers in Uppsala, and a team of international developers.



How can I participate?

JChemPaint is developed as a SourceForge project under CDK's SF Project Page. SourceForge gives us bugtracking, mailing lists, support manager and last not least SVN access.

There is more than one way to participate:

  • You can participate in the dicussion lists, by making recommendations for new features, submitting bug reports, etc.
  • You can write documentation.
  • You can write source code.
  • You can translate the interface into other languages, or help maintain the existing translations.

Each of these possibilities is equally deserving, although most people rank coding highest.

If you want to write documentation or start coding, please check the SourceForge site documentation on how to access the CVS. If you actively want to contribute, please get a SourceForge account, contact the project admin so that he can add you to the developers list. The next step would be to checkout the source code



How can I get it?

The JChemPaint files (application and applet) can be downloaded from the downloads page of the CDK project at SourceForge. The application is a single jar file (executable using Java), while the applet is packed as a zip file containing a set of jar files; unzip them all together to a single folder in your computer.

To get the stable release (JCP2), go for the "JChemPaint, version 2.4.x" link. To try the experimental release (JCP3), use the "JChemPaint (development), version 2.5.x" link. This will become JCP 3.0 when stable.

At http://www.ebi.ac.uk/steinbeck-srv/jchempaint-nightly/ you can also find a nightly build of the applet and the application. For the applet, try the html pages, for the application, download jchempaint-2.5.x.jar.



JChemPaint application

  • The application is a stand-alone program. It needs an installed Java Virtual Machine for operation. If your system does not have a JVM, get it from Sun's Java website.
  • The JCP application has all the functionality of the JCP Editor applet (see below), plus file input and output.

This is how it looks, including an inset with the pop-up menu (or context menu, invoked by right-clicking on the canvas):

Features

These are the most prominent capabilities of the application; most of them are also available in the applets.

  • Drawing and deletion of single, double, triple and stereo bonds.
  • Ring templates (3-8 atoms) with one-click attachment.
  • Colouring of atom types, and other rendering settings.
  • Editing of atomic charges, isotopes and hydrogen count.
  • Loading and saving of structures in Chemical Markup Language (CML) and as MDL MOL files and SDF files (loading only).
  • Automated Structure Layout, also known as Structure Diagram Generation.
  • Loading structures from the Internet using CAS or NSC number.
  • Normalization of structures, currently limited to aromaticity detection.
  • Saving bitmap pictures of the structures.
  • Saving structures as Scalable Vector Graphics (SVG).
  • Postscript printing.


Tips and Tricks

On Linux, you can use

-Dawt.useSystemAAFontSettings=on

on startup. This enables font smoothing, giving a better image.

JChemPaint Editor applet

  • (An applet is a Java program that runs only within a web page.)
  • The JCP Editor allows the user to draw chemical structures, and to import and export structure data in plain-text formats (SMILES, InChI or CAS).
  • It also allows to programmatically load and display a chemical structure, which can then be edited by the user.
  • Demo page

This is how it looks (pop-up menu not shown here, but also available):

To learn how to insert and use the applet within a web page, see JChemPaint Inside Webpages.

We are currently collecting thoughts on requirements for the applet.



JChemPaint Viewer applet

  • (An applet is a Java program that runs only within a web page.)
  • The JCP Viewer only allows to programmatically display a chemical structure, which the user cannot modify.
  • Demo page
  • Demo page for the compact version of the viewer.

This is how it looks:

To learn how to insert and use the applet within a web page, see JChemPaint Inside Webpages.



Interface

Canvas

This is the space where the structures are displayed or drawn.


Top menu

Image:JChemPaint_topMenu.png

(the File menu item is not available in the applet)


Toolbars

Image:JChemPaint_toolbar1.png

(the file-related buttons [New, Open, Save] are not available in the applet)

Image:JChemPaint_toolbar2.png


Pop-up menu

Image:JChemPaint_popup.png

(The exact options change depending on where is the menu raised: on the canvas, on an atom, on a bond).


Language

JCP is internationalized and localized. This means that its interface can be shown in different languages (in addition to the English default). Language can be chosen from inside JCP via the View->Language menu

Available translations are (not all are complete): Arabic, Czeck, Dutch, German, Hungarian, Norvegian Bokmal, Portuguese (Brazil), Russian, Spanish, Thai.

If needed, the language can be changed in this way:

  • You can start the application in a certain language from a command line (or from a shortcut):
java.exe -Duser.language=nl -jar jchempaint-2.3.4.jar
(you may need to insert the paths to Java and to JCP)
  • For the applet:
Add a param like <param name="language" value="de"> to the <applet>-tag in the html page.

Development

JChemPaint is developed as part of the CDK project. Releases prior to 3.0 had their code in the main CDK svn, packages org.openscience.cdk.application.jchempaint.*. With release 3.0 a new cdk module called jchempaint, still in the CDK svn, was started. Some more detailed development topics are:



Literature & Citations

  • "An Applet Release of JChemPaint"
Stefan Kuhn. CDK News 3 (1), 21-23 (March 2006). PDF download, mirror 1 · PDF, mirror 2.
  • "JChemPaint - Using the Collaborative Forces of the Internet to Develop a Free Editor for 2D Chemical Structures"
Stefan Krause, Egon Willighagen and Christoph Steinbeck. Molecules 5, 93-98 (2000). Full-text html.


Webpages that use JCP

These are places where you may get a feel of how JCP can be used, and get pieces of html / js source code too.



Links



Personal tools