Archive for the Uncategorized Category

We recently published an update to the ChemSpider website which, in addition to fixing a number of bugs, has added some useful new features. Three of these features are highlighted in this post – one which you might have noticed already, and two which you may not have discovered yet.

Auto-Complete

We have reinstated the auto-complete feature on the ChemSpider homepage. Now, when you begin typing in the search box, ChemSpider makes suggestions based on what you have typed. This makes it easier than ever to find what you are looking for – even if you aren’t quite sure how to spell it.

Autocomplete on the ChemSpider homepage

 

Combined Structure/Property Searches

People frequently ask if there is a way to search substructure and other properties like molecular weight or molecular formula at the same time. This update now makes it possible to perform this kind of combined search from our improved Advanced Search page.

E.g. If you are interested in finding compounds which are structurally similar to Valium, you can enter a benzodiazepinone substructure and restrict it to compounds with a molecular weight of 275-325.

Substructure and Molecular Weight search
Substructure and Molecular Weight search


This search then returns Valium along with other similar drugs like clonazepam, nitrazepam and lorazepam.

There are many other search options that can be combined with a substructure/similarity search so look at the Advanced Search page and have a play.

Molecular Formula Range Searching

You can also search a range of molecular formulae at once. To specify the range for a given element, put the range in parentheses after the element. E.g. C7H(10-12)O(0-1) would return all compounds containing exactly 7 carbons and between 10 to 12 hydrogens and which may or may not contain an oxygen. This type of search can be performed from the Simple Search page, as part of an Advanced Search or from the ChemSpider homepage.

Best of all, this can be combined with any of the other search parameters on the Advanced Search page including the substructure search. For example, if you wanted to find polychlorinated biphenyls containing at least three Chlorines you could perform a substructure search for a biphenyl with a molecular formula of C12H(0-7)Cl(3-10).

Substructure and Molecular Weight search
Substructure and Molecular Weight search


In our next post, we will cover some new ways you can search by properties that are stored in our records such as melting point, density, etc.

We have previously described initial steps to integrate ChemSpider with ELNs with IDBS, and to define the elnItemManifest metadata model.

We have now also made further steps to integrate ChemSpider with Southampton University’s ELN, LabTrove, following on from an eScience tool that Stephen Wan from CSIRO had developed with the University of New South Wales to text mine LabTrove ELN blog posts to identify chemical names and link these to the relevant ChemSpider compounds. LabTrove is an open source blog-based system which can be used for recording and sharing experimental findings. Previously, if an image of the compound was to be added to an experiment blog post, it would be necessary either to upload it as an image (following drawing it in a separate drawing package) or to paste in a link to the image in another website (following a separate internet search in another browser window). We have now added the ability to click a button directly when adding or editing an experiment to launch a search of ChemSpider and when the required compound is found, an image of it can be added to chemspider simply by clicking on it, as can be seen in this demonstration video:

The editing controls in LabTrove are based on TinyMCE, a WYSIWYG editor which is used in a range of blogs, including WordPress. This means that this same ChemSpider plugin can also be used to insert compound images from ChemSpider from any other blog or website that uses a TinyMCE editor too.

If you have a LabTrove installation which you would like to add the ChemSpider plugin to then simply update your installation with the latest source code from LabTrove’s SourceForge website.

If you have a website or blog which uses a TinyMCE editor which you would like to add the ChemSpider plugin to then simply download this zip file, extract the folder in it and move the “chemspider” directory created to your tinymce plugins folder. Then, in your tinymce initialization process, add the plugin “chemspider” and the button “chemspider”.

ChemSpider SyntheticPages is one of those projects we support for which I have particular affection. For those who haven’t yet taken a look at it – please do so, it is a community resource made by chemists for chemists and is free to access – you don’t even need to register to look at the articles.

The original concept of SyntheticPages was brought to life by a group of academics who developed the original platform and format (and of course the members of the research community who embraced it and submitted articles). When ChemSpider became part of the RSC the concept of a community resource for reactions seemed like a complementary partner to the database of chemical compounds that we had established. With this in mind we were fortunate to collaborate with the hosts of the original SyntheticPages platform and, combining our resources and visions, we provided a new platform for submission. A short presentation about CSSP is online here.

CSSP today is quite well known within a small community of chemists but comments from the audiences that we expose the work to are very positive on the value of the platform and the way that we have developed it to date. Certainly the authors can get 10s of thousands of hits on their articles based on the published statistics! The “Leaderboards” are all available online for anyone to review.

We believe that everyone can see the value of building a directory of reliable, robust reactions that can continue to evolve through feedback and questions. But more that that, we see the potential benefits for:

  • Young scientists as a portfolio of their work that can enhance a resumé
  • Building systems that can contribute to Alternative Metrics  – Already people are developing platforms, such as Impact Story. CSSP presents the perfect opportunity to build such online contributions will become increasingly visible and important for a scientist in parallel, of course, with the present metrics for contribution and reputation.

We are presently working on a new system for “rewards and recognition” for contributors to our online databases and we will be rolling this out in more detail in the near future. It will be our way of recognizing the contributions of our users for their commitment to communicating science to the community using our platform as one of their vehicles to do so. As part of this activity we are also choosing to recognize present and future authors for their contribution of 5 or more SyntheticPages to CSSP. We will be contacting previous authors to ensure that they receive a brand spanking new, off the press, CSSP Lab coat to thank them for making their syntheses available!

Discussing the project to recognise and celebrate the top contributors to CSSP, Dr James Milne Managing Director RSC Publishing said the following:

“The ChemSpider SyntheticPages lab coats are a great idea, as they highlight a number of fantastic contributors, and also the role of CSSP within the broader publishing context. RSC Publishing strives to serve the needs of researchers worldwide, through publishing and disseminating high quality content, and this database of practical synthetic procedures certainly adds to this knowledge base.  I’d personally like to thank these contributors for supporting CSSP through their publications.”

If you haven’t already qualified for a CSSP lab coat by submitting 5 or more procedures; What’s stopping you? We look forwards to reading your submissions…….

 

Okay, I’ll admit it, that the title of this entry is not quite what Samuel Taylor Coleridge wrote in The Rime of the Ancient Mariner – but it does sum up this post pretty well.

Image taken from Wikipedia (http://en.wikipedia.org/wiki/File:Plughole.JPG#file)

Water is one of those chemicals that we tend to take for granted until it reminds us; usually because we have too much or too little of it. In one way or another, water seems to have insistently nagging me this year. In the Spring in the UK there were talks of water restrictions and droughts, while now the many places are flooded, and only a few weeks ago in the US, Hurricane Sandy proved that water could be as formidable a force as the winds.

Don’t forget water is a chemical!

Water has a huge impact on the chemical sciences – after all it is one of the most common chemicals in the world. And as such, Water features in many of the activities of the RSC, to list just a few recent examples….

Well, what about this webinar?

When I was still a bench chemist I have to admit that I only thought of water as something used in extractions, or to be excluded from reactions (and occasionally in tackling the mountain of dirty glassware that I’d accumulated). But looking at the title of the latest Chemistry World Webinar – it looks like there are still many aspects of water that I have to learn about. The webinar is free, if the details below pique your interest; you only need to follow the link and sign up to watch the live Webinar. If you can’t watch at that time or are reading this post after the Webinar has taken place – don’t worry you can access the archive of all of the Chemistry World Webinars at: http://chemistryworld.gav.co.uk/webcasts/past-events.php.

The importance of water quality in the laboratory

4 December 2012, 13:00 – 14:00 (GMT)
Free webinar

Speaker: Dr Estelle Riché – Senior Scientist, Merck Millipore

How are water contaminants affecting your lab results?

Join us for our next live and interactive Chemistry World webinar to learn why and how water is purified to yield the various water qualities used in the laboratory.

By the end of this free one-hour knowledge-share, you will be able to:
• identify the different contaminants potentially present in laboratory water
• understand the potential impact of these contaminants on laboratory applications such as HPLC, LC-MS, etc.
• understand how various water purification technologies remove these contaminants from laboratory water
• make better choices for the water you use in your laboratory work
Click here to find out more and register for free
This webinar is brought to you by Chemistry World in partnership with Merck Millipore.

 

For those of you who were interested by our previous blog post ‘Publish to ChemSpider’ ELN plugin generates elnItemManifest, and are at ACS Fall 2012 in Philadelphia, more details about this project will be described by Dr Simon Coles (Southampton University) in his oral presentation “Towards publishing semantic descriptions of Electronic Laboratory Notebook records” (paper ID: 17061 and final paper number: 90) in the “CINF: Division of Chemical Information division”, and “Herman Skolnik Award Symposium” session, on August 21, 2012 from 10:50 am to 11:05 am at Philadelphia Marriott Downtown, Room: 302/303.

If you are at ACS Fall 2012 don’t forget the other ChemSpider at ACS Fall 2012 in Philadelphia events.

As part of the Royal Society of Chemistry, the ChemSpider team likes to get involved with all of the other projects that are going on within the RSC, and we were really excited to be asked to provide our expertise to the SpectraSchool resource. This HE STEM funded program provides a range of resources to help in the understanding of the principles and practice of spectroscopy and spectroscopic methods.
SpectraSchool brings together Spectroscopy resources, an Introduction to Spectroscopy*, Interactive Spectra and the Spectroscopy in a Suitcase scheme which affords school children the chance to use modern spectroscopic equipment in their classroom.

The SpectraSchool resource was originally developed with the University of Leicester who collected and assigned many of the spectra that displayed within the site. Now that SpectraSchool is part of Learn Chemistry we have helped to integrate new features, including a new HTML 5 based spectrum viewer that provides interactive display of spectra. The fact that this is based on HTML 5 means that the spectrum can be viewed on just about any device that has a modern browser (eg, computers, tablets, phones or even touch screen tvs).

A student visiting the site has the ability to zoom in on peaks and to see which features of a chemical structure give rise to a particular peak in a spectrum; by selecting either a peak or a particular part of the structure (see the highlighting of the methyl group in the structure of caffeine below and the corresponding peak in the adjacent 1H NMR spectrum).

SpectraSchool and Chemistry in the Olympics are great examples of the RSC’s new microsites which bring together lots of great resources and tools in a fresh and exciting interface.

Take a look at SpectraSchool and LearnChemistry today we welome feedback through the in page feedback links or connect with us and other chemistry educators in the Talk Chemistry forums. Why not start exploring this great (free) educational resource today?

 

 

* The Introduction to Spectroscopy was developed in collaboration with the University of Cardiff

Once again the RSC will be attending the American Chemical Society’s Fall meeting which will be held in Philadelphia, Pennsylvania, August 19-23, 2012, where the RSC stand will be located at booth 701.

Several members of the ChemSpider team will be attending the conference; both to give presentations and also to chat/answer questions on the booth. If you are attending the conference please drop by and say Hello and ask any questions that you have (you might even be able to get a free coffee – available on a first-come first served basis from 11 am on both Monday and Tuesday). We will also be running an exciting ChemSpider competition to coincide with the conference. You can get details from our Booth #701, or by checking out the ChemSpider blog.

There will be two key ChemSpider events in Philadelphia:
A special On-Stand demo – Monday 20 August, 11 am, Booth 701
“ChemSpider and You: A workshop exploring how ChemSpider can help you find chemical information” – A 2 h workshop for both newcomers to ChemSpider and experienced searchers alike. 10am-12pm Tuesday 21 August, Exhibit Halls A-B, Workshop Room 2 (You can register for the workshop via the conference website – we will try and accommodate anyone who just turns up on the day.)

In addition members of the ChemSpider team are giving a number of talks, including some early glimpses of exciting new tools that we are working on. The presentations are listed below – for more details including the abstracts for each of the talks see the Technical program.

‘Mining public domain data as a basis for drug repurposing’, Philadelphia Marriott Downtown, Room 302/303, Sunday 19th August, 4.15PM – 4.40PM

‘Putting chemistry into the hands of students – chemistry made mobile using resources from the Royal Society of Chemistry’, Pennsylvania Convention Center, Room 109B, Sunday 19th August, 10.50AM – 11.10AM

‘Feeding and consuming data to support Open Notebook Science via the ChemSpider platform’, Philadelphia Marriott Downtown, Conference Room 307, Monday 20th August, 2.05PM – 2.30PM

‘Approaches for extraction and “digital chromatography” of chemical data – a perspective from the RSC’, Hilton Garden Inn Philadelphia, Salon D, Monday 20th August, 2.30PM – 2.55PM

‘Delivering an online service for validating and standardizing chemical structure files using the ChemSpider platform’, Philadelphia Marriott Downtown, Franklin Hall 6, Tuesday 21st August, 9.15AM – 9.35AM

‘ChemSpider compound database as one of the pillars of a semantic web for chemistry’, Philadelphia Marriott Downtown, Grand Ballroom Salon H, Tuesday 21st August, 4.55PM – 5.10PM

‘How can the International Chemical Identifier (InChI) be extended to non-trivial chemicals?’, Philadelphia Marriott Downtown, Franklin Hall 6, Thursday 23rd August, 9:35AM – 9.55AM

‘Serving up and consuming community content for chemists using wikis’, Philadelphia Marriott Downtown, Franklin Hall 6, Thursday 23rd August, 9.55AM – 10.15AM

 

We look forwards to seeing you at the conference!

ChemSpider has become one of the worlds primary online resources for finding data, information, links, images, spectra..and on and on…about “chemicals”. Building a database of over 28 million chemicals that grows in some way in content, functionality and richness on a daily basis is, to say the least, a lot of work. But our cheminformatics team here at the RSC is not scared of work. We like it! So when we decided that it was time to enhance our efforts around the management of chemical reactions to move from ChemSpider SyntheticPages to a database of chemical reactions containing 10s if not 100s of thousands of reactions the question was how. What software platform would we use? Where would we source reactions? What functionality would we need to roll out as an early display of capability to entice users to test it out, give feedback and, ultimately, get involved. We made those decisions and we will be showing off the results of our project “ChemSpider Reactions Database” (yes, we’re very creative with our project titles aren’t we!!!) at the Fall ACS in Philadelphia.

If you want to learn what we are up to in regards to chemical reactions come and visit with us at the ACS booth…we’ll show an early view of over a quarter of a million reactions in an online, free to access database. We’ll chat about some of our future plans and hopefully engage you in a discussion about whether or not you would be willing to contribute reactions to the database. Wouldn’t it be good if we can provide to synthetic chemists a platform for accessing and managing reactions as we have done for chemicals. Of course, seamlessly integrated and platform independent…served up by the latest web technologies and mobile-enabled. What the future could look like… exciting times!

ChemGoggles? What on earth is ChemGoggles? Is this a pair of safety specs for chemists? No…what would be the fun, and the cheminformatics (!!), in that? ChemGoggles will be shown at the ACS meeting in Philadelphia in a couple of weeks and will be a very early display of our venture into the development of an Android app for “photographing” an image of a chemical and searching the ChemSpider database. It will be a matter of finding an image of a chemical (paper, publication etc), taking a photo using an Android device, using structure recognition software to convert the image to a chemical and then searching ChemSpider. It will be imperfect, an early version, but nevertheless a tantalizing display of some of the new directions we are presently taking at the Cheminformatics group here at RSC.

Chemistry is complex. Anybody who has been involved with the creation of electronic datafiles containing thousands of chemical compounds and associated data (chemical names, properties etc) will tell you that errors creep in. ChemSpider has >28 million unique chemical entities and these have been sourced from many different places/groups/individuals. Some of these have been deprecated as we have determined, both manually and algorithmically, that the data are in error. Over the years we have learned a lot about data quality and ways in which algorithms can be applied to data prior to deposition on ChemSpider.

Some obvious structure-based errors that can be checked for would include: hypervalency (e.g. pentavalent carbons), charge imbalance (a compound has no neutralizing counterion for example), absence of stereochemistry (e.g. a compound with 12 possible stereocenters only has one assigned). There are many other such errors that can be detected algorithmically. It’s the old adage of why apply a human to what a computer can fix. With this in mind we have been working on a system called the ChemSpider Validation and Standardization Platform (CVSP for short). This system will serve multiple purposes. It will be one of the foundation blocks for checking structure-based data for our publications (i.e. catch bad chemistry before it is published!), it will be used for validating chemistry for our databases (Natural Product Updates, Methods in Organic Synthesis and Catalysts and Catalyzed Reactions), it will be used to check and validate depositions going into ChemSpider, it will serve data related to the Open PHACTS project  and it will serve the community by providing an online website where you can upload your own SDF files (and other file formats in future) to validate the structures.

I won’t go into detail here about all of the functionality and capability of the system as we will discuss this in further detail on this blog. However, we will be unveiling the system in its present form at the ACS meeting in Philadelphia. Come along and meet some of the team involved in building CVSP and give us your feedback!

In December 2011 we posted about the ChemSpider plugin for IDBS’s Electronic Lab Notebook (ELN) which described a proof of concept plugin which allows chemical structures which are part of an ELN experiment to be published to ChemSpider. The plugin sent a single sdf file per deposition which contains the chemical structures (in mol format) and very basic metadata information about where it comes from (author, principal investigator, ELN experiment ID) in the associated data fields. A mapping file was set up in the ChemSpider deposition system to process associated data field names in the deposited sdf files from the ELN data source and map them onto internal ChemSpider field names. We would like to extend this initial proof of concept to integrate ChemSpider with more ELNs, to store more advanced metadata with each deposition and to be able to publish more types of ELN data e.g. spectra, reactions and properties. A major step towards this goal would be if the metadata were separated from the data file, were defined by a fixed schema and contained more extensive information (e.g. what is in the accompanying ELN data item, what is its source, and what are its access rights). If it were agreed as a standard ELN vendors and developers could build the ability to generate this metadata into their API’s, to be used either when sharing data to a repository e.g. ChemSpider, or also to exchange data from one ELN to another. We at ChemSpider would develop a deposition webservice to process metadata in this format (and accept depositions from any ELN which generated it). This would make the task of publishing spectra, reactions, chemical properties and other file types from a range of ELNs to ChemSpider much more manageable.

A working group met up on 9th December 2011 to work towards the aim of defining a metadata model to answer the question “What comprises an ELN record or an item in it”. The group was headed up by Dr Simon Coles from the University of Southampton, and comprised representatives from universities, ELN vendors, pharmaceutical companies, and RSC ChemSpider and was a smaller subset of the previous EPSRC Dial-a-Molecule “The Smart Laboratory: Towards a national ELN” meeting. We came up with a top level format for the exchange which describes what’s in the record, how do you get it, who contributed to it and access rights in xml format. Since then Simon and Colin Bird have formalised this format into an xml schema, the details of which will be published shortly in a journal article (in preparation).

Before committing to the development effort that would be required by the ELN vendors and ChemSpider to work towards this ultimate aim, it is necessary to finalise the definition of this schema and verify that it works with an example. As a first step towards this, the ‘Publish to ChemSpider’ IDBS plugin has been modified to generate the metadata that would accompany the mol files of structures in a separate file obeying this schema. In a future phase of work the metadata xml and ELN item would be sent to a ChemSpider webservice to be processed for publishing there. The video and screencaptures below show version 2 of the plugin generating this metadata in action:

And the generated result is as below:
Generated example elnItemManifest metadata.

While every effort was made to populate fields from generic information stored in the ELN system so that this plugin would work with any IDBS installation (not just that of the Chemistry department of the University of Cambridge who kindly allowed the plugin to be developed against their system), this was not possible for all fields since they are not readily available from extension points of the E-WorkBook software – which will need to be addressed if IDBS do develop an API to generate the elnItemManifest. For example, the names and email addresses of the author and principal investigator of the ELN experiment are defined in a configuration file whose settings can be edited via an interface in the ELN software. The license to release the data under, and an embargo period to wait before the data is released publicly are populated by user inputs which are requested when the user chooses to generate the file. The keywords, description and start date of the experiment are populated by customised ELN experiment fields which have been set up only in Cambridge University’s installation of E-WorkBook.

If you have access to a working version of IDBS’s E-WorkBook and would like to install the plugin to work with it please write to ChemSpiderDev@rsc.org and we will be happy to supply it to you.

Again, thanks to IDBS and the Department of Chemistry, University of Cambridge for allowing us to continue development of the ChemSpider plugin against their software and ELN installation respectively.

The eagle-eyed amongst you may have noticed that there was an update to ChemSpider just over a week ago. Many of the changes that were performed on the site were aimed at upgrading the underlying architecture of the site and ensuring that the performance of the ChemSpider site is constantly improving as the number of users of our site and services grows.

Here are a few of the changes to the site that are more visible:

  1. Clearer deprecation of records
  2. Citation details
  3. Visibility of average mass
  4. Layout of the structure search page
  5. Improvements to search messaging
  6. Clearer layout of the Experimental Properties section
  7. Support for foreign language help

So to pick out a few of the key items from the above list….

 

Clearer deprecation of records

ChemSpider is designed so that by default, deprecated records are not presented in your search results – this ensures that you don’t have to wade through data for records that are clearly wrong or lack any useful data. But, of course there may be occasions where you happen across a deprecated record. In the past, it wasn’t always easy to immediately see that a record had been deprecated and understand the reason that it had been deprecated. In the new design the notification message is far more prominent and we also make it easy to see the reason why the record was deprecated (this is new requirement in the deprecation process and so for older deprecations this field may be blank).

 

Citation details

We commonly get requests from individuals asking about including data from a ChemSpider record in a presentation or thesis. As outlined in our FAQ page, where individuals reuse data we ask that they cite ChemSpider. And so to make this process simpler we have created an output that contains the basic information that users may need to include in a citation, and we have provided a button that makes it really easy to copy the data to your clipboard in one click.

Looking at the above image you can also see that the Average mass (which was accidentally hidden for a while) has now been made visible the record again.

Layout of the structure search page

One of the most noticeable changes has been the rearrangement of the Structure search interface. While the actual functionality remains the same, the options have been presented in a way that (hopefully) makes it much easier to see all of the options that are available to you when you perform a structure search. This is the 1st phase of our work on this interface, so please let us know what you think about the changes so far.

 

Clearer layout of the Experimental Properties section

Another significant change that we have made is to the presentation data in the Experimental properties infobox. The data is presented in a tidier layout, and while we have always had the ability to provide links to the original datasource, this was not particularly obvious to some users. In this new design we explicitly display the name of the datasource that provided the data, and wherever possible the name will act as a link back to the relevant page/entry in that datasource.

We hope that you find all of these new features useful, and as always we welcome your feedback on these and any other aspects of the site.

A lot happens in a a few weeks and this past couple of months has been no different. There have been numerous developments for ChemSpider and its related projects including working on the GUI, adding in new data and a lot of infrastructure work on the core of the ChemSPider platform.

We have the ACS meeting in San Diego just around the corner and are presently working hard this week to publish our most recent update to the live servers. For those of you going to San Diego do come and visit us at the RSC booth and we will give you a demo of our most recent project that we have been working on…I’m not going to announce it before the ACS but I encourage any attendees to stop by and hear what we’re up to!

There will be a number of presentations at the meeting and the details are all listed in our online Newsletter.

Alex Tropsha (UNC-Chapel Hill) and I (Antony Williams) will be hosting an InChI Symposium at the meeting so please come along and hear how people are using InChI and some of the directions for the future!

See you in San Diego hopefully!

Recently I have been programming a java plug-in from which I needed to call the ChemSpider webservices, and I found that this wasn’t as straightforward as I was expecting, so I thought I would post how to do it in case it’s useful for anyone else who wants to do likewise.
The basic method I used was to use Apache Axis2 to generate java code for the WSDL’s of the main ChemSpider webservices. This java code is available here: chemspider_webservices_javasourcecode.zip and I have also made the compiled jar file available here: chemspider_webservices.jar. The ChemSpider webservices can be called from other java code by referencing this jar file (and the other axis library files).
This blog post describes how I generated and used this jar file. I was using the Eclipse IDE, so some of what I describe will be specific to that.
There is a similar jar file of some ChemSpider webservices which is available by downloading MZMine (the file chemspider-api.jar in the lib directory) and an example of its use can be seen by downloading the source code and looking at the file src\net\sf\mzmine\modules\peaklistmethods\identification\dbsearch\databases\ChemSpiderGateway.java). That jar file was generated using the previous version of Axis (just plain Axis, rather than Axis2) compared to this one. The example here may be easier to use as a start point since the full range of ChemSpider webservices are included in the jar file, there is a full description of how it was generated, the code used to generate the jar file is available and there are more examples of its use.

Generating the chemspider_webservices.jar file

To generate the java code from the WSDL of the ChemSpider webservices I used the WSDL2Java functionality of Apache Axis2. This is available in different forms, including an Eclipse plug-in which will directly import the java code generated into a project, but I found various bugs when trying to use the latest version of that, so just used the command line version.
I started off with generating the java code from the WSDL of the ChemSpider MassSpecAPI webservice:

  • I downloaded and unzipped the latest version of the Apache Axis2 binary distribution from their download page. I used version 1.6.1 of Axis2.
  • In the “bin” directory of this download there should be a file called java2wsdl.bat. Running this batch file from a command line saves a lot of time trying to set up the class paths correctly to run Java2WSDL. Before using it you should set up the following two environment variables:
    • AXIS2_HOME: Must point to the top level of the AXIS2 files which you just downloaded
    • JAVA_HOME: Must point at your Java Development Kit installation direcotry (e.g. C:\Program Files\Java\jre6)
  • To see a full list of the options available when running WSDL2Java simply open a command prompt and run the batch file with no options to obtain the Usage options – more information about these can be found in the Apache Axis2 user guide:
    • > axis2-1.6.1\bin\wsdl2java.bat
  • I ran it with options to specify to use the SOAP 1.2 port of the ChemSpider MassSpecAPI webservice (most ChemSpider webservices have the option of SOAP 1.1, SOAP 1.2, HTTP GET or HTTP POST), to generate synchronous code only (not asynchronous), and to use adb databinding (this is the default anyway):
    • > axis2-1.6.1\bin\wsdl2java.bat -uri http://www.chemspider.com/MassSpecAPI.asmx?WSDL -pn MassSpecAPISoap12 -s -d adb
  • This then generated the file MassSpecAPIStub.java which it automatically put in the package com.chemspider.www (so was the appropriate folder structure was created above it accordingly)
  • I repeated this processes with the other 4 main ChemSpider webservices:
    • > axis2-1.6.1\bin\wsdl2java.bat -uri http://www.chemspider.com/Search.asmx?WSDL -pn SearchSoap12 -s -d adb
    • > axis2-1.6.1\bin\wsdl2java.bat -uri http://www.chemspider.com/InChI.asmx?WSDL -pn InChISoap12 -s -d adb
    • > axis2-1.6.1\bin\wsdl2java.bat -uri http://www.chemspider.com/Spectra.asmx?WSDL -pn SpectraSoap12 -s -d adb
    • > axis2-1.6.1\bin\wsdl2java.bat -uri http://www.chemspider.com/OpenBabel.asmx?WSDL -pn OpenBabelWebServiceSoap12 -s -d adb
  • The folders and java class files generated by Java2WSDL (MassSpecAPIStub.java, SearchStub.java, InChIStub.java, SpectraStub.java and OpenBabelWebServiceStub.java) that were generated are available in the zip file chemspider_webservices_javasourcecode.zip for further reference
  • I then started a new Eclipse project, imported this generated File system into it
  • The generated classes rely on the Axis2 library files so these need to be added to the build path – in Eclipse this is done by right-clicking on the project in the Package Explorer, choosing Properties > Java Build Path > Libraries > Add External Jars and selecting all of the lib files in the lib folder of the Axis2 folder.
  • This project was exported as the jar file chemspider_webservices.jar

Using the chemspider_webservices.jar file as an external library jar file

The chemspider_webservices.jar file and all of the Apache Axis2 library jar files need adding to a java project as referenced libraries before it can be called. To do this in Eclipse right-click on the project in the Package Explorer, choose Properties > Java Build Path > Libraries > Add External Jars and select:

  • the chemspider_webservices.jar file (download it from chemspider_webservices.jar and save it locally)
  • all of the lib files in the lib folder of the Axis2 folder.

Once this has been done then the ChemSpider webservices can be called from the project. An example is shown below, and is also downloadable in text format from here. This has been structured into (pretty well self-contained) functions which can be easily called to retrieve the results of a particular operation of a webservice. In the main function these functions are called and the output written out.

Please note that you should put your obtains your own ChemSpider token from ChemSpider to set as the ChemSpiderToken value – to obtain this, register for a ChemSpider account, and look up your token from your user Profile page after logging in. Some tokens require your user account to be associated with the “Service Subscriber” role, which you can request from your user profile page.

package com.chemspider.www.examples;

import java.util.HashMap;
import java.util.Map;

import javax.swing.JOptionPane;

import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;

import com.chemspider.www.*;
import com.chemspider.www.InChIStub.InChIToCSIDResponse;
import com.chemspider.www.SearchStub.GetAsyncSearchResultResponse;
import com.chemspider.www.SearchStub.GetAsyncSearchStatusResponse;
import com.chemspider.www.SearchStub.SimpleSearchResponse;
import com.chemspider.www.MassSpecAPIStub.ArrayOfInt;
import com.chemspider.www.MassSpecAPIStub.ArrayOfString;
import com.chemspider.www.MassSpecAPIStub.ExtendedCompoundInfo;
import com.chemspider.www.MassSpecAPIStub.GetDatabasesResponse;
import com.chemspider.www.MassSpecAPIStub.GetExtendedCompoundInfoArrayResponse;
import com.chemspider.www.MassSpecAPIStub.SearchByMassAsyncResponse;

public class WebServiceExamples {

/**
* @param args
*/

private static final Logger LOG = Logger.getLogger(WebServiceExamples.class.getName());

private static String ChemSpiderToken = "YOU NEED TO INSERT YOUR OWN TOKEN IN HERE";

public static void main(String[] args) {
BasicConfigurator.configure();

JOptionPane.showMessageDialog(null, "The compound with InChI InChI=1S/C6H6/c1-2-4-6-5-3-1/h1-6H has CSID:"+get_InChI_InChIToCSID_Results("InChI=1S/C6H6/c1-2-4-6-5-3-1/h1-6H"));

int[] SimpleSearchResults = get_Search_SimpleSearch_Results("taxol", ChemSpiderToken);
JOptionPane.showMessageDialog(null, "The first of "+SimpleSearchResults.length+" ChemSpider compound(s) returned by a search for Taxol has CSID:"+SimpleSearchResults[0]);

int[] inputCSIDs = new int[2];
inputCSIDs[0] = 236;
inputCSIDs[1] = 238;
Map> GetExtendedCompoundInfoArrayResults = get_MassSpecAPI_GetExtendedCompoundInfoArray_Results(inputCSIDs, ChemSpiderToken);
Map thisCompoundInfo = GetExtendedCompoundInfoArrayResults.get(238);
JOptionPane.showMessageDialog(null, "The Average Mass of the compound with CSID 238 is: "+thisCompoundInfo.get("AverageMass"));

String[] GetDatabaseResults = get_MassSpecAPI_GetDatabases_Results();
JOptionPane.showMessageDialog(null, "The first of "+GetDatabaseResults.length+" datasources in ChemSpider is:"+GetDatabaseResults[0]);

String SearchByMassAsyncResults = get_MassSpecAPI_SearchByMassAsync_Results(1100.0, 0.1,GetDatabaseResults, ChemSpiderToken);
JOptionPane.showMessageDialog(null, "Transaction ID for search on compounds with mass = 1100+/- 0.1 from any data source is" + SearchByMassAsyncResults);
JOptionPane.showMessageDialog(null, "The operation status of the search with this transaction ID is" + get_Search_GetAsyncSearchStatus_Results(SearchByMassAsyncResults, ChemSpiderToken));
int[] GetAsyncSearchResultResults = get_Search_GetAsyncSearchResult_Results(SearchByMassAsyncResults, ChemSpiderToken);
JOptionPane.showMessageDialog(null, "And the first of "+GetAsyncSearchResultResults.length+" ChemSpider compound(s) returned by the search has CSID:"+GetAsyncSearchResultResults[0]);
}

/**
* Function to call the InChIToCSID operation of ChemSpider's InChI SOAP 1.2 webservice (http://www.chemspider.com/InChI.asmx?op=InChIToCSID)
* Convert InChI to ChemSpider ID.
*
* @param inchi: string representing inchi to search ChemSpider for
* @return: string representing CSID returned
*/
public static String get_InChI_InChIToCSID_Results(String inchi) {
String Output = null;
try {

final InChIStub thisInChIstub = new InChIStub();
com.chemspider.www.InChIStub.InChIToCSID InChIToCSIDInput = new com.chemspider.www.InChIStub.InChIToCSID();
InChIToCSIDInput.setInchi(inchi);
final InChIToCSIDResponse thisInChIToCSIDResponse = thisInChIstub.inChIToCSID(InChIToCSIDInput);
Output = thisInChIToCSIDResponse.getInChIToCSIDResult();
} catch (Exception e) {
LOG.log(Level.ERROR, "Problem retrieving ChemSpider webservices", e);
}
return Output;
}

/**
* Function to call the SimpleSearch operation of ChemSpider's Search SOAP 1.2 webservice (http://www.chemspider.com/search.asmx?op=SimpleSearch)
* Search by Name, SMILES, InChI, InChIKey, etc. Returns a list of found CSIDs (first 100 - please use AsyncSimpleSearch instead if you like to get the full list). Security token is required.
*
* @param query: String representing search term (can be Name, SMILES, InChI, InChIKey)
* @param token: string containing your user token (listed at your http://www.chemspider.com/UserProfile.aspx page)
* @return: int[] array containing the ChemSpider IDs. If more than 100 are found then only the first 100 are returned.
*/
public static int[] get_Search_SimpleSearch_Results(String query, String token) {
int[] Output = null;
try {
final SearchStub thisSearchStub = new SearchStub();
com.chemspider.www.SearchStub.SimpleSearch SimpleSearchInput = new com.chemspider.www.SearchStub.SimpleSearch();
SimpleSearchInput.setQuery(query);
SimpleSearchInput.setToken(token);
final SimpleSearchResponse thisSimpleSearchResponse = thisSearchStub.simpleSearch(SimpleSearchInput);
Output = thisSimpleSearchResponse.getSimpleSearchResult().get_int();
} catch (Exception e) {
LOG.log(Level.ERROR, "Problem retrieving ChemSpider webservices", e);
}
return Output;
}

/**
* Function to call the GetDatabases operation of ChemSpider's MassSpecAPI SOAP 1.2 webservice (http://www.chemspider.com/massspecapi.asmx?op=GetDatabases)
* Get the list of datasources in ChemSpider.
*
* @return: the list of datasources in ChemSpider as a String Array
*/
public static String[] get_MassSpecAPI_GetDatabases_Results() {
String[] Output = null;
try {

final MassSpecAPIStub thisMassSpecAPIStub = new MassSpecAPIStub();
com.chemspider.www.MassSpecAPIStub.GetDatabases getDatabaseInput = new com.chemspider.www.MassSpecAPIStub.GetDatabases();
final GetDatabasesResponse thisGetDatabasesResponse = thisMassSpecAPIStub.getDatabases(getDatabaseInput);
Output = thisGetDatabasesResponse.getGetDatabasesResult().getString();
} catch (Exception e) {
LOG.log(Level.ERROR, "Problem retrieving ChemSpider webservices", e);
}
return Output;
}

/**
* Function to call the GetExtendedCompoundInfoArray operation of ChemSpider's MassSpecAPI SOAP 1.2 webservice (http://www.chemspider.com/massspecapi.asmx?op=GetExtendedCompoundInfoArray)
* Get array of extended record details by an array of CSIDs. Security token is required.
*
* @param CSIDs: integer array containing the CSIDs of compounds for which information will be returned
* @param token: string containing your user token (listed at your http://www.chemspider.com/UserProfile.aspx page)
* @return: a Map> containing the results array for each CSID (with Properties CSID, MF, SMILES, InChIKey, AverageMass, MolecularWeight, MonoisotopicMass, NominalMass, ALogP, XLogP, CommonName)
*/
public static Map> get_MassSpecAPI_GetExtendedCompoundInfoArray_Results(int[] CSIDs, String token) {
Map> Output = new HashMap>();
try {
final MassSpecAPIStub thisMassSpecAPIStub = new MassSpecAPIStub();
ArrayOfInt inputCSIDsArrayofInt = new ArrayOfInt();
inputCSIDsArrayofInt.set_int(CSIDs);
com.chemspider.www.MassSpecAPIStub.GetExtendedCompoundInfoArray getGetExtendedCompoundInfoArrayInput = new com.chemspider.www.MassSpecAPIStub.GetExtendedCompoundInfoArray();
getGetExtendedCompoundInfoArrayInput.setCSIDs(inputCSIDsArrayofInt);
getGetExtendedCompoundInfoArrayInput.setToken(token);
final GetExtendedCompoundInfoArrayResponse thisGetExtendedCompoundInfoArrayResponse = thisMassSpecAPIStub.getExtendedCompoundInfoArray(getGetExtendedCompoundInfoArrayInput);
ExtendedCompoundInfo[] thisExtendedCompoundInfo = thisGetExtendedCompoundInfoArrayResponse.getGetExtendedCompoundInfoArrayResult().getExtendedCompoundInfo();
for (int i=0; i Map thisCompoundExtendedCompoundInfoArrayOutput = new HashMap();
thisCompoundExtendedCompoundInfoArrayOutput.put("CSID", Integer.toString(thisExtendedCompoundInfo[i].getCSID()));
thisCompoundExtendedCompoundInfoArrayOutput.put("MF", thisExtendedCompoundInfo[i].getMF());
thisCompoundExtendedCompoundInfoArrayOutput.put("SMILES", thisExtendedCompoundInfo[i].getSMILES());
thisCompoundExtendedCompoundInfoArrayOutput.put("InChI", thisExtendedCompoundInfo[i].getInChI());
thisCompoundExtendedCompoundInfoArrayOutput.put("InChIKey", thisExtendedCompoundInfo[i].getInChIKey());
thisCompoundExtendedCompoundInfoArrayOutput.put("AverageMass", Double.toString(thisExtendedCompoundInfo[i].getAverageMass()));
thisCompoundExtendedCompoundInfoArrayOutput.put("MolecularWeight", Double.toString(thisExtendedCompoundInfo[i].getMolecularWeight()));
thisCompoundExtendedCompoundInfoArrayOutput.put("MonoisotopicMass", Double.toString(thisExtendedCompoundInfo[i].getMonoisotopicMass()));
thisCompoundExtendedCompoundInfoArrayOutput.put("NominalMass", Double.toString(thisExtendedCompoundInfo[i].getNominalMass()));
thisCompoundExtendedCompoundInfoArrayOutput.put("ALogP", Double.toString(thisExtendedCompoundInfo[i].getALogP()));
thisCompoundExtendedCompoundInfoArrayOutput.put("XLogP", Double.toString(thisExtendedCompoundInfo[i].getXLogP()));
thisCompoundExtendedCompoundInfoArrayOutput.put("CommonName", thisExtendedCompoundInfo[i].getCommonName());
Output.put(thisExtendedCompoundInfo[i].getCSID(), thisCompoundExtendedCompoundInfoArrayOutput);
}

} catch (Exception e) {
LOG.log(Level.ERROR, "Problem retrieving ChemSpider webservices", e);
}
return Output;
}

/**
* Function to call the SearchByMass2 operation of ChemSpider's MassSpecAPI SOAP 1.2 webservice (http://www.chemspider.com/massspecapi.asmx?op=SearchByMass2)
* Search ChemSpider by mass +/- range.
*
* @param Mass: The compounds returned have a mass (Double) within the range Mass +/- Range
* @param Range: The compounds returned have a mass (Double) within the range Mass +/- Range
* @return: the ChemSpider IDs of compounds returned (as a String Array)
*/
public static String get_MassSpecAPI_SearchByMassAsync_Results(Double mass, Double range, String[] dbs, String token) {
String Output = null;
try {
final MassSpecAPIStub thisMassSpecAPIStub = new MassSpecAPIStub();
com.chemspider.www.MassSpecAPIStub.SearchByMassAsync getSearchByMassAsyncInput = new com.chemspider.www.MassSpecAPIStub.SearchByMassAsync();
getSearchByMassAsyncInput.setMass(mass);
getSearchByMassAsyncInput.setRange(range);
ArrayOfString inputDBsArrayofString = new ArrayOfString();
inputDBsArrayofString.setString(dbs);
getSearchByMassAsyncInput.setDbs(inputDBsArrayofString);
getSearchByMassAsyncInput.setToken(token);
final SearchByMassAsyncResponse thisSearchByMassAsyncResponse = thisMassSpecAPIStub.searchByMassAsync(getSearchByMassAsyncInput);
Output = thisSearchByMassAsyncResponse.getSearchByMassAsyncResult();
} catch (Exception e) {
LOG.log(Level.ERROR, "Problem retrieving ChemSpider webservices", e);
}
return Output;
}

/**
* Function to call the GetAsyncSearchStatus operation of ChemSpider's Search SOAP 1.2 webservice (http://www.chemspider.com/search.asmx?op=GetAsyncSearchStatus)
* Query asynchronous operation status. Requires transaction ID returned by AsynchSearch operation. Security token is required.
*
* @param rid: String representing transaction ID returned from a previous search
* @param token: string containing your user token (listed at your http://www.chemspider.com/UserProfile.aspx page)
* @return: String describing status of this search - can have values Unknown or Created or Scheduled or Processing or Suspended or PartialResultReady or ResultReady or Failed or TooManyRecords
*/
public static String get_Search_GetAsyncSearchStatus_Results(String rid, String token) {
String Output = null;
try {
final SearchStub thisSearchStub = new SearchStub();
com.chemspider.www.SearchStub.GetAsyncSearchStatus GetAsyncSearchStatusInput = new com.chemspider.www.SearchStub.GetAsyncSearchStatus();
GetAsyncSearchStatusInput.setRid(rid);
GetAsyncSearchStatusInput.setToken(token);
final GetAsyncSearchStatusResponse thisGetAsyncSearchStatusResponse = thisSearchStub.getAsyncSearchStatus(GetAsyncSearchStatusInput);
Output = thisGetAsyncSearchStatusResponse.getGetAsyncSearchStatusResult().toString();
} catch (Exception e) {
LOG.log(Level.ERROR, "Problem retrieving ChemSpider webservices", e);
}
return Output;
}

/**
* Function to call the GetAsyncSearchResult operation of ChemSpider's Search SOAP 1.2 webservice (http://www.chemspider.com/search.asmx?op=GetAsyncSearchResult)
* Returns the list of CSIDs found by AsynchSearch operation. Security token is required.
*
* @param rid: String representing transaction ID returned from a previous search
* @param token: string containing your user token (listed at your http://www.chemspider.com/UserProfile.aspx page)
* @return: int[] array containing the ChemSpider IDs.
*/
public static int[] get_Search_GetAsyncSearchResult_Results(String rid, String token) {
int[] Output = null;
try {
final SearchStub thisSearchStub = new SearchStub();
com.chemspider.www.SearchStub.GetAsyncSearchResult GetAsyncSearchResultInput = new com.chemspider.www.SearchStub.GetAsyncSearchResult();
GetAsyncSearchResultInput.setRid(rid);
GetAsyncSearchResultInput.setToken(token);
final GetAsyncSearchResultResponse thisGetAsyncSearchResultResponse = thisSearchStub.getAsyncSearchResult(GetAsyncSearchResultInput);
Output = thisGetAsyncSearchResultResponse.getGetAsyncSearchResultResult().get_int();
} catch (Exception e) {
LOG.log(Level.ERROR, "Problem retrieving ChemSpider webservices", e);
}
return Output;
}

}

Disclaimer: I’m new to Java programming, so please excuse me if you are a java expert and I’ve said something obvious, offended you with my code or used the wrong terminology anywhere.

Only two days until the start of this year’s Fall ACS meeting in Denver. The ChemSpider team is busy preparing for the meeting, packing bags, polishing talks and honing workshop skills.

Please drop by and say “Hi!”

We’d like to repeat our invitation to everyone at the conference to drop by the RSC booth (Booth 1100). Where, of course you can chat with the ChemSpider team, get a quick demo (and find out more about our latest features), pick up our hot-off-the-press User Guide or scoop some exclusive ChemSpider goodies!

To celebrate the release of the new iPhone/iPad app* we have a limited number of covers for 3G and 4G iPhones as well as iPads

*The app itself is free to download from the AppStore.

You can also find out about lots of other things that the RSC does: from publishing books and journals to the promotion of chemistry worldwide. We’ll also have lots of information on our new e-membership option, which is making its’ debut at this meeting. Also keep an eye out for members of our Editorial staff from journals including: OBC, MedChemComm, PCCP, Soft Matter and RSC Advances, who will be scouring the conference in search of lots of new and exciting research.

Natural Product & Synthetic Chemists

I’d like to make an extra special invitation to any Synthetic chemists and Natural products chemists – from PhD students to Professors (please pass this on to all your friends and colleagues who will be at the meeting). The ChemSpider team really wants to hear about your research. Tell us about your latest publication or the work that you are most proud of, and we can make sure that your key compounds from these publications are in ChemSpider, on a platform freely accessible to chemists everywhere. If you are more interested in methodology you shouldn’t feel left out – ask us about ChemSpider Synthetic Pages.

 

ChemSpider related talks and workshops

Antony Williams (most-definitely the hardest working man I know) is giving a number of talks and workshops (details below) which are sure to be entertaining as well as thought-provoking and will be well-worth squeezing into your schedule.

We look forward to meeting you.

 

“Aligning scientific expertise and passion through a career path in the chemical sciences”

Colorado Convention Center, Room: 110, Sunday 28th August 2011, 1.40PM – 2PM

 

“Chemistry in the hand: The delivery of structure databases and spectroscopy gaming on mobile devices

Colorado Convention Center, Room: 110, Monday 29th August 2011, 9.05AM – 9.35AM

 

“ChemSpider: Does community engagement work to build a quality online resource for chemists?”

Colorado Convention Center, Room: 110, Tuesday 30th August, 10.10AM – 10.50AM

 

“An Introduction to ChemSpider – A Combination Platform of Free Chemistry Database, Free Prediction Engines and Wiki Environment”

Colorado Convention Center, Room 503, Wednesday 31th August 2011, 08.30AM – 11AM

 

“Structure representations in public chemistry databases: The challenges of validating the chemical structures for 200 top-selling drugs”

Colorado Convention Center, Room: 110, Wednesday 31st August 2011, 10.45AM – 11.05AM

As I mentioned in my blog post a few weeks ago, over the last few months we have been hard at work trying to improve how we organise all of the information and features that can be found when you view a ChemSpider record. And now you can see the fruits of our labour.

We hope that you find the changes we’ve made give you a better and easier user experience. While we think that the changes will be clear and intuitive, I’d like to highlight a few key features in my next few posts.

Inline help

When you look at compound pages and other useful pages, you should now see a lot more Question mark symbols dottedInline Help question symbol throughout the pages. We’ve called this approach inline help: rather than giving you an in-depth help resource on a separate page or as a PDF, it is much more useful to have a little snippet of help right at the point in the page where you need it. Clicking on the question mark symbol should bring up a yellow text box with short guidance (where there is a need to provide more complete help, we’ll provide a link to a page which contains much more detailed information). Of course, do let us know if you have any suggestions for improvements to the help text.

Inline hep text

 

Default infobox ordering*

Many users indicate they most often look for names (or name-structure associations), physical properties and spectral data, so we have put this information at the beginning of the record. Now when you come to a record, by default the Names infobox is the first box listed followed by the Properties, Spectra and the Articles infoboxes.

None of your favourite infoboxes have been removed (in fact we’ve created some new ones – see later). If you don’t like the default order, it is easy to change the ordering of the infoboxes by clicking on the titlebar and dragging them up or down the record. ChemSpider will remember your order and will use this for all future visits to the site from that PC (in the same browser/profile).

*If you have visited the site before ChemSpider will remember your previous settings. If you want to see the new default order you will need to clear your browser history or delete the ChemSpider cookies that are saved in your profile.

 

New infoboxes: Searches and Chemical Vendors

ChemSpider has always had great features, for instance:

The Similar Search – that allows you to find records for compounds that have the same skeleton, but have different stereochemistry or isotopic labels

The ability to load the structure from the current record into a structure search, so that you are able to modify it and construct a new search.

However, this hasn’t always been made very clear, in our redesigned compound page we have aimed to make these powerful search tools easier to discover and understand.

The Searches Infobox

Now you can find these all together in the Searches infobox – along with our Google Scholar custom queries which allow you to perform one search across publications using all of the validated synonyms (saving you from having to perform many separate searches for individual synonyms). We also help you to perform ‘structure searches’ of Google (in the form of an InChIkey search).

The Search infobox

The Chemical Vendors Infobox

We’ve also created an infobox  just to display Chemical vendor information, so that it is much quicker to find if the compound in the record is commercially available.

The record for Sparteine with it's Chemical vendors infobox

 

In my next post I’ll finish off discussing the improvements that we’ve made to the site. But of course, if you have any comments or questions about the features I’ve discussed here, please leave a comment below, or send an email to the ChemSpider inbox.

 

 

There are multiple structure drawing editors on ChemSpider. And we could add more! For example, one we don’t have is JSDraw and we also don’t have the ChemDoodle components in place, yet, though I am VERY impressed with the spectral display components that are integrated into the SpectralGame that ChemSpider supports. Compared to just a few years ago there is now an abundance of structure drawing editors in the form of Applets and JavaScript Editors. So many in fact that it can be confusing to the user. The user in reality should not worry about the technology behind the editor. It should be quite simple, especially when it comes to something as simple as the editor being the interface to querying ChemSpider. It should display perfectly on the browser(s) and platform(s) used by the user, it should be intuitive and easy to use (preferably without having to resort to reading help files), and essentially, it should “do what I want it to do”. Not at all an unreasonable list of demands right? Not so easy to deliver on mind you!

On ChemSpider we have multiple structure drawing editors. If you visit this page and open up the selection window by using “Click to Edit” you will see the editor below and, underneath the editor shown, a series of editors that you can choose from.

Structure Editors on ChemSpider

There has to be an order of listing the editors…the listed order is NOT a preferred order from our point of view. Just a list. We have heard feedback from numerous people about their preferred editor. Some live and breath the Java Molecular Editor (JME). Some prefer Accelrys JDraw because they already use Accelrys Draw. Many think that Elemental is a great Javascript Editor.

We are left with a choice….leave all editors (which has a cost in time to support them, keep them updated, tested etc) or reduce the number of editors to just a couple (or three). So, we welcome your input, on this blog post as a comment, or via the survey on SurveyMonkey here. We’d like your input to help steer our decision. Thanks

COPIED FROM THE CHEMCONNECTOR BLOG

Unless you have no interest in sports, or have your head under a stone, you will be aware of the fact that the next Olympics will be held in London in 2012. Peter Scott (one of the editors of ChemSpider SyntheticPages) and I were recently discussing how much of a role chemistry plays now in modern sports. I’m a runner, cyclist, swimmer and overall sporting type of guy and depend on wicking materials to keep me cool, nutritional support to get me through my 100-150 mile bike rides in a day, glide stick to “stop me chafing” (ow!) and graphite grease to silence the rattling chain on my bike. In fact it doesn’t matter what sport I am doing it is easy to notice the influence that chemistry has on my improved performance at my tender age of, ahem, just over 40 (and holding, for a while now).

I was reminiscing with Peter that Sir Graham Richards and I were chatting about pyrenes about a year ago and we lamented on how Benzo[CD]pyrene, shown here, looks just like the Olympic rings. There is another rather well known “Olympic molecule” of course, already captured on Wikipedia and named Olympiadane. It looks rather complex to synthesize and personally I think the benzopyrene looks a lot more like the Olympic rings so I attached the synonym Olympicene to it! In fact, if you search ChemSpider using the name Olympicene you will find it.

In a recent discussion about our online crowdsourced database of syntheses, ChemSpider SyntheticPages,(and not distracted at all by the conversation about the Olympics going to the UK next year!!!)  I mentioned again to Peter the molecule Olympicene and he searched ChemSpider to find it. We agreed that it would be fun to know how easy it would be too synthesize it and if it was done it would be a good synthesis to add to ChemSpider SyntheticPages. That was enough to trigger Peter into action and chat with one of his colleagues to see if he can make it.

And so it starts…the trials and tribulations of how to synthesize the chemical Olympicene will be captured on ChemSpider SyntheticPages step by step. We’re not sure how complex a synthesis it will be..time will tell. It will be great to add the analytical data to ChemSpider too as it gets generated..including all the intermediate reaction steps and associated data. ChemSpider and CSSP were designed to support projects like this so it will be a fun story to watch it work through.

If YOU have any thoughts about good synthetic approaches for what seems like a simple molecule post them on this blog. Actually, why not try synthesizing yourself and add your syntheses to SyntheticPages!? Every contribution is issued a DOI for your publication list!

It might be ideal to get a  number of synthetic approaches posted on ChemSpider SyntheticPages and see which one is the best! Watch this space. Also, I’ve set up a Twitter account to capture the progress at @Olympicene. Enjoy!

We will be hosting a training session for ChemSpider at the ACS meeting in Denver. Please register early.

An Introduction to ChemSpider – A Combination Platform of Free Chemistry Database, Free Prediction Engines and Wiki Environment

Where: Colorado Convention Center
Room: 503
When: Wednesday, August 31, 8:30 AM – 11:00 AM

>> Click here to register for this workshop
ChemSpider has become one of the premier free online chemistry resources used by many thousands of chemists around the world every day. Hosting over 26 million unique chemical entities, sourced from over 400 separate data sources, ChemSpider provides access to experimental and predicted data, links to patents and publications and uniquely offers the ability to deposit and share their own data online. With the intention of integrating and curating public chemistry resources for the community ChemSpider encourages participation from chemists around the world. Integrated to Wikipedia, Google Patents, Google Books, Google Scholar and PubMed, as well as to the RSC Publishing platform, ChemSpider provides access to chemistry contained in millions of articles. This training session will provide an overview of searching ChemSpider and will discuss how to deposit data and participate in curating the existing information. We will also provide an overview of ChemSpider SyntheticPages, our venture into providing a community-based resource of semantically enriched synthetic procedures and allowing community peer review. This will be an interactive session and you are encouraged to bring your laptops to work along and ask questions regarding present and future capabilities. ChemSpider is built for the community and we welcome your comments about how to make it better for your needs.

I’m sure that by now everyone has noticed that the ChemSpider homepage design changed just over a month ago. A few features moved around, the Molecules of Interest section was retired and perhaps most significantly the Search box was given a dose of CSID: 5791, becoming bigger and more prominent.

The reason for this wasn’t just to make the site more attractive (though I think it does look ‘prettier’). Our motivation for the change is to deliver a site that makes it easier for users to interact with and understand. And by doing so, hopefully make it quicker and simpler for you to get your tasks done using ChemSpider. The refresh of the homepage is hopefully illustrative of this: We think that as most users come to ChemSpider to search for information – it should be easy to get straight into a search, hence the greater emphasis on this feature.

In the next few days we will release another upgrade to the interface which is centered on making it easier to understand the data presented in the compound Record View pages. I’ll post a blog entry dealing with some of the key features in the next few days.

The development of ChemSpider is an ongoing process, and we are aware that even after this upgrade there will be aspects of the compound Record View pages that will need more work (and also other parts of the site that still need development). It’s not going to be easy: ChemSpider brings together a rich and varied set of data from a large number of sources – this poses many challenges. We also realise that there are many different tasks that each of you – as users – want to perform, and it is always going to be difficult to reconcile all of the different opinions/needs.

However, we are trying to make the site better for you. And therefore, we’d really like to know your opinions on the changes (please test new features for a few days first). We welcome your feedback on the redesign either in the form of blog comments or email feedback (chemspider-at-rsc.org).

Over the next week – keep your eyes peeled for the upgrade and my accompanying blog post which will endeavor to give you a good introduction to the new features.

Connecting chemistry and mass spectrometry on the internet in the very first Chemistry World live webinar on 31 January, discover the powerful combination of the modern mass spectrometry and the ChemSpider database of chemical structures in metabolomics research.

Dr Antony Williams of the RSC and Dr John Shockcor from Waters will be speaking on:

Connecting Chemistry and Mass Spectrometry on the Internet – ChemSpider
Monday 31 January 2011

Join the live webinar – Register Here

Or

Be part of the active audience at The Royal Society of Chemistry, London, UK – Register Here

This Chemistry World webinar is brought to you in partnership with ChemSpider and Waters.

I’ll shortly be announcing the details of a seminar we will be holding at the end of January regarding Metabolomics and ChemSpider. The details will come shortly. However, to parallel that seminar I want to be proactive in announcing that we will be holding a round-table discussion for scientists interested in further refining how ChemSpider can be extended to serve the metabolomics community. An outline of the meeting is provided below. If you are interested in participating please respond to me directly at williams”AT”rsc”DOT”org by the deadline listed below. We will cap the attendance fairly quickly and are specifically looking for people who can be vocal about their needs and how we may be able to help with ChemSpider as a platform.

Metabolomics Round Table – Delivering Value to the Metabolomics Community via ChemSpider, a Public Domain Database

Hosts: John Shockcor, Waters and Antony Williams, Royal Society of Chemistry

When: January 31st, 2011

Venue: Fish Room, Royal Society of Chemistry, Burlington House, London

The metabolomics community presently utilizes public domain databases such as KEGG, LipidMap, DrugBank and a myriad of other online resources to assist in the analysis of data. However, rich as these resources are, they are limited in scope, are challenged by known data quality issues, and are not directly focused on serving the needs of the metabolomics community. ChemSpider is an online resource for the chemistry community hosted by the Royal Society of Chemistry with the intention of linking together online chemistry resources, cleaning and curating chemistry related data and collectively serving a number of communities. ChemSpider has been used by members of the mass spectrometry community, including instrument vendors, for the past 3 years. This roundtable meeting is to provide an overview of how ChemSpider is presently used by scientists working in the domain of metabolomics and garner feedback from the existing user base as well as new potential users to help define how ChemSpider can be enhanced to further support the needs of this community.

Antony Williams, VP of Strategic Development and host of ChemSpider at RSC, and John Shockcor, Director of Life Sciences Business Development at Waters Corp, invite you to attend this half day meeting to provide input to steer development of ChemSpider to address the needs of the metabolomics community. This meeting will be followed by a public seminar and networking meeting in the RSC’s new Chemistry Center. An outline of the agenda is given below.

If you are interested in attending please express your interest by sending an email to williamsa@rsc.org by January 21st, 2011

12 – 1pm Arrival, Buffet Lunch

1-1:15pm Logistics and Intros

1:15-1:30pm An introduction to ChemSpider, Antony Williams

1:30-2:00pm Integrating ChemSpider and Metabolomics workflows, John Shockcor

2:00-4:00pm Round table discussion – How can ChemSpider expand to support the metabolomics community?

4:00-4:45pm Prioritization process

4:45-5:00pm Summary and Close

5:00-6:00pm Break

6:30pm Public Seminar

By now most of you are through the holiday season and recovering from the expenditures, both expected and unexpected, through the late nights and the joy of spending time with friends and family alike. The New Year provides a great time to reflect on the past year and think about what is coming in the year ahead…and making plans. For ChemSpider it has been a good year. Our reputation has continued to expand, our user base has increased, our staffing has increased and our participation in some major projects both within RSC and with international efforts for managing data have expanded. We won three awards, we recommitted to quality above quantity and we have worked hard to build a team of cheminformatics experts and programmers who can continue the charge to revolutionize the integration and delivery of chemistry-related data.

With this team in place we are set to make a lot of changes and enhancements in the coming year. This will be the year of deprecation. We have been busily flagging “bad” data…obvious errors that have found their way into the database. These will be dealt with, both in our database as well in other databases where we have migrated some of these erroneous data. A usability study has been conducted and the data are being analyzed and reviewed. An action plan to implement the appropriate changes based on this user feedback will be put in place early in 2011. This will be the year of RDF’ing ChemSpider…a certain community has been waiting for us to get this in place. We are committed to delivering it. We already started integrating the RSC Publishing Platform with ChemSpider through compound pages…a project to perform text-mining across the RSC article archive and link to ChemSpider will be initiated in 2011. Our much discussed “ChemSpider Education” project is underway and led by Martin Walker from SUNY Potsdam. The first view will be exposed at the ACS meeting in Spring. ChemSPider Synthetic Pages will continue to expand with new content and we are already busy assembling hundreds of spectra to deposit onto ChemSpider. We should be able to add another 1000 spectra in the next few weeks.

2011 is going to be an exciting year for ChemSpider…we hope you visit, give us feedback and challenge us to be our best. We are out to serve you, our community of users.

Hi…ChemSpiderman (Antony Williams) here..I am about to start traveling and I will be giving a presentation next week in the UK. I have been working on some validation of online public domain chemistry databases. In doing this work I realized that what would be of benefit would be to hear from the community what databases you feel can be trusted and to what level. Please visit the online survey and provide me your feedback. This would be very useful for my presentation. If you could do this in the next 48 hours I would be very grateful. Thanks!

Click here to take my survey!!!

The ChemSpider web services are intended to allow you to use the functionality of ChemSpider and query the data in it in your own website or program or script. There are many different webservices as described here, and also many different ways to use them.

One example of how to use them was sent to us by Jimmy Moore from the University of Manchester. He includes a call on the SimpleSearch operation of the Search web service in a perl script. THis searches the whole of ChemSpider by an input value which can be the molecule’s name, SMILES string, InChI, InChIKey, and returns the ChemSpider ID:

use strict;
my $unknown = shift;
use SOAP::Lite on_action => sub {sprintf '"%s%s"', @_};
my $token = ' '; # Your token value should be input here. I'm not going to give mine away!
my $service = SOAP::Lite -> uri('http://www.chemspider.com/')
-> proxy('http://www.chemspider.com/Search.asmx');
my $output = $service->call(SOAP::Data->name('SimpleSearch')
-> attr({xmlns => 'http://www.chemspider.com/'})
=> SOAP::Data->name('query')->value($unknown)->type('')
=> SOAP::Data->name('token')->value($token)->type(''));
my @result = $output->valueof('//SimpleSearchResult/int');
print @result;

For further background, and also an example of a perl script which uses the SMILESToInChI operation of the InChI web service see his blog page.

Please note that to use this (and some of the other) web services you need to obtain a token, by registering with ChemSpider (if you have not already), and then logging into ChemSpider and viewing your Profile page. The Security Token shown needs to be copied into the perl script itself in Jimmy’s example.

Also note that you will need to install the SOAP::Lite for Perl modules to your Perl library to run this script if you don’t already.

If you have an example of how you have used the ChemSpider web services then please reply to this ChemSpider forum post. More examples will inspire more new ideas, and also make it easier for other people trying to do similar things.