Skip to main content

Posts

Showing posts with the label RDKit

ChEMBL Compound Curation Pipeline

At the end of last year we mentioned that we are now using RDKit for our compound structure processing (see here ). Most excitingly, as a part of this we have been working with Greg Landrum the developer of RDKit over the last year to reimplement our  curation pipeline using RDKit.  The pipeline includes three functions: 1. Check Identifies and validates problem structures before they are added to the database 2. Standardize Standardises chemical structures according to a set of predefined ChEMBL business rules  3. GetParent Generates parent structures of multi-component compounds based on a set of rules and defined list of salts and solvents We are now pleased to announce that we are making all the code from this project freely available in GitHub .  The functions can also now be used through our ChEMBL Beaker   API.  Live notebook with examples available here . For ChEMBL26 (shortly to be released) we have created ...

Compound popularity contest

Have you ever wondered which compound is the most popular in ChEMBL? And by popular I don't mean the one which cracks the best jokes at dinner parties; I mean the compound with the largest number of structural analogues or nearest neighbours (NNs). This number also gives an indication of the sparsity or density of the chemical space around a compound and is a useful concept during hit expansion and lead optimisation.  This number of course depends on the fingerprint, the hashing and folding parameters, the similarity coefficient and the threshold. So let's say 2048-bit RDKit Morgan fingerprints with a radius of 2 or 3 (equivalent to ECFP_4 or ECFP_6) and Tanimoto threshold of 0.5. Why so low threshold? For an explanation, see here and here . To calculate this compound 'popularity', one would need to calculate the full similarity matrix of the 1.4M compounds in ChEMBL. This used to be prohibitively computationally expensive just a few years ago; nowadays,...

Finding key compounds in med. chemistry patents: The open way

A couple of us attended the 3rd RDKit UGM , hosted by Merck in Darmstadt this year. It was an excellent opportunity to catch up with RDKit developments and applications and meet up with other loyal "RDKitters". I presented a talk-torial there and went through an IPython Notebook, which some of you may find useful. It uses patent chemistry data extracted from SureChEMBL and after a series of filtering steps, it follows a few "traditional" chemoinformatics approaches with a set of claimed compounds. My ultimate aim was to identify "key compounds" in patents using compound information alone, inspired by papers such as this and this . The crucial difference is that these authors used commercial data and software, where in this implementation everything is free and open. At the same time, I wanted to show off what the combination of pandas, scikit-learn, mpld3, Beaker, RDKit, IPython Notebook and SureChEMBL can do nowadays (hint: a lot).  So, ...

myChEMBL on Bare Metal

myChEMBL is distributed as a Virtual Machine (VM), which is good because you can treat it like another file on your filesystem. It can be transmitted, copied, renamed, deleted,  etc . The myChEMBL VM behaves like a sandbox, so software installed there can't harm your computer. But there are sometimes costs associated with using a VM, for example VMs are usually several percent slower than the host they are running on. There are also a number of scenarios where using a VM may not optimal or even possible, for example: You just want to enrich your existing machine with chemistry-related software The only machine you have is itself virtual - VM provisioning software often prevents you from installing a VM within a VM When performance is critical In these cases you may not want the whole myChEMBL VM, only the software that it ships with. Fortunately we have a script, that automates the process of creating our customized VM. But not only that - we keep it publicly avail...

RDKit and Raphael.js

The ChEMBL group had the honour of hosting the second RDKit UGM . It was a great way to catch up with the RDKit community, find out about what they are working and learn about new features the toolkit offers. We gave two talks during the meeting, so if you want to know how Clippy can make interacting with different chemical formats on your desktop easier, go here , and if you want to learn about wrapping RDKit up in a RESTful Web Service a.k.a. Beaker (to be described in future blog post), go here . Many discussions about new features RDKit could offer were had throughout the meeting and one which caught my attention was support for plotting compound images on HTML5 Canvas . Unable to participate in a hackathon held on the final day, I set about hosting my own small hackathon during the weekend (only 1 attendee). The result of this weekend coding effect was a pull request made against RDKit github repo , introducing the new class called JSONCanvas . Technical Details As a ge...