XMDS with MolPress

xmds_molpress06Last week’s post mentioned the MolPress plugin for WordPress running on an actual website (molpress.com). The purpose of the plugin is to add a convenient use case for incorporating chemical data into an article, and having it rendered as a diagram that’s just as good as a dedicated picture. This fusion of machine & human readable content is desperately lacking in the realm of chemical data communication of all kinds, from electronic lab notebooks to the peer-reviewed literature.

The value of including the full data in an article so that it can be easily loaded into software applications without losing valuable information is self-evidently a good thing, but there is a confluence of technical components that has to occur before it is convenient enough to impose on scientists who already have way too much work to do. Creating a basic WordPress plugin to facilitate the duality of raw data (internal) being shown as chemical diagrams (external) is a start, but a few more details remain to be resolved.

One of the other essential roles can be filled by product that has been in long beta for awhile: XMDS (Mac OS X Molecular DataSheet, so-named before Apple dropped the ‘X’ part, oh well). XMDS is a desktop app that concentrates almost exclusively on content creation for chemical data: structures, reaction schemes, numeric data, and various forms of higher order metadata. Its strong points are for use as a curation tool, whether that be for your own structures & data being synthesised/analysed in your own lab, or for the thankless task of recreating data that got buried in PDF files and hardcopy versions thereof.

There are quite a lot of ways to create structures and collections, but this is a good one, if I do say so myself, and even if the product is perennially unfinished and a few dozen bugfixes short of being ready for market. Nonetheless, if you want to try it out at no charge, the beta programme is might be for you. You need two things: a Mac, and to ask nicely.

To insert chemical content into a WordPress blog with the MolPress plugin, anything larger than a molecule is best uploaded as a separate file. On the website side, there are a couple of steps that can be removed, but the latest XMDS update makes the desktop side slightly more convenient. One of the annoyances of deploying content from a separate editor is the standard workflow paradigm of:

  • edit document
  • save document:
    • think of a name
    • choose a location
  • switch to file manager
  • locate the file, wherever it went (if indeed it this is where you thought you put it)
  • get the web page ready to receive uploads
  • drag it over
  • remember to delete the file later

This kind of inconvenience may seem to fit uncomfortably well into the category of of first world problems, but it really is a nuisance, whether being done occasionally or regularly. And keeping in mind that it is no small task to convince experimental chemists to change their routines when they don’t necessarily agree that this is the best use of their time.

For this reason, it is no longer necessary to actually save the chemical datafile in XMDS prior to uploading it to MolPress, or any other tool that needs to receive chemical data.

In the example below, a file containing a batch of assay evaluations (from ChEMBL) is being edited with XMDS, and all of the columns for three rows are selected:


Clicking on the Export icon on the toolbar brings up the option to provide some information about what data should be exported, and how:


Previously this process was only used to setup exporting to the MDL SDfile format (the ad hoc industry standard that is not as much maligned as it ought to be). With a few options added, it makes sense to allow exporting using the native DataSheet XML format.

There are several delivery modes for exporting, chief among them being draggingcopying and saving. In this case, Drag is particularly interesting, because this is a good way to submit content for use within a WordPress blog:


Dragging the little icon at the top right (“DS”) into the Upload page initiates a file transfer upload. There are a couple of subtleties here: for one, the XMDS preparation dialog allows the faux filename to be customised. In this case, I called it selected_assays.ds, and checked the option to just include the selected area (rather than the whole datasheet). This means that the 3 selected rows were uploaded to the WordPress upload area as requested – and there was no need to save an extra file for this purpose. The document itself did not even need to be saved at all, and could optionally be discarded once it is safely stored on the server.

Once the file is uploaded, the steps required to use it are still relatively rough around the edges. The URL of the uploaded file must be captured explicitly and copied to the clipboard:


Having this URL means that it can be referenced in one of the MolPress extensions (so-called shortcodes), in this case, collection:


When viewed as an actual article, the except consisting of structures and activity data is rendered in real time:


See here for the actual post. The rendering of the datasheet takes into account the existence of the AssayProvenance aspect, which provides additional metadata and markup. The web version is not quite as mature as the back-end and desktop implementations, but it will improve as the iterations continue.

There is plenty more to be done toward making this streamlined on the WordPress side of the equation. And also to make the behind-the-scenes data more accessible within the article itself, both to humans wanting to grab the data interactively, and to robots seeking to mine such valuable content from internet resources.

But these are tasks for subsequent weekends.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s