Macs in Chemistry

Insanely great science

A Review of ChemDraw 17

ChemDraw is a very established chemical drawing package that probably sets the standard for publication quality chemical drawing. However, on the Mac platform in particular I think it is true to say Cambridgesoft have taken their eye off the ball and released versions that were not up to their usual standard.

ChemDraw 17 is in someways a fresh beginning, it is rewrite using a underlying codebase that is common to all platforms but then building on top of that to give a proper Mac look and feel (essentially porting the application over to the Cocoa development framework).

There now 4 different versions

ChemDraw Prime is the complete entry-level structure drawing program, with all the tools you need to quickly create chemically intelligent, publication-ready chemical structures and reactions, laboratory notes and experiment write-ups. Beyond a full set of chemical structure essentials (e.g. rings, bonds, chains, atoms and functional groups), ChemDraw Prime includes property calculators, chemical and lab equipment templates and handy TLC and Gel Electrophoresis Plate drawing tools.

ChemDraw Professional takes chemical drawing to the next level, with all the features in ChemDraw Prime plus: access to ChemDraw Cloud, biopolymer tools, BioDraw, NMR prediction, advanced Name to Structure, enhanced retrosynthesis tool, and even integration with chemical databases like including SciFinder®. ChemDraw Professional also enables structure data exploration supports organization and processing with ChemDraw for Excel, ChemFinder Standard, ChemScript and ChemDraw 3D.

ChemOffice Professional is the most robust, scientifically intelligent research productivity suite in the world. It builds on the foundations of ChemDraw Prime and Professional, and adds access to powerful tools like ChemDraw Cloud, ChemDraw E-Notebook, Chem3D and ChemFinder Ultra and 3rd party interacts - helping chemists and biologists alike efficiently keep track of their work, visualize and gain a deeper understanding of their results.

ChemDraw Direct modularized ChemDraw functionality for the web! Built on the latest in JavaScript and HTML5, ChemDraw Direct can be plugged into web browsers and internal applications that need to be chemicalized. Inside its lightweight packages, ChemDraw direct carries the core functionality of the ChemDraw family including: your favorite drawing capabilities, advanced Name to Structure, Structure to Name, Hotkeys/Shortcuts, Structure Templates and Structure Query Tools

As far as I can tell most of the extra tools in ChemOffice are mainly PC only, as are ChemFinder, ChemDraw for Excel, ChemDraw 3D and the interface to MOPAC, GAMMES etc.

Sadly the ability to script ChemDraw using Python is apparently Windows only which is a real shame. There is a comprehensive comparison available online

ChemDraw Direct is an interesting addition, it is presumably intended to replace the ChemDraw plugins and the mobile apps that were recently withdrawn. I hope to have a look at that later.

ChemDraw 17

Opening ChemDraw reveals a now familiar layout, it perhaps looks a little dated now but it has been honed over the years to afford a very efficient chemical drawing environment. However you will be delighted to know that it now supports high resolution displays


The first thing I noticed was that clicking on the "Help" brought up a blank Safari window, a check on the page source revealed a series of errors

SecurityError (DOM Exception 18): Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.

It seems that Safari security is preventing display, I cut and pasted the URL into Google Chrome and the Help was displayed as expected.

Round trip Editing

Over the years this has been one of the features that has proved to be frequently broken during updates, i.e. the ability to copy and paste from a chemical drawing package into Word for example and then be able to copy and paste the structure back from Word into the chemical drawing application and then be able to edit the chemical structure. To give a little historical context

When copying a structure in ChemDraw 12.0.1 and below, the ChemDraw application would put a PICT of the image on the clipboard. We embedded chemical information into the PICT image, so that when that PICT image was transferred back into ChemDraw, the ChemDraw application would be able to interpret the picture as a chemically meaningful object that could be edited by ChemDraw. Due to continued modernizations in the Mac OS, newer applications are no longer supporting the PICT format on the clipboard. In newer applications, the use of PDFs to transfer copied images is now what is expected. This is why round trip editing between ChemDraw 12.0.1 and below and MS Office 2008 applications as well as iWorks applications ceased to work.

With every update to either MacOSX, ChemDraw or Microsoft Office there always the risk that something will break.

I've tested Office 365 (Word and Powerpoint) and I'm delighted to report that round-trip editing works as expected, similarly pasting into a FileMaker container field and then copy back into ChemDraw 17 works perfectly. Unfortunately pasting into Pages or Keynote results in the pasted object (PDF) losing all the associated chemical information and copying it back into ChemDraw only gives an image that can no longer be edited.

Support for HELM

Hierarchical Editing Language for Macromolecules (HELM) is a method of describing complex biological molecules. and first developed by Pfizer in 2008 DOI.

When biological macromolecules are used as therapeutic agents, it is often necessary to introduce non-natural chemical modifications to improve their pharmaceutical properties. The final products are complex structures where entities such as proteins, peptides, oligonucleotides, and small molecule drugs may be covalently linked to each other, or may include chemically modified biological moieties. An accurate in silico representation of these complex structures is essential, as it forms the basis for their electronic registration, storage, analysis, and visualization. The size of these molecules (henceforth referred to as “biomolecules”) often makes them too unwieldy and impractical to represent at the atomic level, while the presence of non-natural chemical modifications makes it impossible to represent them by sequence alone.

A more detailed description can be found here.


The various components are freely available on Github

ChemDraw 17 Professional now features support for HELM notation and users can:

If we take a HELM string,


In ChemDraw choose "Paste Special" and then "HELM"

The HELM string is pasted as a sequence.


We can check that this is a chemically aware sequence by right-clicking on one of the residues and selecting "Expand Label", this will reveal the entire amino acid side-chain.


You can do the reverse by selecting the structure and then choosing "Copy As:HELM". However you should note, don't remove the residue label underneath the expanded structure, doing so will prevent you from returning from the expanded to the condensed representation and is also like to corrupt the "Copy As:HELM".

This all works because behind the scenes there is a database defining the monomers that are used, to see the monomers already defined choose " View>Show HELM Monomer Toolbar"


A: Polymer Type; B: Replace Current Monomer; C: Data source type; D: Open Monomer Editor; E: Spotlight search; F: Monomer Filter buttons

This panel provides a very efficient means to construct or edit large biomolecules, for amino acid and nucleic acids most of the monomer names are pretty obvious, however when you get to CHEM the short acronyms are not always obvious and it might be a nice addition to provide the option to display thumbnail image in a side panel similar to that used in the monomer editor.


It is also possible to create your own custom monomers by clicking on the "Open Monomer Editor".


To create a custom monomer:-

However I assume that if you create custom monomers you will have to share your "database" together with any documents you have created that contain custom monomers, and of course there is always the risk that someone else will have used the same acronym? If you give someone a ChemDraw file it will transfer both the symbol and the underlying structure and should help resolve if there are conflicts, but this isn’t the case if you just transfer HELM strings on their own. HELM has the potential to be extremely useful but without a universal, curated database of monomers there is always the potential for errors creeping in.

The monomers are stored in json format which should help integration with other software.

        "id": "445",
        "name": "Glycine",
        "naturalAnalog": "G",
        "polymerType": "PEPTIDE",
        "monomerType": "Backbone",
        "version": "1.0",
        "createdDate": "02-Jun-2017 01:57:02",
        "cdxml": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?><!DOCTYPE CDXML SYSTEM \"http:\/\/\/xml\/cdxml.dtd\" ><CDXML BondLength=\"30\"><colortable><color r=\"1\" g=\"1\" b=\"1\"\/><color r=\"0\" g=\"0\" b=\"0\"\/><\/colortable><page><fragment id=\"1\"><n id=\"2\" p=\"0 24.38\" Z=\"1\" NodeType=\"ExternalConnectionPoint\" ExternalConnectionType=\"Diamond\" ExternalConnectionNum=\"1\"\/><n id=\"4\" p=\"56.29 24.38\" Z=\"2\" NodeType=\"ExternalConnectionPoint\" ExternalConnectionType=\"Diamond\" ExternalConnectionNum=\"2\"\/><n id=\"6\" p=\"28.15 24.38\"\/><n id=\"7\" p=\"42.22 16.25\"\/><n id=\"8\" p=\"14.07 16.25\" Element=\"7\"\/><n id=\"9\" p=\"42.22 0\" Element=\"8\"\/><b id=\"10\" B=\"2\" E=\"8\"\/><b id=\"11\" B=\"7\" E=\"4\"\/><b id=\"12\" B=\"6\" E=\"7\"\/><b id=\"13\" B=\"6\" E=\"8\"\/><b id=\"14\" B=\"7\" E=\"9\" Order=\"2\"\/><\/fragment><\/page><\/CDXML>",
        "monomerAsTargetSubstructureScreen": "35,40,62,88,90,103,138,142,165,169,173,225,229,233,237,297,306,339",
        "monomerAsTargetExactStructureScreen": "35,40,83,90,173,204,237,252,292",
        "formula": "C2H3(20F)(21F)NO",
        "symbol": "G",
        "topologyName": "Alpha",
        "stereoName": "Undetermined",
                "label": "R1",
                "capGroupName": "H"
                "label": "R2",
                "capGroupName": "O"


In ChemDraw 17.0, the way different hotkeys function have been modified to support much more efficient drawing, and some new hotkeys have been introduced to cover a wide range of possible organic functional groups. The modified hotkey functions are shown in the table below. All the previous atom labelling and bond hot keys seem to be still available, placing your mouse over an atom and pressing 'F' will change the atom type to Fluorine.

Function Key(s)
Re-purposed to SPROUT “phenyl” a
Re-purposed to GENERIC hotkey “Pen Tool” l
Re-purposed to “O” q
Re-purposed to GENERIC hotkey “Text Tool” t
Re-purposed to GENERIC hotkey “Bracket Tool” Shift+t
Re-purposed to SPROUT “methyl linear” 1
Re-purposed to SPROUT “carbonyl” 2
Re-purposed to SPROUT “phenyl” 3
Re-purposed to SPROUT “wedged bond” 4
Re-purposed to SPROUT “hashedwedged” 5
Re-purposed to SPROUT “cyclohexyl” 6
Re-purposed to SPROUT “methylidene” 8
Re-purposed to SPROUT “dimethyl” 9
Re-purposed to SPROUT “methyl cyclic” 0
Bond key: Re-purposed to FUSE RING “4” 4

A new copy/paste function has been introduced to aid reaction drawing. Simply select a molecule, then holding "COMMAND" and pressing arrows (right, left, up and down) will add an arrow and duplicate the selection on the other side of the arrow. A simple but very useful addition. To help with editing the Edit menu has additional items for handling text - Spelling, Substitutions, Transformations, Speech, Start Dictation and Emoji & Symbols

Document Properties

The document properties feature enables you to provide properties within a document which can be indexed by external aggregation engines like Attivio and Elastic search. However as far as I can tell these are not searchable by Spotlight and don't appear in the "Get Info" window. You can simply add a variety of indexing terms as shown below. Note however that these are only supported in .cdx and .cdxml file formats.



Once you have installed ChemDraw, a "ChemDraw" folder is created within your "Documents" folder this is where user defined monomers, templates etc. are stored. I noticed that there was also a "Scripts" folder.


If you place an AppleScript into this folder a new "Script" menu item appears on the top menu bar of ChemDraw.


This AppleScript takes the currently selected structure and searches for it in ChemSpider.


tell application "ChemDraw Professional 17.0"


do menu item "Select All" of menu "Edit"

if enabled of menu item "Copy" then do menu item "SMILES" of menu "Copy As" of menu "Edit"

do menu item "Select All" of menu "Edit"

set theSMILES to the clipboard

display dialog theSMILES

end tell

set chemspider_URL to "" & theSMILES

--to open in default web browser

open location chemspider_URL

You can download the script here

Since ChemDraw can also generate InChi keys you can also use this to search online databases for example this applescript searches UniChem a new web resource provided by the EBI, it is a 'Unified Chemical Identifier' system, designed to assist in the rapid cross-referencing of chemical structures, and their identifiers, between databases. Currently UniChem indexes 33 online databases.

For example as the image below shows if you draw the structure of the NK1 antagonist Aprepitant, select it then run the script a web browser window opens containing direct links to the appropriate entry in a large number of online datasources.

Click image to expand.


You can download the script here

In my limited testing, most old scripts will work fine, sometimes they need minor edits for changes to text in menu items.


This is a very welcome update to a popular piece of chemistry software, in my hands it seems that many of the bugs that dogged previous versions have now been resolved and that the new additions will be much appreciated. The addition of HELM notation support is welcome and the expanded Hotkeys should improve efficiency in structure editing.

Last Updated 9 October 2017