Web-accessible data for Green Solvents

This is the second blog post pertaining to the Green Solvents app, before it has been approved on the iTunes AppStore – except that this one is about the data. Actually it’s not really about the data at all – it’s about the method of delivering the data. Let me explain.

Looking at the Molecular Materials Informatics site, you might get the impression that the company only makes mobile apps, and that’s it. But in fact the company has quite an extensive stealth web strategy, which includes a project called MolSync, which has recently been harnessed to provide auxiliary cheminformatics support for MMDS. As well as back-end functionality, there is also a toolkit of user-facing cheminformatics widgets for various tasks.

The first example of this project being made available on the internet can be found by following this URL:

http://molsync.com/demo/greensolvents.php

If all goes well, and you’re using a modern browser, you should see something like this:

The matrix of structures, text and numbers represents the source data that was compiled from the ACS Green Chemical Institute Solvent Selection Guide, and subsequently used to build an iOS app.

At first glance, this page might look like a garden-variety web page, with a bit of CSS, a few bitmaps, and some helpful downloadable links. But that’s not what is going on at all. When the page starts up, a script interprets the XML datasheet which serves as the raw data for green solvents, which is loaded from a file by a couple of lines of PHP. The JavaScript cheminformatics libraries then take over, and build up the table of rows and columns.

The structures are not actually bitmaps, they are embedded graphics canvas objects, which are created by dynamically sending serialised molecules (in SketchEl format) to the molsync.com server, and having the server do the visual arrangement and return a series of vector instructions; then the client converts the vector instructions into a rendered vector picture within the browser. One way that you can tell that these are not bitmaps: try zooming in (press Ctrl and = on Firefox or Chrome). You will see that no matter how much you magnify the page, the molecules never get pixelated or grainy. Also if you print the page, or generate a PDF file from it, the molecule images continue to look crisp and sharp, rather than the usual smudged out mess.

Notice that there are lots of Download buttons. There is a button at the top for downloading the whole datasheet, and a button beside each molecule. These buttons bring up a dialog box which allows you to specify how you want to download the data:

Rather than just having a static link with a single format, the available options provide for all the formats that the server can currently handle, whether it’s a molecule, datasheet or reaction. And for the graphical formats, there are options for how it should be generated: rendering policy (colouring, background), sizing scale, or even the option to render into a specific box size, which can also be applied to all the molecules within a datasheet. Once you have the settings you want, the format preparation request is sent to the server, and can be downloaded.

This feature is just a technology demo, and merely a sliver of what is yet to come. It is also very new – the label pre-alpha would be an apt description. It probably fails on most Internet Explorer browsers, although version 9 may well work; it is tested with Firefox, Chrome, Safari and several mobile webkit browsers. It works nicely on the iPad.

Comments are welcome. And feel free to download the solvent data and use it for whatever you want (at your own risk, of course!)

4 thoughts on “Web-accessible data for Green Solvents

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