Difference between revisions of "JSmol pros and cons"

From Jmol
Jump to navigation Jump to search
Line 1: Line 1:
<span style="font-size:130%;">This page could also be titled '''Things To Be Aware Of Before Converting From Jmol (Java) To JSmol'''.</span>
+
<span style="font-size:130%;">This page could also be titled '''Things To Be Aware Of When Deciding between JSmol/Java and JSmol/HTML5'''.</span>
  
 
For other pages about JSmol, please see [[JSmol]].
 
For other pages about JSmol, please see [[JSmol]].
  
==Advantages of JSmol==
+
==Advantages of Selecting use:HTML5==
  
Of course there are huge advantages to using JSmol:
+
Of course there are huge advantages to using HTML5:
*Users of a JSmol website do not need to install [http://proteopedia.org/w/Java Java] (which is a [http://proteopedia.org/w/Java#Java_is_a_security_threat likely security risk]).
+
*Users of a website that does not use Java do not need to install Java.
*A JSmol website will likely work on iPads and smart phones. (Java is not available for these platforms, so Jmol is not an option for them.)
+
*A website using HTML5 will work on iPads and smart phones. (Java is not available for these platforms, so Java is not an option for them.)
  
==Disadvantages of JSmol==
+
==Disadvantages of Selecting use:HTML5==
  
===JSmol is slower than Jmol===
+
===JavaScript is slower than Java===
  
 
<table width="300" cellpadding="4" style="background:#e0e0e0" align="right" hspace="10">
 
<table width="300" cellpadding="4" style="background:#e0e0e0" align="right" hspace="10">

Revision as of 13:11, 1 August 2014

This page could also be titled Things To Be Aware Of When Deciding between JSmol/Java and JSmol/HTML5.

For other pages about JSmol, please see JSmol.

Advantages of Selecting use:HTML5

Of course there are huge advantages to using HTML5:

  • Users of a website that does not use Java do not need to install Java.
  • A website using HTML5 will work on iPads and smart phones. (Java is not available for these platforms, so Java is not an option for them.)

Disadvantages of Selecting use:HTML5

JavaScript is slower than Java

Macromolecules of Various Sizes

PDB code

Atoms (Kilo)

KD (Asymmetric Unit)

1d66

1.7

28

2bvw

6

87

2cvo

12

160

7ahl

23

233

1g3i

45

826

3j36

60

900

2bbn

57 (2.7K x 21 NMR models. Includes hydrogen.)

416 (20K x 20 NMR models)

Models with >10,000 atoms are in the largest ~10% of the PDB; with >20,000 atoms, the largest ~5%; with >50,000 atoms, the largest ~1.5% (counting all models for NMR ensembles).

JSmol is significantly slower than Jmol. Rotation will be jerkier. Smaller molecules (<10,000 atoms) are handled quite well. Large molecules (>20,000 atoms; see table at right) may be slow to load and process. (FirstGlance, when using JSmol, sometimes freezes for up to a minute, even more. These delays tend to happen with large molecules but are not simply related to model size.) Multiple-model ensembles (such as from NMR experiments) may cause JSmol to freeze while taking minutes to load the ensemble, or loading may never finish.

Here is how two websites that now use JSmol by default have handled these issues:

  • FirstGlance in Jmol, when using JSmol (its default), loads only the first model when there are more than one. It offers signed Jmol_S (Java) as an option (and a preference setting). The unsigned Jmol applet is no longer offered because it is deprecated and Oracle says that eventually it won't be allowed. FirstGlance recommends using Java when the molecule has >20,000 atoms, and even more strongly recommends it when >50,000 atoms.
  • Proteopedia loads only amino acid alpha carbon atoms (or nucleic acid phosphorus atoms) and ligand atoms, since its ribbon view (secondary structure schematic) works fine without the other atoms. A prominent message is displayed that a simplified model is being shown, and there is a button to load the complete model. For registered users who are logged in, Proteopedia has a preference setting that will use Jmol_S instead of JSmol.

Poor performance in Internet Explorer and Opera

JSmol runs in the javascript of the browser (HTML5). Different web browsers operate JSmol with very different performances. Chrome runs JSmol best, Safari is good, and Firefox is usually OK (see note under table below). Internet Explorer is unacceptably slow (all versions, including version 11), and it is the most widely used browser. In Opera, rotation of the molecule is slow and jerky.

  • FirstGlance in Jmol detects the browser being used, and recommends a different browser when being displayed in Internet Explorer or Opera.

The findings below are based primarily on tests with FirstGlance in Jmol in its default JSmol modality, and possibly results may be different for other JSmol websites.

Jsmol-vs-browsers.png

The above snapshot is taken from FirstGlance.Jmol.Org. For more details, see the section Browser Pecularities in the Notes for FirstGlance.


For other articles about JSmol, please see JSmol.