User:Eric Martz/JSmol Notes: Difference between revisions
Eric Martz (talk | contribs) |
Eric Martz (talk | contribs) |
||
(39 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
Of course there are huge advantages to using JSmol: | Of course there are huge advantages to using JSmol: | ||
*Users of a JSmol website do not need to install [[Java]] (which is a [[Java#Java_is_a_security_threat|likely security risk]]). | *Users of a JSmol website do not need to install [[Java]] (which is a [[Java#Java_is_a_security_threat|likely security risk]]). | ||
*The very popular Google Chrome browser no longer supports Java, nor does Edge (the new browser in Windows 10). Opera plans to remove support for 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 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.) | ||
Line 21: | Line 22: | ||
Atoms (Kilo) | Atoms (Kilo) | ||
</td><td> | </td><td> | ||
kDa* ([[Asymmetric Unit]]) | |||
</td> | </td> | ||
</tr> | </tr> | ||
Line 30: | Line 31: | ||
1.7 | 1.7 | ||
</td><td> | </td><td> | ||
28 | 24 (28) | ||
</td> | </td> | ||
</tr> | </tr> | ||
Line 39: | Line 40: | ||
6 | 6 | ||
</td><td> | </td><td> | ||
87 | 77 (87) | ||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
[[2v61]] | |||
</td><td> | |||
9 | |||
</td><td> | |||
107 (120) | |||
</td> | </td> | ||
</tr> | </tr> | ||
Line 47: | Line 57: | ||
</td><td> | </td><td> | ||
12 | 12 | ||
</td> | |||
<td> | |||
142 (160) | |||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
[[5ibx]] | |||
</td><td> | </td><td> | ||
17 | |||
</td><td> | |||
202 (215) | |||
</td> | </td> | ||
</tr> | </tr> | ||
Line 57: | Line 77: | ||
23 | 23 | ||
</td><td> | </td><td> | ||
233 | 220 (233) | ||
</td> | </td> | ||
</tr> | </tr> | ||
Line 66: | Line 86: | ||
45 | 45 | ||
</td><td> | </td><td> | ||
826 | 602 (826) | ||
</td> | </td> | ||
</tr> | </tr> | ||
Line 76: | Line 96: | ||
</td><td> | </td><td> | ||
900 | 900 | ||
</td> | |||
</tr> | |||
<tr> | |||
<td> | |||
[[3j9q]] | |||
</td><td> | |||
99.6 | |||
</td><td> | |||
1,314 (1,424) | |||
</td> | </td> | ||
</tr> | </tr> | ||
Line 84: | Line 113: | ||
57 (2.7K x 21 NMR models. Includes hydrogen.) | 57 (2.7K x 21 NMR models. Includes hydrogen.) | ||
</td><td> | </td><td> | ||
416 | 416 = 19.8K x 21 NMR models (416) | ||
</td> | </td> | ||
</tr> | </tr> | ||
<tr><td colspan="3"> | <tr><td colspan="3"> | ||
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). | 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). | ||
<br> | |||
<nowiki>*</nowiki> kDa excluding water as reported by Jmol (print {not hoh}.mass.sum). RCSB molecular weights are sometimes much larger for obscure reasons. RCSB report is in parentheses. | |||
</td> | </td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
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. (Sometimes I’ve seen delays of up to a minute, even more, during which JSmol freezes. These delays tend to happen with large molecules but are not simply related to 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. | JSmol is significantly '''slower''' than Jmol. Rotation will be jerkier (see [[JSmol/Rotation Speeds]]). 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. (Sometimes I’ve seen delays of up to a minute, even more, during which JSmol freezes. These delays tend to happen with large molecules but are not simply related to 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: | Here is how two websites that now use JSmol by default have handled these issues: | ||
Line 101: | Line 132: | ||
*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. | *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 | ====Poor performance in Internet Explorer & Edge==== | ||
JSmol runs in the javascript of the browser | JSmol runs in the javascript of the browser. Different web browsers operate JSmol with very different performances (see [[JSmol/Rotation Speeds]]), and the performances vary as browser versions are updated. '''Internet Explorer has always been unacceptably slow''' (all versions, including version 11), but since early 2016, it is [http://www.netmarketshare.com no longer the most widely used browser]. | ||
<center><span style="font-size:130%;">For current recommmendations, see [[JSmol/Rotation Speeds]].</span></center> | |||
FirstGlance in Jmol detects the browser being used, and recommends the optimal browser when another browser is used. | |||
==Converting Websites from Jmol to JSmol== | ==Converting Websites from Jmol to JSmol== | ||
Line 133: | Line 161: | ||
--></pre> | --></pre> | ||
Add these two lines. Jmol2.js replaces Jmol.js, defining the same functions you were already using in Jmol.js. | Add these two lines. Jmol2.js replaces Jmol.js, defining the same functions you were already using in Jmol.js. The order of these two lines is critical: '''JSmol.min.js must come before Jmol2.js'''. | ||
<pre><script type="text/javascript" src="jsmol/JSmol.min.js"></script> | <pre><script type="text/javascript" src="jsmol/JSmol.min.js"></script> | ||
Line 140: | Line 168: | ||
===jmolInitialize()=== | ===jmolInitialize()=== | ||
Find jmolInitialize() in your code. If necessary, change the relative directory path argument of this function to reflect the location of the jsmol directory you have added. For example, if your main html file is in folder1/folder2/main.html, and the location of jsmol is folder1/jsmol, then from main.html, jmolInitialize(" | Find jmolInitialize() in your code. If necessary, change the relative directory path argument of this function to reflect the location of the jsmol directory you have added. For example, if your main html file is in folder1/folder2/main.html, and the location of jsmol is folder1/jsmol, then from main.html, jmolInitialize("../jsmol"). | ||
===(to be continued)=== | |||
I know that the above is incomplete. When I learn more I will add it here. | I know that the above is incomplete. When I learn more I will add it here. | ||
Line 174: | Line 204: | ||
==See Also== | ==See Also== | ||
*[[Jmol]], where the four forms of Jmol are explained, and links are provided to other relevant articles. | *[[Jmol]], where the four forms of Jmol are explained, and links are provided to other relevant articles. | ||
*[[JSmol/Rotation Speeds]] for the 6 most popular browsers, without and with Java. |