Archive for the Google Wave Category

Google are riding the surf associated with their release of Wave, even to a very small group of testers. Just do a search of Google Wave and you’ll see what I mean. There is a certain amount of “wave envy” in our domain right now as people want to get accounts to test. Test accounts are however being freed up quite quickly and there will be a number of cheminformaticians eager to insert their code into Wave as robots and enable specific integrations. When I was at Scifoo a few weeks ago we were granted Wave accounts to play around. I was impressed with the possibilities but found the system to be a little underwhelming in terms of stability and a little unfriendly in terms of usability. But, these are issues acknowledged by the team and, like many things Google, we are sure to see Wave get picked up by the masses when it’s released. And, if WILL release, with great fanfare.

Cameron Neylon has been the most vocal advocate of Google Wave ever since the first announcements were made about the platform. He has been pivotal in getting a voice for science with the Google Wave team and coordinated a meeting for us with members of the dev team at SciFoo. It was clear in that meeting that the meshing of ChemSpider web services into Google Wave would enable Waves to be enhanced with (semi-)semantic markups so that, at a minimum, chemical names could be used to lookup chemicals on ChemSpider and retrieve a structure image so that hovering over the name in the document would sow the structure image. Unfortunately we’ve been swamped with migrating ChemSpider to RSC servers and preparing for and attending the IUPAC Congress and ACS Fall Meeting in Washington. So, we got a grand sum of  nothing done integrating Wave and ChemSpider.

Fortunately, we did well when the web services were built and Cameron has moved ahead with coding up ChemSpidey on his own. He announced that ChemSpider is alive and kicking, with all eight legs, in his blog post here. Stealing shamelessly from Cameron’s post:

“If ChemSpidey is added to a wave it watches for text of the form “chem[ChemicalName{;weight {m}g}]” where the curly bracketed parts are optional. When a blip is submitted by hitting the “done” button ChemSpidey searches through the blip looking for this text and if it finds it, strips out the name and sends it) to the ChemSpider SimpleSearch service. ChemSpider returns a list of database ids and the robot currently just pulls the top one off the list and adds the text ChemicalName (csid:####) to the wave, where the id is linked back to ChemSpider. If there is a weight present it asks the ChemSpider MassSpec API for the nominal molecular weight calculates the number of moles and inserts that. You can see video of it working here (look along the timeline for the ChemSpidey tag).”

Go nd watch the movie. You’ll likely have to watch it while zoomed in to see what is gong on. Cameron went on further than I’d originally consider by pulling back Mw from our MassSpec Web service in order to do calculations on the fly etc. The display of the structure by hovering over the CSID embedded in the Wave is not yet implemented and we need to cover this for sure.

This is a good start to build on and some things that we have to work on…

1) If a call is made to retrieve a chemical based on a chemical name and there are MULTIPLE compounds with that name then figure out how to allow the user to select the one they want

2) Display the structure image with direct link back to ChemSpider – and if appropriate extend to include links to PubChem, Wikipedia, RSC journal articles etc, presence of analytical data etc. (all the things we were going to do with ChemMantis!)

3) Change data model to mark “Fully Curated”  structures so that when a structure image and associated meta data are passed to ChemSpidey the robot knows that this isn’t just a name-structure relationship but that humans have curated the data and say “it’s correct”. Then of course…humans can be wrong too!

4) Provide access to other services -from a structure in a Google Wave document allow generation of InChI, InChIKey, SMILES, search PubMed, search Patents, “world is my”

We are now working in multiweek development sprints and will look to include some time for ChemSpidey enhancement/development in a future sprint. I have a lot of faith in wha Google Wave will bring to us all and despite the early teething troubles,as with all things Google (as far as I can tell) it will improve in terms of stability and usability but may be in perptual beta for a few years!