We are happy to launch ChemDoodle Web Components 7. This is a major update to the ChemDoodle Web Components with new additions to the 3D features, most notably Pipe and Plank models for proteins and support for high DPI displays, such as the Apple Retina display. Also included are new iChemLabs cloud services and the introduction of our query system to the sketcher and API. Please note there are some API changes to how unit cells are handled from CIF files and other minor changes to visual specifications.

The following pages show off some of the new features:

Also check out the 3D demos on your mobile device to see the high DPI support in action!


  1. Added Pipe and Plank models for proteins.
  2. High DPI support is now provided for WebGL based ChemDoodle Web Components on high DPI devices, like the Apple Retina display. High DPI support for the 2D components is already provided.
  3. Queries for atoms and bonds can now be defined in the SketcherCanvas. In the SketcherCanvas constructor, you will have to send in a true value to the includeQuery parameter.
  4. Added new iChemLabs cloud service: iChemLabs.getSimilarityMeasure(). This function takes two input molecule and returns a similarity measure based on the proprietary iChemLabs path fingerprint and the Dice similarity coefficient.
  5. Added new iChemLabs cloud service: iChemLabs.isSupergraphIsomorphism(). This function works in the reverse of the iChemLabs.isSubgraphIsomorphism() function.
  6. iChemLabs.isGraphIsomorphism(), iChemLabs.isSubgraphIsomorphism() and iChemLabs.isSupergraphIsomorphism() will all take query structures as arrows. You can now check for advanced structure features, such as stereochemistry and attributes like charge.
  7. The JCAMPIntpereter class will now read in molecule data if presented.
  8. The JCAMPIntpereter class will now read in structure-peak correlation data if presented.
  9. A new JCAMPInterpeter.makeStructureSpectrumSet() function is provided to build canvases that show off structure/spectrum correlations.
  10. Unit cells in 3D scenes are now explicit shapes instead of a property of the input molecule. They conform to the shape visual specifications, and the crystallography visual specifications have been removed. They can now be stored and transfered through ChemDoodle JSON.
  11. The shapes_lineWidth_2D visual specification has been renamed to shapes_lineWidth and now affects shapes in both 2D and 3D.
  12. The HydrogenDeducer.removeHydrogens() function now takes an additional parameter: removeStereo. If removeStereo is not set to true, then hydrogens connected with wedge bonds are retained.


  1. The EXP and EXP2 algorithms for 3D fogging have been fixed and now work correctly.
  2. Measurements in 3D now adhere to the shapes_lineWidth specification.
  3. Atoms in 3D renderings now will render the altLabel correctly if it is set for the atom and labels are showing.
  4. Atom rgroup and any parameters have been removed. They have been superseded by the new Query objects.
  5. Fixed discrepancy where bondLength_2D specification was not correctly named in the VisualSpecification instances, mostly affecting the sketcher.
  6. Fixed JCAMPInterpeter issue where comment lines could cause parsing problems.
  7. Fixed spectrum rendering issue where segments of the spectrum could be drawn outside of the graph view.
  8. Fixed spectrum rendering error when no segments were visible.
  9. Spectrum axis tick marks are now capped correctly to look best.
  10. Fixed crash where WebGL views would corrupt with more than 2 touches down on Android devices.
  11. 3D ChemDoodle Web Components now resize correctly.
  12. Fixed problem where rotation gestures were throwing errors on some mobile devices.
  13. Fixed minor syntax and textual issues.