can embed molecular models in Web pages without using Java or
plugins. GLmol is open-source software under dual license of LGPL3 or
There is also Android version; ESmol and NDKmol.
2014/5/26: Electron density viewer (isomesh
and volume rendering) is under
development. See the
New features (dynamic coloring, labeling,
click-to-identify, etc) is also being developed. Please contact me to try beta versions.
Currently GLmol has following features. More is coming...
- Read PDB file
- Read SDF/MOL file (MDL's, not SYBYL's)
- Read XYZ file
- Load local files (File API is used; Safari is not supported)
- Load PDB files directly from RCSB PDB server
- Load SDF files directly from NCBI PubChem server
- Rotate/Translate/Zoom model with mouse (touchpanel support is under development)
- Fog & Slab
- Line (depiction of double/triple bonds is supported for SDF/MOL file)
- Ball and Stick (depiction of double/triple bonds is supported for SDF/MOL file)
- Sphere (van der Waals radius or fixed radius)
- Alpha carbon trace
- Thick ribbon
- Cylinder & Plate
- Tube with radius reflecting B factor
- Combination of above
- Smoothing of Beta sheets
- Special representations for Nucleic acid bases
- Surface calculation and visualization (in development; available in special version)
- van der Waals surface
- Molecular surface
- Solvent accessible surface
- Solvent excluded surface
- By chain
- By secondary structure (when defined in SHEET/HELIX records)
- By Elements
- Gradation (chainbow)
- B factor
- Display unit cell
- Show crystal packing (when defined in REMARK section)
- Display biological assembly (when defined in REMARK section)
- Perspective or Orthographic projection
- Take screenshot
GLmol runs on newer versions of Firefox, Chrome, Safari or
Opera. Safari users have to enable WebGL manually. Internet Explorer
is not supported because IE doesn't implement WebGL. Some old video
cards are blacklisted by browsers due to insufficient
compatibility. You can still force enable WebGL as shown below, but
GLmol might not work.
GLmol runs on Sony Ericsson's Android devices which support
WebGL. Support for Firefox Mobile is currently underway. Reportedly,
GLmol also runs on WebGL enabled safari in iOS
video by Dr. Quinn)
If you see only black screen and you are using
You can try GLmol below.
The previous version of GLmol (0.35) is also available.
You can download GLmol from the following link.
- 0.47(20120827) - Fixed loading SDF files from PubChem
- 0.46(20120725) - Supported XYZ format and deferred instantiation
for interaction with Jmol.js (thanks to Robert Hanson, Jmol
developer), Improved parsing of BIOMT record to show only the last
- 0.44(20120530) - Sphere radius scaling by van der Waals radius,
bug fix in multiple bond rendering, symmetry code
- 0.43(20120518) - Implemented "ball and stick" representation,
Improved multiple bond rendering in "line" and "ball and stick",
Downloader for NCBI PubChem compounds, Improved shader to support old
Intel video chips, Bug fixes.
- 0.40(20120428) - Bug fix in SDF parser and nucleotide
representation, Migrated to Three.js r49 and compacted it (350KB to
200KB), Improved lighting, Improved performance of symmetry operation,
Improved performance of cylinder rendering, Reversed spectrum color,
Implemented of "cylinder&plate", Implemented of ribbon with
thickness, Implemented beta sheet smoothing, C-alpha trace will no be
smoothened now. Unfortunately, some old video cards such as Intel
GMA950 cannot run this version.
- 0.35(20111214) - Bug fix. Supported Xperia phones (Android).
- 0.34(20111211) - Added 'strand' representation, Supported zooming by
mouse wheel, Fixed a bug with textarea in Chrome, Changed codes for
touchpanel support (experimental)
- 0.33(20111210) - Added 'star' representation and 'small sphere'
representation for non-bonded atoms, Added getNonbonded and UI for it,
Added setBackground, Added 'take screenshot' button, Refactored
onResize handler, Supported antialiasing (enabled in Chrome but
disabled in Firefox), Minor fix in loading message, Attached mouse
event handler to renderer, Refactored lighting (doubleSided issues),
Improved slab/fog/zoom adjustments, Fixed ribbon width, Supported
- 0.30(20111130) - Fixed a bug in PDB parser (CONNECT), Fixed a bug
in SDF parser (ignore non-SDF file), Supported viewport size change,
Changed to Tab-based userinterface, Added mouse mode switch for
single-button mouse and touchpanel users, Read PDB file specified in
URL, Removed GLmol.protein.chainname (which was not used at all and
interfered with protein.a/b/c), Supported nucleic acid
representations(ribbon, ladder, stick, line), Improved Zoom, Supported
Fog and Slab, Supported drawing helix as cylinder, Enhanced PDB parser
to reads TITLE and HEADER, Added GLmol.setView and GLmol.getView,
Improved color by chain and color by spectrum to support nucleic
acids, Separated parser and buildScene (WARNING: API changed!), Added
GLmol.zoomInto (EXPERIMENTAL: must be improved), Added color by B
factor, Added tube representation (similar to 'B factor putty/ in
Pymol), Supported drawing double/triple bonds in line representation
(SDF File ONLY), Improved detection of bonds involving deuterium,
Supported reading local files (needs File API)
- 0.25(20111120) - ribbon for nucleic acids, color by chain for
nucleic acids, color by polar/nonpolar, SDF/MOL format support,
upgrade to Three.js r45, bug fix in subdivide, improvement of
detection of bonds involving sulfer or hydrogen atoms, ignoring
alternative locations (ad hoc fix)
- 0.23 - first release
Design principles and Architecture of GLmol describes details of implementation and current limitations.
To learn how to embed GLmol into your page, please examine source code of Example of embedding.
Comments and suggestions are welcome. Please mail to biochem_fan at users.sourceforge.jp or write in the forum.