ChemDoodle Web Components version 4.1 has been released. Contact us for custom development, integration and support to take advantage of this technology for your business.

In addition to the update, 2 new powerful demos are provided:

  1. Simulate NMR and MS – Draw a structure in an HTML5 and then see 1H and 13C NMR spectra, as well as the mass parent peak (isotopic distribution), simulated in other interactive HTML5 s that display the spectra.
  2. 2D to 3D Coordinates – Draw your structure in a 2D HTML5 and have 3D coordinates generated and displayed in a WebGL .

Executive Summary

This update brings significant improvements to the Spectrum canvas. Interpretation of JCAMP files has been perfected. Additionally, interfacing with iChemLabs services is now much cleaner, with proper warning messages when XHR2 is not supported. XHR2 support for Firefox 3 is now provided, so iChemLabs services now work in all browsers except Opera.


  1. Added new iChemLabs services functions, simulate1HNMR(), simulate13CNMR() and simulateMassParentPeak(), to simulate various spectroscopic methods in Javascript.
  2. The JCAMPInterpreter class now has a boolean parameter, convertHZ2PPm, which, when true, will automatically convert spectra in HZ to PPM when read.
  3. Added a new gesture to the PerspectiveCanvas, shift+drag, which slides the spectrum.
  4. Added a new option to the Spectrum class which allows for autoscaling the y-axis when zoomed in.
  5. Added a new Spectrum function, alertMetadata(), which will pop up an alert displaying the header information of the corresponding JCAMP file.
  6. Added new functionality to the Spectrum class, to render spectrum metadata at the top left corner of its plot. This list display is completely customizable.
  7. Integrations now ignore any y-values less that 1% of the maximum y-value in the spectrum. This parameter is tunable.
  8. Setting an unsymmetrical bond (wedge, double in ring) bond type twice in the SketcherCanvas will flip the bond.
  9. An error message is now displayed when contacting iChemLabs services and XHR2 is not supported.
  10. Added iChemLabs services support to Firefox 3; now iChemLabs services are supported in all recent browsers, except Opera.
  11. The ChemDoodle.featureDetection.supports_xhr2() function is now local and no longer requires iChemLabs services.
  12. The ChemDoodle Web Components qUnit testing suite is now provided in the download.
  13. Updated jQuery to version 1.5.


  1. The spectrum y-axis now scales in place.
  2. Fixed issue where the JCAMPInterpreter was rounding peak table values.
  3. Integration lines now remain static when the y-axis is scaled.
  4. Fixed issue where performance would degrade when zooming in on a spectrum.
  5. Fixed bug where a crash would occur when zooming in close on an integration line.
  6. Spectrum x-axis ticks are now more sensitive for better display of information.
  7. Fixed issue where the JCAMPInterpreter class was incorrectly handling x-sequence checks.
  8. JCAMPInterpreter now correctly handles y-value checks.
  9. JCAMPInterpreter now reads in JCAMP peak tables that are missing semicolon delimiters.
  10. The help button in the SketcherCanvas component is now clickable regardless of the current Canvas scale.
  11. Implicit hydrogen counts are now properly accounted for based on charge and valence.
  12. Fixed bug where setting the same bond multiple times caused multiple actions to be pushed to the history stack in the SketcherCanvas.
  13. Fixed bug where the multiplier to the ChemDoodle.readPDB() shortcut was being ignored.
  14. Scrolling sensitivity is increased by a factor of 10 to account for upcomming browser changes.
  15. Minor improvements to the WebGL rendering code.
  16. Removed dead code.
  17. Added semicolons after local function objects to avoid possible issues in the future.