Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ACS 248th Paper 136 JSmol/JSpecView Eureka Integration


Published on

Integration of the combined JSmol/JSpecView molecular viewer/spectral viewer software in the Eureka Research Workbench. Can display molecular structures, spectra and the linked version where clicking on a peak shows molecular movement (IR).

Published in: Science
  • Be the first to comment

  • Be the first to like this

ACS 248th Paper 136 JSmol/JSpecView Eureka Integration

  1. 1. Integrating Jmol/JSpecView into the Eureka Research Workbench Israel Hurst, Matthew Morse, and Stuart J. Chalk Department of Chemistry University of North Florida 2014 Fall ACS Meeting
  2. 2. Outline  Motivation  What is Eureka?  What is JSmol?  What is JSpecView?  Integrating Jsmol into Eureka  Using JSpecView  Using JCAMP-MOL files  Generating JCAMP-MOL files  Future Plans  Conclusion
  3. 3. Motivation  All Electronic Laboratory Notebooks need to display  Molecular structures  Instrument Data  Jmol (a Java Applet) has be the standard, open source molecular viewer for the last 20 years  Jmol now incorporates JSpecView (also Java)  Jsmol is the javascript version of Jmol -> HTML 5
  4. 4. Electronic Notebooks  Scientists need to move to digital notebooks…  ...and record not just the data but the flow and context  How science is done is important for searching, aggregation, meta-analysis  We need more than an electronic version of a notebook  We need a science version of “Second Life” (SciLife?)
  5. 5. Eureka Research Workbench (ERW)  Started in 2006 after getting involved in the Analytical Information Markup Language (AnIML) project  Store all research notes/data in a digital format  Capture the workflow of scientists  Writing in a lab notebook is equivalent to “multi-type” blogging in the digital world  How to capture information? Many data types! (ExptML)  How to store files “online”? (Fedora-Commons)  How to access files in the browser? (CakePHP)  How to represent laboratory resources? (ExptML)  How to link data together? RDF (in Fedora-Commons)
  6. 6. Experiment Markup Language (ExptML)  A specification (written in XML) that describes different types of information recorded during the scientific process (  Sample  Solution  Space  Specimen  Substance  Task  Template  Timeline  User  Vendor  Annotation  Api  Calculation  Chemical  Citation  Customer  Data  Dataset  Definition  Element  Equipment  Event  Experiment  Group  Message  Project  Protocol  Quote  Report  Result
  7. 7. What is Jmol?  Java application, applet and viewer for chemical structures in 3D (  Developer Dr. Robert Hansen (+ many others)  Open source, cross platform since 2001  Display of over 30 chemical structure formats  Animations, vibrations, surfaces, orbitals  Support for unit cell and symmetry operations  Measurements – distance, angle, torsion angle  Support for RasMol/Chime scripting language  JavaScript support library (Jmol.js)  Exports to jpg, png, gif, ppm, pdf, …
  8. 8. What is JSpecView?  Java based application and applet (for web viewing)  Developer Dr. Robert Lancashire  Licensed version 2001, open source since 2006  Display/print JCAMP-DX, AnIML, and CMLspec files  Highlighting, zooming, coordinate data  Absorbance/Transmittance conversion (UV/Vis and IR)  Predict the colour of a Visible spectrum  Integrate H NMR spectra  Java scripting and Live Connect support  Export JCAMP-DX, AnIML, CML, JPG, PNG or SVG
  9. 9. Integrating Jsmol into Eureka  Eureka is built using the CakePHP framework  CakePHP uses the Model-View-Controller software architecture paradigm  Model – interaction with database/datasource  View – display of web page  Controller – logic to take data from model to view  Jsmol best implemented as a plugin  Jsmol has ‘datasource’ – file that is to be displayed
  10. 10. CakePHP MVC  Views are made up of base code and ‘elements’  Elements are reusable code snippets that can be displayed on any page  For optimum functionality display Jsmol via an element
  11. 11. Jsmol CakePHP Plugin  Architecture of plugin the same as the main CakePHP application  Issues to overcome  Jsmol likes files in a certain location relative to the main javascript file (Jsmol.min.js)  CakePHP does not allow access to non-PHP files in folders containing view files  How to integrate?
  12. 12. Jsmol CakePHP Plugin  Convoluted scheme finally allowed integration  File in plugin ‘webroot’ folder contains Jsmol code  This file is called by view file via an iframe  Display parameters are sent via GET variables on iframe URL and retrieved by javascript  Element file uses CakePHP ‘requestAction’ function to display view file code  echo $this->element('Jmol.molecule’,array(…));
  13. 13. Future Plans  Add more GUI options to control look and feel of JSmol  Add ability to link spectral features to molecule  Add other molecular and spectral viewers to Eureka so users can customize the interface
  14. 14. Conclusion  Building out Eureka with ‘plugin’ features is a great way to enhance the usefulness of the system  Providing a tutorial on how to build functionality into Eureka will encourage users to add what they need for their research  Move Eureka code development to GitHub 
  15. 15. Questions?   Phone: 904-620-5311  Skype: stuartchalk  LinkedIn/Slidehare:  ORCID:  ResearcherID: