Warren DeLano
Like so many others, I was shocked to find out this week that Warren DeLano died. He was both an inspiration to me and a genuinely nice guy. I still can hardly believe it.
For those who may not be familiar with his work, Warren was the creator of PyMOL, an open source molecular visualization package that managed to do what few other software packages (open source or otherwise) have done - build a large, dedicated community and gain widespread use in the life sciences industry. To get a glimpse at how widely used PyMOL was, take a look at some of the high-profile journal covers that were created with it.
I only met Warren in person a couple of times, but each time left me with something valuable. What struck me the most about him was his giving nature - and his enthusiasm for technology. You just couldn't help but like him.
Warren's family has set up a memorial page, as well as a blog to which you can post your memories of him.
Building Chempedia: A RESTful Web API for Chemical Information
In a 2007 interview, Biz Stone, cofounder of Twitter, commented on the role Twitter's Web API played in the growth of the now ubiquitous messaging service:
Yeah. The API has been arguably the most important, or maybe even inarguably, the most important thing we’ve done with Twitter. ... So, the API which has easily 10 times more traffic than the website, has been really very important to us. ...
Done right, a Web API can add significant value to a website by offering a way for third-party developers to get involved. In other words, a Web API is a prerequisite for creating a Web platform.
One of the goals for Chempedia is to deliver an open, high-performance, Web-based platform for creating and consuming chemical information. One of the cornerstones of this plan is a robust Web API.
A Bit About REST
REST turns out to be very easy to understand when you consider that it's possible for machines to interact with Web services the same way humans interact with websites using a browser - by selecting and following hyperlinks.
The Chempedia Web API is built around this simple principle. For more information on the design of RESTful services and other high-level concepts, see the Depth-First RESTful chemical tracking series.
The Chempedia API is based on the Chemcaster API, making it straightforward to port tools written for one to the other.
API Step-By-Step
- Start at http://chempedia.com/rest.json.
- Follow the link to Substances at http://chempedia.com/substances.json.
- View Substance detail by following link to http://chempedia.com/substances/1-0434-2394-1189.json
This is just a subset of what's available; more resources can be discovered by following the links provided in each representation. In this sense, the Chempedia API, like all REST APIs, is self-documenting.
Note: the ".json" extension is a convenience for viewing representations in a browser (be sure to install the JSONView plugin). When writing client software for use with the Chempedia API, you must use the URIs given and set the "Accept" header to that given by the "media_type" attribute in each Link.
Also note that no assumptions should be made about URI structure. As with all REST systems, clients follow the links given; they never create links by themselves.
Conclusions
This article has given just a brief introduction of what's possible with the Chempedia API. Future articles will discuss the API in more detail.
Building Chempedia: Global Substance Identifiers (GSIDs) and Search Engines Play Nice Together 5
To create a broadly-applicable Web resource, content needs to be searchable through services such as Google. In designing Chempedia, one goal was to offer a tool that would work with the grain of the Web by offering a handle though which the full power of tools like Google could be leveraged.
You may have noticed the string of digits separated by dashes assigned to each Chempedia substance (e.g., 8-0401-9986-1421). The format and length of these "Global Substance Identifiers" or GSIDs were chosen deliberately. Although I'll have more to say about GSIDs later, an important goal in their design was to make them searchable through services like Google.
Over at the Chempedia Newsfeed, I've posted an article discussing the recently-started indexing of Chempedia GSIDs by Google, and its significance. To summarize, GSIDs offer a powerful new way to link your own Web content into a larger system of chemical substance information.
Chempedia Launch Day Wrapup
Over on the Chempedia Newsfeed, I've posted a wrapup of the Chempedia launch day. I'm delighted with the response and the feedback so far, and look forward to even better things to come.
Indigo: Open Source Cheminformatics for C++ and .Net 5
Dmitry Pavlov of SciTouch writes in to announce the availability of Indigo, an open source suite of cheminformatics tools. Indigo offers an impressive array of capabilities, including graph matching, cycle perception, structure rendering, fingerprinting. The site documentation also indicates that work on interfaces to other languages, including Ruby and Java, is planned.
It appears that Indigo has taken a different approach in some areas such as fingerprint generation, making the toolkit worth checking out regardless of your development platform of choice.

