Difference between revisions of "Journal:Molmil: A molecular viewer for the PDB and beyond"

From LIMSWiki
Jump to navigationJump to search
(Created stub. Saving and adding more.)
 
(Saving and adding more.)
Line 34: Line 34:
In the same half-decade however, web browsers have also made significant advances, particularly with their JavaScript engines. Further advances in the form of CSS3<ref name="W3CCSS">{{cite web |url=https://www.w3.org/TR/CSS/ |title=CSS Snapshot 2015 |author=W3C Working Group |publisher=World Wide Web Consortium |date=13 October 2015 |accessdate=14 March 2016}}</ref> and HTML5<ref name="W3CHTML5">{{cite web |url=https://www.w3.org/TR/html5/ |title=HTML5: A vocabulary and associated APIs for HTML and XHTML |author=W3C Working Group |publisher=World Wide Web Consortium |date=28 October 2014 |accessdate=14 March 2016}}</ref> have made the web an interesting platform for developers. Mobile platforms also offer these advanced web browsers, while some newer mobile platforms such as Mozilla’s Firefox OS<ref name="FF">{{cite web |url=https://www.mozilla.org/en-US/firefox/os/ |title=Firefox OS |publisher=Mozilla |accessdate=14 March 2016}}</ref> and Ubuntu Mobile<ref name="UbuntuPhones">{{cite web |url=http://www.ubuntu.com/phone |title=Ubuntu for Phones |publisher=Canonical Ltd |accessdate=14 March 2016}}</ref> are oriented around HTML5 applications. Since these advanced web browsers are available on a wide range of platforms, it seems to be the perfect platform to develop a molecular viewer for.
In the same half-decade however, web browsers have also made significant advances, particularly with their JavaScript engines. Further advances in the form of CSS3<ref name="W3CCSS">{{cite web |url=https://www.w3.org/TR/CSS/ |title=CSS Snapshot 2015 |author=W3C Working Group |publisher=World Wide Web Consortium |date=13 October 2015 |accessdate=14 March 2016}}</ref> and HTML5<ref name="W3CHTML5">{{cite web |url=https://www.w3.org/TR/html5/ |title=HTML5: A vocabulary and associated APIs for HTML and XHTML |author=W3C Working Group |publisher=World Wide Web Consortium |date=28 October 2014 |accessdate=14 March 2016}}</ref> have made the web an interesting platform for developers. Mobile platforms also offer these advanced web browsers, while some newer mobile platforms such as Mozilla’s Firefox OS<ref name="FF">{{cite web |url=https://www.mozilla.org/en-US/firefox/os/ |title=Firefox OS |publisher=Mozilla |accessdate=14 March 2016}}</ref> and Ubuntu Mobile<ref name="UbuntuPhones">{{cite web |url=http://www.ubuntu.com/phone |title=Ubuntu for Phones |publisher=Canonical Ltd |accessdate=14 March 2016}}</ref> are oriented around HTML5 applications. Since these advanced web browsers are available on a wide range of platforms, it seems to be the perfect platform to develop a molecular viewer for.


One of the earliest attempts to switch to a Java independent molecular web viewer was done by the developers of the popular molecular viewer Jmol who developed an alternate molecular viewer named JSmol<ref name="HansonJSmol13">{{cite journal |title=JSmol and the Next-Generation Web-Based Representation of 3D Molecular Structure as Applied to ''Proteopedia'' |journal=Israel Journal of Chemistry |author=Hanson, R.M.; Prilusky, J.; Renjian, Z. et al. |volume=53 |issue=3-4 |pages=207–216 |year=2013 |doi=10.1002/ijch.201300024}}</ref> to run directly within the web browser. They simply used a program known as java2script to convert Jmol’s Java code into JavaScript. JSmol however runs noticeably slower compared to Jmol for relatively small protein structures and quickly becomes unusable for larger structures. Desktop applications such as Chimera<ref name="PettersenUCSF04">{{cite journal |title=UCSF Chimera—A visualization system for exploratory research and analysis |journal=Journal of Computational Chemistry |author=Pettersen, E.F.; Goddard, T.D.; Huang, C.C. et al. |volume=25 |issue=13 |pages=1605–1612 |year=2004 |doi=10.1002/jcc.20084 |pmid=15264254}}</ref>, VMD<ref name="HumphreyVMD96">{{cite journal |title=VMD: Visual molecular dynamics |journal=Journal of Molecular Graphics |author=Humphrey, W.; Dalke, A.; Schulten, K. |volume=14 |issue=1 |pages=33–38 |year=1996 |doi=10.1016/0263-7855(96)00018-5 |pmid=8744570}}</ref>, PyMol<ref name="PyMOL">{{cite web |url=https://www.pymol.org/ |title=The PyMOL molecular graphics system, version 1.3r1 |author=Schrödinger, L. |date=2010}}</ref> and Yasara<ref name="KriegerYASARA14">{{cite journal |title=YASARA View - Molecular graphics for all devices, from smartphones to workstations |journal=Bioinformatics |author=Krieger, E.; Vriend, G. |volume=30 |issue=20 |pages=2981-2 |year=2014 |doi=10.1093/bioinformatics/btu426 |pmid=24996895 |pmc=PMC4184264}}</ref> make use of GPU based hardware acceleration using OpenGL.<ref name="OpenGL">{{cite web |url=https://www.opengl.org/ |title=OpenGL — The industry standard for high performance graphics |publisher=Khronos Group |accessdate=14 March 2016}}</ref> By making use of OpenGL, one can leverage the immense power of GPUs to accelerate these molecular viewers. GPUs have traditionally been designed for this purpose; i.e. to accelerate the generation of 3D images, but more recently GPUs have also been re-purposed for general purpose calculations in e.g. Molecular Dynamics [13, 14]. So wouldn’t it be great if this power were somehow also available inside web browsers?
One of the earliest attempts to switch to a Java independent molecular web viewer was done by the developers of the popular molecular viewer Jmol who developed an alternate molecular viewer named JSmol<ref name="HansonJSmol13">{{cite journal |title=JSmol and the Next-Generation Web-Based Representation of 3D Molecular Structure as Applied to ''Proteopedia'' |journal=Israel Journal of Chemistry |author=Hanson, R.M.; Prilusky, J.; Renjian, Z. et al. |volume=53 |issue=3-4 |pages=207–216 |year=2013 |doi=10.1002/ijch.201300024}}</ref> to run directly within the web browser. They simply used a program known as java2script to convert Jmol’s Java code into JavaScript. JSmol however runs noticeably slower compared to Jmol for relatively small protein structures and quickly becomes unusable for larger structures. Desktop applications such as Chimera<ref name="PettersenUCSF04">{{cite journal |title=UCSF Chimera—A visualization system for exploratory research and analysis |journal=Journal of Computational Chemistry |author=Pettersen, E.F.; Goddard, T.D.; Huang, C.C. et al. |volume=25 |issue=13 |pages=1605–1612 |year=2004 |doi=10.1002/jcc.20084 |pmid=15264254}}</ref>, VMD<ref name="HumphreyVMD96">{{cite journal |title=VMD: Visual molecular dynamics |journal=Journal of Molecular Graphics |author=Humphrey, W.; Dalke, A.; Schulten, K. |volume=14 |issue=1 |pages=33–38 |year=1996 |doi=10.1016/0263-7855(96)00018-5 |pmid=8744570}}</ref>, PyMol<ref name="PyMOL">{{cite web |url=https://www.pymol.org/ |title=The PyMOL molecular graphics system, version 1.3r1 |author=Schrödinger, L. |date=2010}}</ref> and Yasara<ref name="KriegerYASARA14">{{cite journal |title=YASARA View - Molecular graphics for all devices, from smartphones to workstations |journal=Bioinformatics |author=Krieger, E.; Vriend, G. |volume=30 |issue=20 |pages=2981-2 |year=2014 |doi=10.1093/bioinformatics/btu426 |pmid=24996895 |pmc=PMC4184264}}</ref> make use of GPU based hardware acceleration using OpenGL.<ref name="OpenGL">{{cite web |url=https://www.opengl.org/ |title=OpenGL — The industry standard for high performance graphics |publisher=Khronos Group |accessdate=14 March 2016}}</ref> By making use of OpenGL, one can leverage the immense power of GPUs to accelerate these molecular viewers. GPUs have traditionally been designed for this purpose; i.e. to accelerate the generation of 3D images, but more recently GPUs have also been re-purposed for general purpose calculations in e.g. molecular dynamics.<ref name="AbrahamGROMACS15">{{cite journal |title=GROMACS: High performance molecular simulations through multi-level parallelism from laptops to supercomputers |journal=SoftwareX |author=Abraham, M.J.; Murtola, T.; Schulz, R. et al. |volume=1–2 |pages=19–25 |year=2015 |doi=10.1016/j.softx.2015.06.001}}</ref><ref name="MashimoMolec13">{{cite journal |title=Molecular dynamics simulations accelerated by GPU for biological macromolecules with a non-Ewald scheme for electrostatic interactions |journal=Journal of Chemical Theory and Computation |author=Mashimo, T.; Fukunishi, Y.; Kamiya, N. et al. |volume=9 |issue=12 |pages=5599–5609 |year=2013 |doi=10.1021/ct400342e}}</ref> So wouldn’t it be great if this power were somehow also available inside web browsers?
 
Enter WebGL. WebGL was developed by Khronos<ref name="KhronosWebGL">{{cite web |url=https://www.khronos.org/webgl/ |title=OpenGL ES 2.0 for the Web |publisher=Khronos Group |accessdate=14 December 2015}}</ref> to allow JavaScript applications running in the web browser to take advantage of OpenGL ES 2.0<ref name="KhronosWebGLES2X">{{cite web |url=https://www.khronos.org/opengles/2_X/ |title=OpenGL ES 2.x: The Standard for Embedded Accelerated 3D Graphics |publisher=Khronos Group |accessdate=14 March 2016}}</ref> compatible GPUs which had been specifically designed for mobile devices. While WebGL has been available for several years in Chrome<ref name="Chrome">{{cite web |url=https://www.google.com/chrome/ |title=Chrome Web Browser |publisher=Google |accessdate=14 March 2016}}</ref> and Firefox<ref name="FFoxBrowser">{{cite web |url=http://www.mozilla.org/en-US/firefox/new/ |title=Firefox |publisher=Mozilla |accessdate=14 March 2016}}</ref>, WebGL support was only recently added to Microsoft’s Internet Explorer and Apple’s Safari, including iOS. We have developed a new web-based molecular viewer, Molmil, which can take advantage of GPU hardware acceleration using WebGL. It runs on a wide range of platforms such as Windows, Linux, Mac OSX, Android and iOS. Finally, we have embedded Molmil within various services offered by Protein Data Bank Japan<ref name="Kinoshita_eF-site03" /><ref name="PDBJ">{{cite web |url=http://pdbj.org/ |title=Protein Data Bank Japan |publisher=Protein Data Bank Japan |accessdate=14 March 2016}}</ref><ref name="WakoNormal13">{{cite journal |title=Normal mode analysis based on an elastic network model for biomolecules in the Protein Data Bank, which uses dihedral angles as independent variables |journal=Computational Biology and Chemistry |author=Wako, H.; Endo, S. |volume=44 |pages=22-30 |year=2013 |doi=10.1016/j.compbiolchem.2013.02.006 |pmid=23537565}}</ref><ref name="KinjoProt12">{{cite journal |title=Protein Data Bank Japan (PDBj): Maintaining a structural data archive and resource description framework format |journal=Nucleic Acids Research |author=Kinjo, A.R.; Suzuki, H.; Yamashita, R. et al. |volume=40 |issue=D1 |pages=D453-60 |year=2012 |doi=10.1093/nar/gkr811 |pmid=21976737 |pmc=PMC3245181}}</ref> to demonstrate its capabilities.


==References==
==References==

Revision as of 21:45, 3 October 2016

Full article title Molmil: A molecular viewer for the PDB and beyond
Journal Journal of Cheminformatics
Author(s) Bekker, G.J.; Nakamura, H.; Kinjo, A.R.
Author affiliation(s) Osaka University
Primary contact Email: gertjan dot bekker at protein dot osaka-u dot ac dot jp
Year published 2016
Volume and issue 8 (1)
Page(s) 42
DOI 10.1186/s13321-016-0155-1
ISSN 1758-2946
Distribution license Creative Commons Attribution 4.0 International
Website http://jcheminf.springeropen.com/articles/10.1186/s13321-016-0155-1
Download http://jcheminf.springeropen.com/track/pdf/10.1186/s13321-016-0155-1 (PDF)

Abstract

We have developed a new platform-independent web-based molecular viewer using JavaScript and WebGL. The molecular viewer, Molmil, has been integrated into several services offered by Protein Data Bank Japan and can be easily extended with new functionality by third-party developers. Furthermore, the viewer can be used to load files in various formats from the user’s local hard drive without uploading the data to a server. Molmil is available for all platforms supporting WebGL (e.g. Windows, Linux, iOS, Android) from http://gjbekker.github.io/molmil/. The source code is available at http://github.com/gjbekker/molmil under the LGPLv3 license.

Keywords: WebGL, protein structure visualization, molecular dynamics

Background

Molecular viewers are a vital tool for our understanding of protein structures and functions. The shift from regular desktop platforms such as Windows, Mac OSX and Linux to mobile platforms such as iOS and Android in the last half-decade, however, prevents traditional online molecular viewers such as PDBj’s previously developed jV[1] and the popular Jmol[2] from running on these new platforms as these platforms do not support Java Applets. For mobile platforms a native application (i.e. an application specifically designed and optimized for each of these platforms) can be created and distributed via their respective application stores. However, with new platforms on the horizon, or already available, in addition to the already established desktop platforms, it would be a tedious and inefficient job to make a molecular viewer available on all platforms, current and future.

In the same half-decade however, web browsers have also made significant advances, particularly with their JavaScript engines. Further advances in the form of CSS3[3] and HTML5[4] have made the web an interesting platform for developers. Mobile platforms also offer these advanced web browsers, while some newer mobile platforms such as Mozilla’s Firefox OS[5] and Ubuntu Mobile[6] are oriented around HTML5 applications. Since these advanced web browsers are available on a wide range of platforms, it seems to be the perfect platform to develop a molecular viewer for.

One of the earliest attempts to switch to a Java independent molecular web viewer was done by the developers of the popular molecular viewer Jmol who developed an alternate molecular viewer named JSmol[7] to run directly within the web browser. They simply used a program known as java2script to convert Jmol’s Java code into JavaScript. JSmol however runs noticeably slower compared to Jmol for relatively small protein structures and quickly becomes unusable for larger structures. Desktop applications such as Chimera[8], VMD[9], PyMol[10] and Yasara[11] make use of GPU based hardware acceleration using OpenGL.[12] By making use of OpenGL, one can leverage the immense power of GPUs to accelerate these molecular viewers. GPUs have traditionally been designed for this purpose; i.e. to accelerate the generation of 3D images, but more recently GPUs have also been re-purposed for general purpose calculations in e.g. molecular dynamics.[13][14] So wouldn’t it be great if this power were somehow also available inside web browsers?

Enter WebGL. WebGL was developed by Khronos[15] to allow JavaScript applications running in the web browser to take advantage of OpenGL ES 2.0[16] compatible GPUs which had been specifically designed for mobile devices. While WebGL has been available for several years in Chrome[17] and Firefox[18], WebGL support was only recently added to Microsoft’s Internet Explorer and Apple’s Safari, including iOS. We have developed a new web-based molecular viewer, Molmil, which can take advantage of GPU hardware acceleration using WebGL. It runs on a wide range of platforms such as Windows, Linux, Mac OSX, Android and iOS. Finally, we have embedded Molmil within various services offered by Protein Data Bank Japan[1][19][20][21] to demonstrate its capabilities.

References

  1. 1.0 1.1 Kinoshita, K.; Nakamura, H. (2003). "eF-site and PDBjViewer: database and viewer for protein functional sites". Bioinformatics 20 (8): 1329-1330. doi:10.1093/bioinformatics/bth073. PMID 14871866. 
  2. Hanson, R.M. (2010). "Jmol - A paradigm shift in crystallographic visualization". Journal of Applied Crystallography 43 (5): 1250-1260. doi:10.1107/S0021889810030256. 
  3. W3C Working Group (13 October 2015). "CSS Snapshot 2015". World Wide Web Consortium. https://www.w3.org/TR/CSS/. Retrieved 14 March 2016. 
  4. W3C Working Group (28 October 2014). "HTML5: A vocabulary and associated APIs for HTML and XHTML". World Wide Web Consortium. https://www.w3.org/TR/html5/. Retrieved 14 March 2016. 
  5. "Firefox OS". Mozilla. https://www.mozilla.org/en-US/firefox/os/. Retrieved 14 March 2016. 
  6. "Ubuntu for Phones". Canonical Ltd. http://www.ubuntu.com/phone. Retrieved 14 March 2016. 
  7. Hanson, R.M.; Prilusky, J.; Renjian, Z. et al. (2013). "JSmol and the Next-Generation Web-Based Representation of 3D Molecular Structure as Applied to Proteopedia". Israel Journal of Chemistry 53 (3-4): 207–216. doi:10.1002/ijch.201300024. 
  8. Pettersen, E.F.; Goddard, T.D.; Huang, C.C. et al. (2004). "UCSF Chimera—A visualization system for exploratory research and analysis". Journal of Computational Chemistry 25 (13): 1605–1612. doi:10.1002/jcc.20084. PMID 15264254. 
  9. Humphrey, W.; Dalke, A.; Schulten, K. (1996). "VMD: Visual molecular dynamics". Journal of Molecular Graphics 14 (1): 33–38. doi:10.1016/0263-7855(96)00018-5. PMID 8744570. 
  10. Schrödinger, L. (2010). "The PyMOL molecular graphics system, version 1.3r1". https://www.pymol.org/. 
  11. Krieger, E.; Vriend, G. (2014). "YASARA View - Molecular graphics for all devices, from smartphones to workstations". Bioinformatics 30 (20): 2981-2. doi:10.1093/bioinformatics/btu426. PMC PMC4184264. PMID 24996895. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4184264. 
  12. "OpenGL — The industry standard for high performance graphics". Khronos Group. https://www.opengl.org/. Retrieved 14 March 2016. 
  13. Abraham, M.J.; Murtola, T.; Schulz, R. et al. (2015). "GROMACS: High performance molecular simulations through multi-level parallelism from laptops to supercomputers". SoftwareX 1–2: 19–25. doi:10.1016/j.softx.2015.06.001. 
  14. Mashimo, T.; Fukunishi, Y.; Kamiya, N. et al. (2013). "Molecular dynamics simulations accelerated by GPU for biological macromolecules with a non-Ewald scheme for electrostatic interactions". Journal of Chemical Theory and Computation 9 (12): 5599–5609. doi:10.1021/ct400342e. 
  15. "OpenGL ES 2.0 for the Web". Khronos Group. https://www.khronos.org/webgl/. Retrieved 14 December 2015. 
  16. "OpenGL ES 2.x: The Standard for Embedded Accelerated 3D Graphics". Khronos Group. https://www.khronos.org/opengles/2_X/. Retrieved 14 March 2016. 
  17. "Chrome Web Browser". Google. https://www.google.com/chrome/. Retrieved 14 March 2016. 
  18. "Firefox". Mozilla. http://www.mozilla.org/en-US/firefox/new/. Retrieved 14 March 2016. 
  19. "Protein Data Bank Japan". Protein Data Bank Japan. http://pdbj.org/. Retrieved 14 March 2016. 
  20. Wako, H.; Endo, S. (2013). "Normal mode analysis based on an elastic network model for biomolecules in the Protein Data Bank, which uses dihedral angles as independent variables". Computational Biology and Chemistry 44: 22-30. doi:10.1016/j.compbiolchem.2013.02.006. PMID 23537565. 
  21. Kinjo, A.R.; Suzuki, H.; Yamashita, R. et al. (2012). "Protein Data Bank Japan (PDBj): Maintaining a structural data archive and resource description framework format". Nucleic Acids Research 40 (D1): D453-60. doi:10.1093/nar/gkr811. PMC PMC3245181. PMID 21976737. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3245181. 

Notes

This presentation is faithful to the original, with only a few minor changes to presentation. In some cases important information was missing from the references, and that information was added.