Files Description/Jmol 14

From Jmol
Revision as of 16:24, 22 July 2012 by AngelHerraez (talk | contribs) (JmolControls.js)
Jump to navigation Jump to search

This information is also included in Jmol distribution File icon.gifREADME file.

The Jmol distribution is available for download as 3 different files:

  • File icon.gifjmol-x.x.x-binary.zip contains all files needed for using Jmol, compressed using the zip format.
  • File icon.gifjmol-x.x.x-binary.tar.gz contains the same files, in a tar structure and compressed using the gzip format.
  • File icon.gifjmol-x.x.x-full.tar.gz contains the full source code. This will only be useful to developers and programmers wanting to study Jmol programming design or to modify Jmol.

Following is a description of the files contained in any of the first two downloadable files.

Jmol + JSmol Documentation

Files with information

COPYRIGHT.txt

The copyright explanations regarding Jmol and its 3rd-party components.

LICENSE.txt

The GNU Lesser General Public License, under which Jmol is released.

README.txt

A general description of Jmol package and sources of information, including this file list documentation.

LEAME.txt

The Spanish version of README.txt

CHANGES.txt

A list with a history of the feature additions in each version of Jmol.

README-CHEMDOODLE.txt

Instructions about using the ChemDoodle alternative together with Jmol applets, and about the license for ChemDoodle (which is different from the Jmol license).


Batch and shell files

These can be used to start Jmol application from a command line and, particularly, to impose a certain combination of parameters (see command line options).

jmol

???? (Some kind of batch file)

jmol.bat

A batch file to start Jmol application under Windows.

jmol.mac

??? (Some kind of batch file)

jmol.sh

A shell script to start Jmol application under Unix-like systems, like Linux, BSD, Solaris and Cygwin for Windows.

Under Linux, there are a number of ways to start Jmol as a standalone program using the File icon.gifjmol.sh script:
(1)

sh jmol.sh                      // start Jmol under the jmol-xxx folder 
sh yourpath/jmol-xxx/jmol.sh    // start Jmol from anywhere 

(2)

chmod +x jmol.sh                // make the jmol.sh script executable 
jmol.sh                         // start Jmol inside the jmol-xxx directory, or  
yourpath/jmol-xxx/jmol.sh       // start Jmol anywhere

(3)

chmod +x jmol.sh                // make the jmol.sh script executable  
ln -s yourpath/jmol-xxx/jmol.sh /usr/local/bin/jmol.sh //create a symbolic link under /usr/local/bin

Add the following shell variable in the shell script File icon.gif$HOME/.bash_profile

export JMOL_HOME="/yourpath/jmol-xxx/"

Reboot your computer or execute

source $HOME/.bash_profile 

Then

jmol.sh                          // start Jmol anywhere 

(4) Move the File icon.gifjmol-xxx folder to File icon.gif/usr/bin/ or File icon.gif/usr/local/bin/

chmod +x jmol.sh                  // make the jmol.sh script executable 
ln -s /usr/bin/jmol-xxx/jmol.sh /usr/bin/jmol.sh          // or
ln -s /usr/bin/jmol-xxx/jmol.sh /usr/local/bin/jmol.sh    // or
ln -s /usr/local/bin/jmol-xxx/jmol.sh /usr/bin/jmol.sh    //or
ln -s /usr/local/bin/jmol-xxx/jmol.sh /usr/local/bin/jmol.sh
jmol.sh                          // start Jmol from anywhere

Files of Jmol application

This is used as a standalone program.

Jmol.jar

The application executable file (a program written in Java). This works as any other program: opens in its own window, can be resized or minimized, admits drag-and-drop of files over it, has a top menu bar, can open and save files, etc. It can be open from the command line (particulary, using the shell or batch files described above), but if Java is properly configured in your system, it's usually enough to double-click on the file (see Starting Jmol Application for more details).

JmolData.jar

This is a slimmed down version of Jmol.jar that lacks all visualization capabilities. So, it betrays the whole (classic) concept of what Jmol is, but with JmolData and some clever scripting you can get just about any information you want out of a model and output it any way you want.

It operates only from the command line, designed for extracting data from a model or set of models. You are limited to commands that don't have to do with visualization: there are bonds but no "sticks", atoms but no "dots", helices but no "cartoons".


Files of Jmol applet

These are used inside web pages, and include:

  • Applet files
  • Core Javascript libraries
  • Optional Javascript libraries

Applet files

JmolApplet0.jar, JmolApplet0(severalSuffixes).jar

The applet, i.e. a version of the program that will only run when embedded in a web page.

The applet is divided up into several pieces according to their function, so that if a page does not require a component, that component is not downloaded from the server. It is still recommended that you put all JmolApplet0*.jar files on your server even if your page does not use the capabilities provided by some of the files, because the pop-up menu and Jmol console both allow users to access parts of Jmol you might not have considered.

This split version is the one that will be used by default if you use File icon.gifJmol.js (which is the recommended method). For that, use the simplest form of jmolInitialize(), just indicating the directory or folder containing the set of jar files:

jmolInitialize("directory-containing-jar-files")

for example,

jmolInitialize(".")  // jar files are in the same folder as the web page 
jmolInitialize("../jmol") // jar files are in a parallel folder, named 'jmol'.

JmolAppletSigned0.jar, JmolAppletSigned0(severalSuffixes).jar

An equivalent version of the applet, but this is a "signed" applet (a term in Java security language). This means it must be authorized by the web page visitor for it to run, but then it will have less security restrictions for file access. For example, it can access files on any part of the user's hard disk or from any other web server.

Typically users get a message asking if they want to accept the "certificate" or if they "trust" the applet (see notes below). JmolAppletSigned.jar should be used with this in mind. Other than reading files, Jmol does not currently use other capabilities of signed applets, such as accessing the system clipboard or writing files. Use only if you know what you are doing and have considered the security issues.

To use this with Jmol.js, use the form:

jmolInitialize("directory-containing-jar-files", true)

or

jmolInitialize("directory-containing-jar-files", "JmolAppletSigned0.jar")
Notes:
  • The security feature requesting to trust the applet may not always be enabled on users' systems.
  • The message requesting permission will be displayed for each of the 14 (or more) loadable files.
  • The user may have the option to trust the applet permanently and so avoid having to give permission every time (s)he visits a page that uses Jmol.

JmolApplet.jar

This is an all-in-one or monolithic file, kept mainly for compatibility with old pages that call it explicitly. This single file is equivalent to the whole set of File icon.gifJmolApplet0*.jar files, explained above. The recommended procedure is not to use this monolithic file, but the split version (File icon.gifJmolApplet0.jar etc.). In particular, File icon.gifJmol.js uses the split version by default.

You may wish to use this if you want to keep your website simple or you just want to upload a single jar file whenever new versions are released. However, this will load Jmol slower than the split versions (described above), as all the modules (adding up to 2.4 MB), needed or not, must get loaded onto a user's machine before any structure is displayed.

To invoke JmolApplet.jar from Jmol.js, either:

a) put it in the directory containing the HTML page requiring it and do not use jmolInitialize(),

or

b) identify it explicitly in jmolInitialize(), for example:

jmolInitialize("directory-containing-jar-files", "JmolApplet.jar")

JmolAppletSigned.jar

An equivalent version of the monolithic applet, but this is a "signed" applet (a term in Java security language). This means it must be authorized by the web page visitor for it to run, but then it will have less security restrictions for file access. For example, it can access files on any part of the user's hard disk or from any other web server.

Typically users get a message asking if they want to accept the "certificate" or if they "trust" the applet, but this security feature is not always enabled. JmolAppletSigned.jar should be used with this in mind. Other than reading files, Jmol does not currently utilize other capabilities of signed applets, such as accessing the System clipboard or writing files. Use only if you know what you are doing and have considered the security issues.

To invoke JmolAppletSigned.jar from Jmol.js, use:

jmolInitialize("directory-containing-jar-files", "JmolAppletSigned.jar")


Notes

  1. Given the descriptions, you will realize that the distribution package contains 4 full copies of the applet (signed or unsigned, split or not).


Core Javascript libraries

Jmol.js

The classic library, written in JavaScript language, that assists in the programming of web pages that use Jmol applet, without the need to know and write detailed JmolApplet code.

This library uses by default the split version of the applet (unsigned or signed).

Fully documented at http://jmol.org/jslibrary/

Jmol.js is phased out in Jmol v.13, in favour of the new set of object-oriented JavaScript method and .js files (described next).

JmolApplet.js

Creates the object for a Jmol applet.

JmolCore.js

Contains functions that make the Jmol applets work but are not to be used by the webpage author (private functions).

JmolControls.js

Support for user-interface controls like buttons, links, checkboxes, etc.

JmolApi.js

Contains the Application Programming Interface, that is, functions that may be used by the webpage author to interface with the Jmol applets.

Optional Javascript libraries

JmolCD.js

The ChemDoodle extension: provides the means for using ChemDoodle Web Components (that uses JavaScript + HTML5 canvas or WebGL) instead of the Jmol applets if Java is not available in the system.

JmolGLmol.js

The GLmol extension: provides the means for using GLmol (that uses WebGL + JavaScript) instead of the Jmol applets if Java is not available in the system.

JmolJME.js

Provides the means for adding a JME applet in the webpage (drawing of 2D chemical formulas) and communicate with Jmol applets.

JmolJSV.js

Provides the means for adding a JSpecView applet (viewer for spectral data) in the webpage and communicate with Jmol applets.


Files specific to older versions

Versions before Jmol 11.1.30 had a different setup for the split applet files:

JmolApplet(number).jar, JmolApplet_i18n.jar

The applet divided up into several pieces, hopefully for faster loading. The set of these files is equivalent to the single File icon.gifJmolApplet.jar. This split version is used by default by File icon.gifJmol.js.

File icon.gifJmolApplet_i18n.jar is the localization module of the applet (i.e., translation of the interface into several languages). This must accompany the File icon.gifJmolApplet#.jar set if you want the interface in a language different from English. (The language shown will depend on the operating system's language.)

JmolAppletSigned(number).jar, JmolAppletSigned_i18n.jar

The signed version of the above split applet. (See JmolAppletSigned0.jar above for description of what a "signed" applet is.)


Accessory apps and applets

ChimeToJmol.jar

Undocumented and experimental.

An application to convert Chime-using html pages into pages with JmolApplets.

JSpecViewApplet, JSpecViewAppletSigned

Unsigned and signed versions of the JSpecView applet, a viewer for spectral data that may be intercommunicated with Jmol applets. (see supporting File icon.gif.js file above)

JmolSmilesApplet.jar

This is currently not included in the distribution, but may be obtained from the development site.

This is a lightweight applet, with no visible interface, that allows to check SMILES strings. This is particularly useful for comparison of stereochemistry, for example from structures drawn using the JME applet.

The same functionality is included in the regular JmolApplet.