Why jmolTools?
Jsmol and other 3D visualisation tools do a great job visualising 3D structures, but the way they handle the data is based around processing entire 3D structures. However, this approach is not ideal if you want to display only a small part of a very large 3D structure (for example, a ribosome) because in order to do that you have to download an entire 3D structure file.
If you want to superimpose small motifs from two different ribosomal structures the browser will have to download and keep in memory both ribosomes. This approach does not scale well and cannot support fast user interfaces.
JmolTools solves the problem by providing random access to 3D coordinates by taking advantage of the Unit ID standard developed by NDB and the BGSU RNA group.
All you have to do is specify which part of the 3D structure needs to be displayed, and jmolTools will download and display only that specific part of 3D structure.
JmolTools has been used for many years in RNA 3D Hub, a database for RNA 3D structure annotations. For example, have a look at this visualisation of the sarcin-ricin RNA 3D motif.
Features
- 3D coordinates and the 16 Angstrom neighborhood are retrieved using the RNA 3D Hub API
- automatic superimpostion of multiple fragments with the same number of nucleotides (using the phosphate atoms)
- can use checkboxes or radio buttons
- next, previous, show all, stereo buttons
Demo
Select a structure to display
Viewer controls
Who is this for?
- Web developers and bioinformaticians looking to create 3D visualisations without having to host PDB files or superimpose fragments
- Teachers who want to develop interactive teaching material for molecular biology
- Publishers who want to embed 3D molecular visualisations in papers online or in PDFs
Instructions
The structural fragment is specified using the data-coord
html5 attribute. The html element needs to have a class jmolInline
(can be configured in plugin options).
Unit IDs
With Unit IDs you can specify nucleotides one by one.
<input type='checkbox' id='example1' class='jmolInline' data-coord='2QBG|AU|1|B|1262|A|,2QBG|AU|1|B|1263|U|,2QBG|AU|1|B|1264|A|,2QBG|AU|1|B|1265|A|,2QBG|AU|1|B|1266|G|,2QBG|AU|1|B|1267|U|,2QBG|AU|1|B|1268|A|,2QBG|AU|1|B|1269|A|,2QBG|AU|1|B|2011|U|,2QBG|AU|1|B|2012|G|,2QBG|AU|1|B|2013|A|,2QBG|AU|1|B|2014|A|,2QBG|AU|1|B|2015|A|,2QBG|AU|1|B|2016|U|,2QBG|AU|1|B|2017|U|'><label for='example1'>Internal loop</label>
Loop ids
Using loop ids you can retrieve 3D coordinates of internal, hairpin, or 3-way junction loops from RNA 3D structures. Loops ids can be found for any PDB file in RNA 3D Hub, for example, here are all loops in 1S72.
<input type='checkbox' id='example1' class='jmolInline' data-coord='IL_1S72_006'><label for='example1'>Internal loop IL_1S72_006</label>
View IL_1S72_006 in RNA 3D Hub
Motif ids
<input type='checkbox' id='example1' class='jmolInline' data-coord='IL_85647.1'><label for='example1'>Motif IL_85647.1</label>
View IL_85647.1 in RNA 3D Hub
Feedback
Please feel free to submit pull requests or open issues if you have any feedback.