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

JChemPaint

From cdk

(Difference between revisions)
Jump to: navigation, search
(JChemPaint Editor applet)
(redirect)
 
(43 intermediate revisions not shown)
Line 1: Line 1:
 +
JChemPaint has moved to http://jchempaint.github.com/
 +
 +
<!--
{{TOCright}}
{{TOCright}}
-
JChemPaint (or JCP for short here) is the editor and viewer included in [[Main_Page|CDK]] for 2D chemical structures.
 
-
It is implemented in several forms: a Java application and two varieties of Java applet.
 
-
JChemPaint was started by [http://www.ebi.ac.uk/steinbeck Christoph Steinbeck] in the late 1990's to be the complementary structure editor to [http://www.jmol.org/ Jmol]. It was then co-developed by [http://chem-bla-ics.blogspot.com Egon Willighagen] and others.
 
-
Jmol again is a visualisation and analysis tool for 3D molecular structures, started by [http://www.nd.edu/~gezelter/ Dan Gezelter at Notre Dame University], initiator of the [http://www.openscience.org/ Open Science Project] and, like JChemPaint, developed by an international team of opensource programmers.
 
-
In at some aspects JChemPaint is different from other 2D editors:
+
{||-
 +
|[[File:news.png]]
 +
| width=20px | || || January 2010: The JCP 3.0.1 release is available. This is a bugfix release for 3.0. [http://sourceforge.net/projects/cdk/files/ Download here] or have a look at the [http://cdk.svn.sourceforge.net/viewvc/cdk/jchempaint/branches/3_0/changelog.txt?revision=15294 changelog].
 +
December 2009: We have finished the JCP 3.0 release. This is a totally reworked design, offering a more user friendly interface. We have done thorough testing and are confident this is a better and more stable release than ever. The applet is also signed so that it can do IO and is smaller and faster than ever. [http://sourceforge.net/projects/cdk/files/ Downloads] and a [http://www.ebi.ac.uk/steinbeck-srv/jchempaint30-nightly/EditorApplet.html test page for the applet] are available.
 +
|}
-
* JChemPaint is [http://en.wikipedia.org/wiki/Open_source open source] and [http://www.gnu.org/free-sw.html free software]. We believe that scientific software, especially when its development was publicly funded, should be free. As the GNU people put it: &laquo;`Free software´ is a matter of liberty, not price. To understand the concept, you should think of `free speech´, not `free beer´&raquo;. 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 [http://www.gnu.org/licenses/lgpl.html 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.
 
-
<hr /><br />
 
-
{{clear}}
+
JChemPaint (or JCP for short here) is the editor and viewer for 2D chemical structures developed using [[Main_Page|CDK]].
 +
It is implemented in several forms: a Java application and two varieties of Java applet.
-
= Who did it? =
+
= JChemPaint Editor applet =
-
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.
+
* An applet is a Java program that runs only within a web page.
-
<hr /><br />
+
* The JCP Editor allows the user to draw chemical structures, and to import and export structure data in plain-text formats (SMILES, Molfile, CML)
 +
* It also allows to programmatically load and display a chemical structure, which can then be edited by the user.
-
= How can I participate? =
+
For demonstration, the Steinbeck group (EBI) hosts various releases of the applet. You can try the [http://www.ebi.ac.uk/steinbeck-srv/jchempaint-3.0.1/EditorApplet.html stable relase] there, or preview the [http://www.ebi.ac.uk/steinbeck-srv/jchempaint-nightly/EditorApplet.html development version].
-
JChemPaint is developed as a [http://www.sourceforge.net/ SourceForge] project labeled [http://sourceforge.net/projects/jchempaint/ JChemPaint Applet and Swing Application]. SourceForge provides bugtracking, mailing lists and last but not least SVN access.
+
A snapshot of the 3.0 release applet is given below:
-
There is more than one way to participate:
+
[[Image:JChemPaint_editor_shot.png|300px]]
-
* You can participate in the dicussion lists, by making recommendations for new features, submitting bug reports, etc. Bugs and feature requests can be done through [http://sourceforge.net/apps/trac/jchempaint/ Trac]
+
To learn how to insert and use the applet within a web page, see [[JChemPaint Inside Webpages]].
-
* You can write documentation.
+
-
* You can write source code.
+
-
* You can [[JCP3/Internationalization | translate]] the interface into other languages, or help maintain the existing translations.
+
-
If you want to write documentation or start coding, please check the [http://alexandria.wiki.sourceforge.net/ SourceForge site documentation] on how to access SVN. 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
+
<hr /><br/>
-
<hr /><br />
+
-
= How can I get it? =
+
= JChemPaint Viewer applet=
-
The JChemPaint files (application and applet) can be downloaded from the [http://sourceforge.net/project/showfiles.php?group_id=20024 downloads page] of the CDK project at SourceForge.
+
* (An applet is a Java program that runs only within a web page.)
-
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.
+
* The JCP Viewer only allows to programmatically display a chemical structure, which the user cannot modify.
 +
* [http://www.ebi.ac.uk/steinbeck-srv/jchempaint-nightly/ViewerApplet.html Demo page]
-
To get the stable release (JCP3), go for the "JChemPaint, version 3.x" link.  
+
[[Image:JChemPaint_viewer_shot.png|300px]]
-
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-xxx.jar.
+
To learn how to insert and use the applet within a web page, see [[JChemPaint Inside Webpages]].
<hr /><br />
<hr /><br />
 +
= JChemPaint application =
= JChemPaint application =
Line 56: Line 53:
[[Image:JChemPaint_app_shot.png|600px]]
[[Image:JChemPaint_app_shot.png|600px]]
-
== Features ==
+
= Features =
These are the most prominent capabilities of the application; most of them are also available in the applets.
These are the most prominent capabilities of the application; most of them are also available in the applets.
Line 62: Line 59:
* Drawing and deletion of single, double, triple and stereo bonds.
* Drawing and deletion of single, double, triple and stereo bonds.
* Ring templates (3-8 atoms) with one-click attachment.
* Ring templates (3-8 atoms) with one-click attachment.
 +
* An extensive template library.
* Colouring of atom types, and other rendering settings.
* Colouring of atom types, and other rendering settings.
* Editing of atomic charges, isotopes and hydrogen count.
* Editing of atomic charges, isotopes and hydrogen count.
Line 69: Line 67:
* Normalization of structures, currently limited to aromaticity detection.
* Normalization of structures, currently limited to aromaticity detection.
* Saving bitmap pictures of the structures.
* Saving bitmap pictures of the structures.
-
* Saving structures as Scalable Vector Graphics (SVG).
+
* Saving structures as graphics (PNG, BMP, Scalable Vector Graphics (SVG)).
* Postscript printing.
* Postscript printing.
-
<hr /><br />
 
-
== Tips and Tricks ==
+
In some aspects JChemPaint is different from other 2D editors:
-
On Linux, you can use
+
* JChemPaint is [http://en.wikipedia.org/wiki/Open_source open source] and [http://www.gnu.org/free-sw.html free software]. We believe that scientific software, especially when its development was publicly funded, should be free. As the GNU people put it: &laquo;`Free software´ is a matter of liberty, not price. To understand the concept, you should think of `free speech´, not `free beer´&raquo;. 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 [http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html 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.
 +
<hr /><br />
-
-Dawt.useSystemAAFontSettings=on
+
{{clear}}
-
on startup. This enables font smoothing, giving a better image.
+
= Who did it? =
-
= JChemPaint Editor applet =
+
JChemPaint was originally written by Christoph Steinbeck, soon after co-developed with Egon Willighagen, and is now developed by the Steinbeck Group [http://www.ebi.ac.uk/Information/Staff/viewgallery_steinbeck.php group] and a team of international developers.
-
* An applet is a Java program that runs only within a web page.
+
The project was started by [http://www.ebi.ac.uk/steinbeck Christoph Steinbeck] in the late 1990's to be the complementary structure editor to [http://www.jmol.org/ Jmol]. It was then co-developed by [http://chem-bla-ics.blogspot.com Egon Willighagen] and others.
-
* The JCP Editor allows the user to draw chemical structures, and to import and export structure data in plain-text formats (SMILES, Molfile, CML)
+
Jmol again is a visualisation and analysis tool for 3D molecular structures, started by [http://www.nd.edu/~gezelter/ Dan Gezelter at Notre Dame University], initiator of the [http://www.openscience.org/ Open Science Project] and, like JChemPaint, developed by an international team of opensource programmers.
-
* It also allows to programmatically load and display a chemical structure, which can then be edited by the user.
+
-
For demonstration, the Steinbeck group (EBI) hosts various [http://www.ebi.ac.uk/steinbeck-srv releases] of the applet. You can try the latest applet there, or a previous release.
+
<hr /><br />
-
A snapshot is given of the 3.0 applet is given below:
+
= How can I participate? =
 +
JChemPaint is developed as a [http://www.sourceforge.net/ SourceForge] project labeled [http://sourceforge.net/projects/jchempaint/ JChemPaint Applet and Swing Application]. SourceForge provides bugtracking, mailing lists and last but not least SVN access.
-
[[Image:JChemPaint_editor_shot.png|300px]]
+
There is more than one way to participate:
-
To learn how to insert and use the applet within a web page, see [[JChemPaint Inside Webpages]].
+
* You can participate in the dicussion lists, by making recommendations for new features, submitting bug reports, etc. Bugs reports and feature requests can be made with our bugtracker [http://sourceforge.net/apps/trac/jchempaint/ Trac]
 +
* You can write documentation.
 +
* You can write source code.
 +
* You can [[JCP3/Internationalization | translate]] the interface into other languages, or help maintain the existing translations.
 +
If you want to write documentation or start coding, please check the [http://alexandria.wiki.sourceforge.net/ SourceForge site documentation] on how to access SVN. 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
 +
<hr /><br />
-
<hr /><br/>
+
= How can I get it? =
-
= JChemPaint Viewer applet=
+
The JChemPaint files (application and applet) can be downloaded from the [http://sourceforge.net/project/showfiles.php?group_id=20024 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.
-
* (An applet is a Java program that runs only within a web page.)
+
To get the stable release (JCP3), go for the "JChemPaint, version 3.x" link.  
-
* The JCP Viewer only allows to programmatically display a chemical structure, which the user cannot modify.
+
-
* [http://cdk.sourceforge.net/jcpapplet/ViewerApplet.html Demo page]
+
-
* [http://cdk.sourceforge.net/jcpapplet/ViewerAppletSmall.html Demo page] for the compact version of the viewer.
+
-
This is how it looks:  
+
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-xxx.jar.
-
[[Image:JChemPaint_viewer_shot.png|300px]]
+
-
To learn how to insert and use the applet within a web page, see [[JChemPaint Inside Webpages]].
 
<hr /><br />
<hr /><br />
-
= Interface =
 
-
== Canvas ==
 
-
This is the space where the structures are displayed or drawn.
 
 +
= Tips and Tricks =
-
== Top menu ==
+
'''Font smoothing'''
-
[[Image:JChemPaint_topMenu.png]]
+
-
(the File menu item is not available in the applet)
+
On Linux, you can use
 +
::<code>-Dawt.useSystemAAFontSettings=on</code>
 +
on startup. This enables font smoothing, giving a better image.
 +
'''Language'''
-
== Toolbars ==
+
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
-
[[Image:JChemPaint_toolbar1.png]]
+
-
(the file-related buttons [New, Open, Save] are not available in the applet)
+
Available translations are (not all are complete): Arabic, Czech, Dutch, German, Hungarian, Norvegian Bokmal, Polish, Portuguese (Brazil), Russian, Spanish, Thai. The status of the translations can be viewed on [https://translations.launchpad.net/jchempaint/trunk launchpad].
-
[[Image:JChemPaint_toolbar2.png]]
+
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):
 +
::<code>java.exe -Duser.language=nl -jar jchempaint-2.3.4.jar</code>
 +
: (you may need to insert the paths to Java and to JCP)
 +
* For the '''applet''', add a parameter tag like
 +
::<code><param name="language" value="de"></code>
 +
::to the <code><applet></code> tag in the html page.
 +
<hr /><br />
-
== Pop-up menu ==
+
= Development =
-
[[Image:JChemPaint_popup.png]]
+
-
(The  exact options change depending on where is the menu raised: on the canvas, on an atom, on a bond).
+
Developers, please refer to the [[Development_JCP]] page.
 +
You can find design documentation and information related to the applet version 3 redesign here: [[Thoughts_on_requirements_for_the_applet]].
-
== Language ==
+
= Bugs =
-
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
+
* To report bugs in JCP or to propose enhancements: go to [https://sourceforge.net/apps/trac/jchempaint/ the Trac system]
-
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:
+
= Using CDK renderer for rendering images =
-
* You can start the '''application''' in a certain language from a command line (or from a shortcut):
+
-
::<code>java.exe -Duser.language=nl -jar jchempaint-2.3.4.jar</code>
+
-
: (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 =
+
You can also use the renderer classes contained in JCP for rendering images, which can then be written into files, returned in http request etc. For this, you need the jars you get when compiling CDK and the cdk-jchempaint.jar, you get when calling the ant target dist-jars in the classpath of your project. Alternatively, you can also download the jchempaint-lib-X.zip file from the [http://sourceforge.net/projects/cdk/files/ JCP download page], or the jchempaint-X.jar from [http://www.ebi.ac.uk/steinbeck-srv/jchempaint30-nightly/ this Nightly page] - the nightly file is newer, but more likely to contain bugs.
 +
 
 +
Read the [[Renderer Tutorial]] about how to use the renderer in your application. ATTENTION: The constructor for Renderer given there is different from that in the JChemPaint classes. You need an additional boolean constructor, which most likely will be false. If true, the settings from the $HOME/.jchempaint/properties file will be used, meaning you do not have full control over what the image looks like, but the user can set options (like use of colors, atom numbers shown etc.).
-
JChemPaint is developed as part of the [http://cdk.sourceforge.net/ CDK] project. Releases prior to 3.0 had their code in the main CDK svn, packages org.openscience.cdk.application.jchempaint.*. With [[JChemPaint3 | release 3.0]] a new cdk module called jchempaint, still in the CDK svn, was started. Some more detailed development topics are:
 
-
* [[Checking out JCP]]
 
-
* [[Testing JCP]]
 
-
* [[Applet class lists]]
 
-
* [[Past JCP Events]]
 
-
* [[Tests for JCP]]
 
-
* [[New Renderer Architecture]]
 
-
* [[JCP3/Internationalization]]
 
-
* [[Undo/Redo]]
 
-
* [[Applet Signing]]
 
<hr /><br />
<hr /><br />
Line 181: Line 176:
These are places where you may get a feel of how JCP can be used, and get pieces of html / js source code too.
These are places where you may get a feel of how JCP can be used, and get pieces of html / js source code too.
-
* [http://cdk.sourceforge.net/jcpapplet/EditorApplet.html Simple demo of the Editor applet].
+
* [http://www.nmrshiftdb.org/ NMRShiftDB] - choose a structure and then the "J" little icon; you will see a JCP viewer coupled to NMR tabular and graphic data.
-
* [http://cdk.sourceforge.net/jcpapplet/ViewerApplet.html Simple demo of the Viewer applet].
+
-
* [http://depth-first.com/demo/20060820/jchempaint/jchempaint.html Demo of the Editor applet] and how to extract MOLfile data from it.
+
-
* [http://nmrshiftdb.ice.mpg.de/ NMRShiftDB] - choose a structure and then the "J" little icon; you will see a JCP viewer coupled to NMR tabular and graphic data.
+
* [http://wwwdev.ebi.ac.uk/chebi/ ChEBI] - Chemical Entities of Biological Interest at European Bioinformatics Institute, go to "Advanced Search"
* [http://wwwdev.ebi.ac.uk/chebi/ ChEBI] - Chemical Entities of Biological Interest at European Bioinformatics Institute, go to "Advanced Search"
Line 198: Line 190:
** [http://cdk.svn.sourceforge.net/viewvc/cdk/ root (general)] within CDK.
** [http://cdk.svn.sourceforge.net/viewvc/cdk/ root (general)] within CDK.
** [http://cdk.svn.sourceforge.net/viewvc/cdk/jchempaint/trunk/ JChemPaint Swing/Applet project] (development).
** [http://cdk.svn.sourceforge.net/viewvc/cdk/jchempaint/trunk/ JChemPaint Swing/Applet project] (development).
-
** [http://bioclipse.svn.sourceforge.net/viewvc/bioclipse/bioclipse2/trunk/plugins/net.bioclipse.cdk.jchempaint/ JChemPaint using SWT] (development) within Bioclipse.
+
** [http://wiki.bioclipse.net/index.php?title=JChemPaint JChemPaint using SWT] (development) within Bioclipse.
* [[JChemPaint3|Development of JChemPaint 3]].
* [[JChemPaint3|Development of JChemPaint 3]].
-
* [http://cheminfo.informatics.indiana.edu/~rguha/code/java/nightly-1.0.x/api/ API documentation] (JavaDoc).
 
* [http://depth-first.com/articles/2006/08/21/four-free-2-d-structure-editors-for-web-applications Four Free 2-D Structure Editors for Web Applications] - An article by Rich Apodaca that demonstrates how to interface with JCP from a web page and compares in this respect JCP to other editors.
* [http://depth-first.com/articles/2006/08/21/four-free-2-d-structure-editors-for-web-applications Four Free 2-D Structure Editors for Web Applications] - An article by Rich Apodaca that demonstrates how to interface with JCP from a web page and compares in this respect JCP to other editors.
<hr /><br />
<hr /><br />
 +
-->

Current revision as of 14:02, 29 May 2012

JChemPaint has moved to http://jchempaint.github.com/


Personal tools