Jmol Applet

From Jmol
Revision as of 21:39, 31 December 2010 by EricMartz (talk | contribs) (Installing Jmol Applet)
Jump to navigation Jump to search

Geographylogo.png

Reference: English – Other: 日本語 ·


Running Jmol / JSmol

Jmol Applet

Java applet version of Jmol which allows Jmol to be embedded in web pages (given that viewers have a Java plugin installed). Like with the application, Scripting is available. For some demonstration pages see http://www.jmol.org/demo/. To see the HTML source use your web browser ViewPage Source.

Installing Jmol Applet

If you only wish to create a web page(s) containing molecular scenes in Jmol, there are easier ways than starting from scratch: see

Installing Jmol / JSmol

Download the Jmol package (either .zip or tar.gz format) and extract/uncompress only the necessary files to the folder of your choice.

Which are those necessary files? For basic use, these:

  • File icon.gifJmol.js, this contains a set of scripting commands that are helpful for interacting with Jmol via a web page (functions for buttons, checkboxes, etc. to interact with the applet). For an overview of functions see the online documentation or, for the most up-to-date info, just browse the Jmol.js sourcefile.
  • All files whose name starts with File icon.gifJmolApplet0 and ends in File icon.gif.jar
  • If you will distribute your web page files, you should also include the copyright, license and information files: File icon.gifCOPYRIGHT.txt, File icon.gifLICENSE.txt and File icon.gifREADME.txt

To use JmolApplet within local web pages, e.g. on the hard disk or on CD, see Jmol Applet Deployment Local for some precautions needed.

For some specific needs, you must use other files; read the sections below about the signed applet.

If the applet does not load, see also Solving Java Problems.


Giving JmolApplet more memory to work with

Memory available to Jmol is determined by Java. You can check the current memory allocation by opening the pop-up menu in the applet, and the last submenu "About Jmol".

Less or more memory can be allocated by using this parameter:

-Xmx###M

where the ### must be substituted by a number in megabytes (hence the "M" after it). However, the amount of memory that can be allocated is limited by your existing RAM. For example, on a system with 512 MB RAM, a maximum of 256 MB is allowed for Java.

Examples:

  • -Xmx512M will give 512 Mb maximum memory available.
  • -Xmx1024M will give 1024 Mb maximum memory available.

The place to set this parameter is:

Windows

  • Control Panel > Java icon (opens the Java Control Panel) > "Java" tab > "Applet run-time configuration" > "Show" button > on row "JRE" (latest version if there are several), click on the textbox under "Parameters" and type: -Xmx###M

Macintosh

  • OS 10.5 (Leopard): Double click on JavaPreferences.app (in /Applications/Utilities). In the 'General' tab, select the first version of Java that is in the list. This will activate the 'Options' button: click it. A box for 'Applet Runtime Parameters' will open, where you can enter the -Xmx###M parameter.
  • OS 10.4 (Tiger): Possibly look under /Applications/Utilities/Java/J2SE 5.0/Java Preferences, then look for the place to put the -Xmx###M
  • Or look in the Java Control Panel.

Note that this is a local setting, so it will only affect that computer. You cannot expect that visitors of your web pages will have the same Java memory configuration as you, so be careful when using this feature.

Technical details:

  • -Xmx sets the maximum memory heap size.
  • -Xms sets the minimum memory heap size.

See also the procedure for the application.

Forcing JmolApplet to open in a certain language

JmolApplet includes several languages (technically called localizations) for the user interface (pop-up menu). JmolApplet will open by default with the interface using the language of your operating system (ref.). However, if you need to change this:

  1. Starting Jmol 11.1.30, the language in the applet can be switched anytime, from the pop-up menu, "Language" item near the bottom.
  2. Or, using the scripting language: language = "de" (you must use the keyword "language" and the two-letter language code: ca, cs, de, en, es, et, fr, nl, pt, tr)
  3. This is an old method, only needed for versions below 11.1.30: If you want to force a certain language,

On Windows: Open Windows Control Panel > Java icon (opens Java Control Panel) > Java tab > Applet run-time configuration > Show button > on row "JRE", click on the textbox under "Parameters" and type:

   java -Duser.language=es    # forces Spanish (Español)
   java -Duser.language=de    # forces German (Deutsch)
   java -Duser.language=en    # forces English
   etc.

On Macintosh: Open the Java Control Panel at /Applications/Utilities/Java/J2SE 5.0/Java Preferences and set the parameter as above.

See also the procedure for the application.

Jmol in Wikis

The applet can be embedded in HTML (or XHTML) pages (examples are listed on Websites Using Jmol), but also, with some extra technologies, in Wiki pages (see Jmol Processor).

Unsigned vs. Signed Applet & Data Access

Java Warning Signed.png

The signed applet can load a molecular model from any http or ftp URL. However, the user will be asked to trust the signed applet (figure at right). This could be problematic since the publishing authority (jmol.org) "cannot be verified", and the security certificate was issued by a group that is "not trusted" (jmol.org). This is because it would be costly and cumbersome for each version of the applet to be signed by a trusted (commercial) authority.

The unsigned applet displays the molecule without asking the user to trust it. However, it is limited (for security reasons) to loading molecular models from the same http domain (server) that downloads the applet itself. FirstGlance in Jmol uses the unsigned applet by default, but the signed applet will be used when that "Advanced Option" is checked. Thus you can easily see both applets in action. Methods for accessing data files from arbitrary servers are described in some detail at PDB Data File Access Methods.
If you are not running the applet from any server, i.e., you are using a web page residing in a local disk, further security restrictions are applied by Java: molecular models can only be located in the same folder/directory as the applet files or below it; read Jmol Applet Deployment Local.

Tools for Authoring Jmol Web Pages

Proteopedia's Scene Authoring Tools

The easiest way to create, and share, a web page containing customized molecular scenes in Jmol, is to build the page in Proteopedia.Org. Proteopedia's Molecular Scene-Authoring Tools free you from learning any Jmol commands, HTML, or javascript. You will only need to learn a tiny bit of wikitext markup, for which convenience buttons and help are provided. On the other hand, if you already know some Jmol commands, you may use them in creating your scene (via the Jmol console). Regardless of how your scene is created, it will be saved as a Jmol state script. You may upload atomic coordinate files, or use published PDB files. Proteopedia automatically saves a frozen copy of each PDB file that you use, to protect your scripts from breaking e.g. after remediation of files by the Protein Data Bank. You may created pages that are protected from editing by others.

Jmol's Export to Web

If you are not comfortable writing html/xhtml and javascript code, or would just like to quickly put together some simple pages, then look at the export to web function of Jmol (available in version 11.4 and above). This allows you to export all the necessary files to make simple pages that have a number of live Jmol displays or a single Jmol display that can be changed by clicking buttons. You select the views you want the user to see by setting them up in Jmol. You then add any desired text or comments to the .html file created by the export function in your favorite web editor (Some open source suggestions: SeaMonkey is simple and works very well, Kompozer is more sophisticated and works pretty well, Amaya is the most sophisticated but is harder to use). Instructions for using the export function are accessible in the export to web dialog within the Jmol application. A more detailed tutorial and some older packages are available at Jmol Web Page Maker.--Gutow 21:48, 25 July 2008 (CEST)

Saving Files from the Applet

Although this isn't obvious, the molecule that is being shown in the applet can be saved to local disk. To do so:

  1. Open applet's menu (right-click, Ctrl+click, or click on bottom-right "Jmol" logo).
  2. Click on topmost entry (name of molecule).
  3. On the submenu that appears, click on bottommost entry (name of file).
  4. Depending on your browser's configuration, the file will be opened in the associated program ("helper application") or you will get an "Open or Save" dialog; choose Save and location in your disk.
Warning: At least in Windows, modern browsers may detect this action as opening a pop-up window, so it's likely that the pop-up blocker will prevent you from seeing the "Open or Save" dialog. Pay attention to messages and options in your browser to allow pop-ups for the current page. (Such messages often appear as yellow bars at the top of the page, warnings in a toolbar, or hints in the status line at the bottom of the browser window.)
Note for Chime users: If you have MDL Chime installed, the molecule will be opened in a browser window using Chime. You just have to use Chime's menu (File > Save molecule as) to save the file to disk.

More user-friendly ways or saving files from JmolApplet are being considered by the developers.

In Jmol v.11, a part of the molecule can be extracted and saved into MOL format. This is not so straightforward as the former, and is described in the "interactive scripting documentation" (see Jmol home page).

The ability to save the state of the molecule (rendering style, coloring, visibility, orientation, etc.) is under development, and already partially implemented in Jmol 11.0. See save state and write state in the Jmol scripting documentation. This will give similar functionality to what can be done in Chime or Rasmol, although due to Java security restrictions, saving to a file is not available for JmolApplet.