Dear Jmolers,
with the end of Java embedded plugins, we are now relying on JSmol for 
displaying molecular structures in web pages.
If JSmol bio/geo/chemicabilities appear to me as limitless, I am encountering 
other limitations in respect with its performances : some web applications I 
made are particularly slow even if tuning is possible to some extent. This is 
why I took a look at the alternatives currently flourishing on the web which 
rely on WebGL to display the 3D scenes in the browser. None of them could be 
considered as a replacement to JSmol for my purposes, but I thought it could be 
interesting to share my findings with the list.

- 3Dmol.js : http://3dmol.csb.pitt.edu/index.html 
<http://3dmol.csb.pitt.edu/index.html>
Article in PMC : http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4393526/ 
<http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4393526/>
Github Repo : https://github.com/3dmol/3Dmol.js 
<https://github.com/3dmol/3Dmol.js>
Has the simplest embedding mechanisms I have ever seen, based on HTML markup or 
url formatting. Abilities to compute isosurfaces in parallel (use web workers 
that don’t hang the web browser during the computation). Display most common 
bio-molecular representations, labels, select and color abilities.

- NGL :  documentation 
<http://arose.github.io/ngl/doc/#User_manual/Introduction/Welcome>
NGL viewer demonstration http://proteinformatics.charite.de/ngl/html/ngl.html 
<http://proteinformatics.charite.de/ngl/html/ngl.html>
Article in Nucleic Acid Research 
:http://nar.oxfordjournals.org/content/early/2015/04/28/nar.gkv402.full 
<http://nar.oxfordjournals.org/content/early/2015/04/28/nar.gkv402.full>
Github Repo : https://github.com/arose/ngl <https://github.com/arose/ngl> 
Made by Alexander Rose, a contributor to this list ! Has probably the most 
beautiful graphic capabilities. Many bio-molecular representations (some 
unknown to me such as « hyperballs »  and « ropes » ). Abilities to act on 
selections with a jmol-like syntax.

- PV : http://biasmv.github.io/pv/ <http://biasmv.github.io/pv/>
GitHub repo : https://github.com/biasmv/pv <https://github.com/biasmv/pv>
Protein Viewer is used by SwissModel and RCSB. It has a very clear 
documentation <http://pv.readthedocs.org/en/latest/intro.html>. Graphics are 
stylized but also really clear in their depiction. Common bio-molecular 
representations are available. Selections are based on javascript and a JSON 
syntax.

- Chemdoodle web components
Examples <https://web.chemdoodle.com/demos/iza-zeolite-explorer/>
Handles bimolecular representations and has some capabilities to handle cif 
files and generate multiple cells. Viewer canvases can be linked to a range of 
different widgets (spectrum display, 2D formula, etc…). Selection and display 
is based on the manipulation of javascript objects.

- GLmol http://webglmol.osdn.jp/index-en.html 
<http://webglmol.osdn.jp/index-en.html>
might have been the first WebGL viewer available. Some of its code has been 
used in the JSmol WebGL front end experiment. Active development has apparently 
ceased.

I have found some references to other viewers 
<https://www.snip2code.com/Snippet/579547/WebGL-based-protein-Viewers> in an 
informative page written by another Jmol contributor, Andreas Prlic

To my knowledge, JSmol is the only one with such advanced computing 
capabilities (secondary structure determination, hydrogen & h-bonds 
calculation, molecular minimization, partial charges, electrostatic potential, 
etc…), displaying versatility (bio/geo/nano/chemistry, file formats diversity 
and oddities), and user interaction openness (picking, building, computing…).

All these viewers seem more reactive to user interaction (at least on my 6 
years old laptop), even with high rendering quality settings. My understanding 
is that WebGL is the reason for this improvement (it might also be some other 
software complexity related concerns, I realize that I am not comparing the 
same things). I also understand that there is no plan for a development of 
Jsmol WebGL capabilities at the moment. Theoretically speaking, is it 
nonetheless feasible to harness JSmol capabilities to one of these viewers, in 
other words having JSmol doing all the computation while another library is 
doing all the GUI related business ?

-Paul 


------------------------------------------------------------------------------
_______________________________________________
Jmol-users mailing list
Jmol-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-users

Reply via email to