June 20, 2011

A quick way to programmatically check compound availability

If you work in virtual compound screening, you need a compound database. Of course, testing a compound is a lot easier if you can select compounds that can be quickly ordered, that are in stock. You can collect and regularly update supplier catalogs, but to do so comprehensively is a full time job. There are several ready to use commercial, academic and government databases, example, ZINC, CoCoCo. A number of our partners are using the Molport database of commercially available compounds in their in-house chemical databases. But no matter which database you use, by the time you download it, it is out of date.

Choose a database that is regularly updated. I already wrote on the importance of supplier catalog update previously. While building blocks may be sold by a supplier for many years, screening compounds sell out often in a year or two. So if you work with a database that hasn’t updated a supplier’s catalog in over a year – expect that a significant fraction of compounds will no longer be available. No matter which database you use, however, by the time you download it, it is out of date. Of course, if you carefully select 100 compounds for testing, you would prefer for most of them  to be in stock. What to do then?

We have been thinking about this problem for a while and have discussed it with several of you. Besides updating our database frequently, we are now providing monthly incremental database updates: newly added compounds and no longer available compounds. We are also testing a tool that will enable you to programmatically and instantly check the latest compound availability information in the Molport database. In a special URL you can specify the Molport compound ID and get back XML data from the database:



  • The status field returns values shop (compound can be ordered online), source (compound can be ordered by requesting a quote) or unavailable (it is sold out).
  • The type filed returns values stock (supplier has already made this compound and it is in  his warehouse) or virtual (these are compounds that can be made on your request).
  • The field available_mg lists the largest amount of a  compound available (in miligrams).

It works similarly to NCI Chemical Identifier Resolver. You can write a simple code that goes through the list of compounds and checks which of them are available in the needed quantity. So if you need  10 miligrams each of 100 compounds, maybe out of the first 100 only 84 will be available. You can immediately add more compounds until you have 100.

This can even be done without programming in Google Spreadsheet. Here is an example of a table that uses ImportXML function and parses two fields from the XML data:



The syntax to get the value sourced in the cell B2 is as follows:
=ImportXml("molportURL&molecule="&A2;"data/status")
where molportURL is an abbreviation of the full URL of this service.

Can this be potentially useful to you?
If you would like to know more about this new Molport service or the available compound database, write me through Molport contact us form.

Disqus

blog comments powered by Disqus