ChEMBL Resources

Resources:
ChEMBL
|
SureChEMBL
|
ChEMBL-NTD
|
ChEMBL-Malaria
|
The SARfaris: GPCR, Kinase, ADME
|
UniChem
|
DrugEBIlity
|
ECBD

Wednesday, 18 May 2016

Join the EMBL-EBI Chemogenomics team!


We are currently seeking multiple talented individuals to join the Chemogenomics team here at EMBL-EBI, both to work on our group resources (ChEMBL, SureChEMBL) and support external projects (FP7 HeCaToS and NIH Illuminating the Druggable Genome). If you are interested in applying for these positions (or for more information) please follow the links below. The closing date for all positions is 12th June.


Tuesday, 29 March 2016

Target Prediction Models Update



In case you have been too busy to notice, ChEMBL_21 has arrived with the usual additions, improvements and enhancements both on the data/annotation side, as well as on the interface/services. To complement this, we have also updated the target prediction models, which can be downloaded from our ftp here

The good news is that, besides the increase in terms of training data (compounds and targets), the new models were built using the latest stable versions of RDKit (2015.09.2) and scikit-learn (0.17). The latter was upgraded from the much older 0.14 version, which was causing incompatibility issues (see MultiLabelBinarizer) to several of you while trying to use the models.

We've also put together a quick Jupyter Notebook demo on how to get predictions from the models here: 

The new models will also be available on myChEMBL 21 along with a more detailed and elaborate Jupyter Notebook.


On a side note, am I allowed to be impressed by how easy it is nowadays to install Python and RDKit? 
It is literally just a matter of 6 commands and 5 minutes (on my Mac): 

curl -o miniconda.sh http://repo.continuum.io/miniconda/Miniconda3-3.8.3-MacOSX-x86_64.sh
bash miniconda.sh
conda create -n rd27 python=2.7
source activate rd27
conda install ipython ipython-notebook pillow pandas requests
conda install -c https://conda.anaconda.org/rdkit rdkit

To put things in perspective: the first time I tried to compile Python and RDKit from scratch was in 2010 (on a RedHat 5.6 machine, of course); it took me about 4 days :) 


George

Friday, 18 March 2016

This Python InChI Key resolver will blow your mind



This scientific clickbait title introduces our promised blog post about the integration of UniChem into our ChEMBL python client. UniChem is a very important resource, as it contains information about 134 million (and counting) unique compound structures and cross references between various chemistry resources. Since UniChem is developed in-house and provides its own web services, we thought it would make sense to integrate it with our python client library. Before we present a systematic translation between raw HTTP calls described in the UniChem API documentation and client calls, let us provide some preliminary information:

In order to install the client, you should use pip:

pip install -U chembl_webresource_client

Once you have it installed, you can import the unichem module:

from chembl_webresource_client.unichem import unichem_client as unichem

OK, so how to resolve an InChI Key to InChI string? It's very simple:



Of course in order to resolve InChI Key to InChI, the client connects to the UniChem database via REST, retrieves the results and gives them to you. This is done in a very efficient way and abstracts away all network-related issues, such as setting the HTTP session, handling retries, caching results etc. From the user point of view, it looks like a standard function call, that is executed locally but in fact working internet connection is required to successfully fetch results (unless they are already cached). We've just heard that there is another InChi resolver written entirely in CSS3, click here to find out.

OK, we admit that resolving InChI key to InChI may not be the most important UniChem use case so we invite you to take a look at the Jupyter notebook providing examples of using all available methods:

Wednesday, 9 March 2016

ChEMBL 21 web services update






Traditionally, along with the release of the new ChEMBL version, we have made a few updates to our RESTful API. Below you can find a short description of the most important changes:

 

Data API (https://www.ebi.ac.uk/chembl/api/data/docs):

1. New resources: Since ChEMBL 21 introduced a few new tables, we have made them available via the API. The new resources are:

Moreover, the target_component endpoint has been enhanced to provide a list of related GO terms.

2. Solr-based search: a very popular feature request was the ability to search resources by a keyword. A form of searching was already possible before, using filtering terms, such as [i]contains,[i]startswith and [i]endswtith filters. For example, in order to search molecules for 'metazide' in their preferred name, this filter can be used:


However, this approach has many drawbacks:
  • it's executed on the database level and can be very slow
  • in order to search in several attributes, you have to add the filter separately to each of them, which can result with a very long tail of filters
  • you can't search in one-to-many/many-to-many attributes (for example you cannot search molecule by its synonym because a molecule can have many synonyms)
The good news is that in order to solve this problem, we implemented a solr-based solution using django-haystack. Let's just jump straight into examples:

What if we want to search for some term in molecules, targets and assays at once? No problem, the chembl_id_lookup endpoint can be used for this, for example searching for 'morphine' will look like:


Looking at the results of the last request, it's very easy to tell (by examining the 'entity_type' attribute) that a large number of compounds and assays were returned.

Another important thing to note is that every result of search query has a 'score' attribute, indicating the relevancy of the given result. The results are sorted by the score descending (i.e. the most relevant are always first) and although you can add additional filters, for example:

you cannot change ordering by appending 'order_by=...' attribute.

You may ask, why do we only offer searching for 3 resources (well, 4 including the chembl_id_lookup)? This is because these resources are most popular and most important but we are planning to add more (such as searching in document abstracts, cell descriptions, activities) in the near future. If you have any suggestions about which resources should offer search functionality in the first place, please let us know in comments or write your suggestions to chembl-help@ebi.ac.uk. You can easily check which resources offer searching by looking at our live documentation, where all the searching methods are listed.

Furthermore, we would also appreciate your feedback about the quality of search results. If you believe that some results should have higher relevancy score than others and currently that's not the case, let us know so we can properly adjust boosts.

3. Compound images have transparent background by default. So now you can use them regardless of the color scheme used in your website:





 It's also possible to explicitly specify background color, by appending the 'bgColor=color_name' attribute for example in order to get a nice and warm orange background you have do:



The colour names are the standard names defined for HTML, you can check the full list here.

4. Datatables support: Datatables is one of the most popular jQuery plugins for rendering tabular data. In order for you to use it in a generic way (i.e. write the code in such a way it can use datatables to render data from any API endpoint), we have to be able to provide definitions of columns (e.g. how many columns we have for a given endpoint, are they searchable, sortable, what type of data they contain). This is possible using the schema API method (for example: https://www.ebi.ac.uk/chembl/api/data/molecule/schema.json), that describes every resource in a vary detailed way; however, the data provided by the schema has to be transformed to the format compatible with datatables. This is why we decided to provide another method, which is directly compatible with datatables: https://www.ebi.ac.uk/chembl/api/data/molecule/datatables.json.

Below is an example code snippet that renders a datatable from the target resource. Click on the 'Result' tab to see the table - you can sort by columns, change pages and set the number of rows displayed per page. Notice that if you change the name of the resource in the first line of code (from 'target' to 'source' or 'assay' for example), the columns and data will change as well.



Utils API (https://www.ebi.ac.uk/chembl/api/utils/docs):

There is a small update to the utilities (Beaker) part of the API. There is a new method called ctab2xyz, which converts a molfile to the xyz file format. You will notice the new method is now available in the live docs. Also the compound rendering code has been improved so it's now compatible with the latest versions of Pillow library.

Python client (https://github.com/chembl/chembl_webresource_client):

Our official Python client library has been updated as well in order to reflect recent changes. Just to remind you, in order to get the latest version of the client, you should install it via pip:

pip install -U chembl_webresource_client

Some examples of using recently added resources (drug indications, GO slim, drug metabolism):



Searching is exposed as well, examples below:



Another important change to the client is the integration with UniChem API. The latter deserves a separate blog post, so stay tuned.

Friday, 4 March 2016

ChEMBL DB on SQLite, is that even possible?



Short answer: Yes; Andrew Dalke did it in 2014 for ChEMBL 19 compounds but now it's officially supported by the ChEMBL team and covers the whole database.

One thing you can notice looking at the ChEMBL 21 FTP directory is a  new file called chembl_21_sqlite.tar.gz. What's that?

It's a binary SQLite database file containing all the ChEMBL 21 tables and data. If you don't know what the SQLite is, it's a very lightweight database system, that stores the entire database (definitions, tables, indices, and the data itself) as a single cross-platform file on a host machine. It's very popular as well, so if you have a Mac, Windows 10 or a Linux box, chances are that SQLite is already installed on your computer. Skype uses SQLite to store the local copy of conversation history and the Python language has SQLite bundled as a core library.

If it's so "lightweight", why is the SQLite ChEMBL 21 file 2.4GB, compared to less than 1.4GB for Oracle, MySQL and PostgreSQL dumps and is the largest file in the FTP directory? This is because the 'dumps' only contain raw data in a form of SQL statements, that yet have to be executed in order to create a database. In contrast, SQLite file IS a database already. This means that if you download a MySQL dump, for example, you need to install the MySQL server first. Most probably you will have to configure it as well. Once this is done, you install the MySQL client to create a new database and populate it with a data from the dump file. This can take several hours during which the engine will create tables and indexes. If you never done this before, the whole process can take you much longer and possibly you will need some help.

SQLite can make your life easier, all you have to do is to download the file from our FTP and uncompress it. The uncompressed file (named chembl_21.db ) will take about 12GB of your disk space. Once you done this, you can open a terminal and change the current directory to the one, which contains the file. Now all you have to do is to type:

sqlite3 chembl_21.db

If you have SQLite installed you will see the prompt ready to execute your SQL statements:



SQLite standard terminal shell has many useful commands making is extremely convenient for simple tasks such as exports. We use SQLite CLI ourselves to prepare chembl_21_chemreps.txt.gz file, which is a text file containing structure information of all the ChEMBL compounds used by the UniChem software. In order to create it, we execute the following commands:



OK, but I hate terminal, can I have a GUI instead? Yes, just install sqlitebrowser and open the file as you would with any other program. You will see ChEMBL 21 tables, you can browse data and execute SQL statements with autocompletion. Of course you can also use SQLite in your Python (or IPython notebooks) scripts or KNIME workflows.



Isn't ChEMBL a bit too large for SQLite capabilities? Of course SQLite has its limitations. It's good for quick hacking and prototyping but as it doesn't implement client-server architecture it doesn't scale well. If all you need is the ability to run a SQL query locally on your laptop or extract some data, then probably SQLite would be your best choice. It's exceptionally fast on SSD hard drives. The chemreps file we've described above was generated on the Mid 2014 MacBook Pro with SSD and it took less than a minute to prepare. Just keep in mind, that SQLite always does a full table scan for

count(*)

It does not keep meta information on tables to speed this process up so this operation will always be slower than on other engines.

How about chemistry logic? Riccardo Vianello created a project called ChemicaLite which is a cheminformatic SQLite database extension. It can generate and store fingerprints, compute descriptors, run chemical queries so everything you would expect from a normal chemical database.

Thursday, 3 March 2016

ChEMBL 21 Released


We are pleased to announce the release of ChEMBL_21. This version of the database was prepared on 1st February 2016 and contains:

• 1,929,473 compound records
• 1,592,191 compounds (of which 1,583,897 have mol files)
• 13,968,617 activities
• 1,212,831 assays
• 11,019 targets
• 62,502 source documents

Data can be downloaded from the ChEMBL ftpsite or viewed via the ChEMBL interface. Please see ChEMBL_21 release notes for full details of all changes in this release.


CHANGES SINCE THE LAST RELEASE

In addition to the regular updates to the Scientific Literature, PubChem, FDA Orange Book and USP Dictionary of USAN and INN Investigational Drug Names this release of ChEMBL also includes the following new data:

* Data Depositions

Eight new deposited data sets have been included in ChEMBL_21. These include HepG2 cell viability data for the Gates Library Compound Collection from the University of Dundee, three depositions from groups screening the MMV Malaria Box (from TropIQ, Netherlands; Mahidol University, Thailand and Keele University, United Kingdom), anti-protozoal screening data from DNDi, anti-kinetoplastid screening data from GSK Tres Cantos, Leishmania screening data from St. Jude Children’s Hospital and carnitine palmitoyltransferase modulator screening data from Roche.

* Clinical Candidates

We have added >900 additional compounds in clinical development (phase I-III) to ChEMBL. These candidates mainly cover kinase, GPCR and nuclear hormone receptor targets. For each of these new candidates, we have curated likely efficacy targets (from a variety of sources such as scientific literature and pharmaceutical company pipeline documents) and added this information to the database. We have also updated the highest known development phase for compounds already in ChEMBL (such as monoclonal antibodies and compounds with USAN applications). We will continue to add further clinical candidate and target information in future releases (including targets for the existing monoclonal antibody candidates, and candidates for ion channel targets). Mechanism of action information for clinical candidates has been added to the 'Browse Drug Targets' tab on the ChEMBL interface, as well as the Compound and Target Report Cards:


* Drug Indications

We have identified indications for FDA approved drugs from a number of sources including Prescribing Information, ClinicalTrials.gov and the WHO ATC classification and mapped these to both MeSH disease identifiers and Experimental Factor Ontology disease identifiers. We will add further indications for compounds in clinical development in future ChEMBL releases. Drug indications can be viewed on Compound Report Cards and also on the 'Browse Drug Indications' tab:



* Drug Metabolism and Pharmacokinetic data

We have extracted drug metabolism and pharmacokinetic (PK) data from a number of data sources:
- Curated Drug Metabolism Pathways from a variety of literature/reference sources
- FDA Drug Approval Packages
- Drug Metabolism and Disposition Journal

Experimental assay data from these sources can be viewed via the Compound and Assay Report Cards and Bioactivity Summary views as usual. Further interface enhancements will be included in the near future to allow browsing of drug metabolism pathway data.

* GO Drug Target Slim:

We have created a Gene Ontology slim (GO slim) containing a subset of Gene Ontology terms that are well represented in protein targets from the ChEMBL database (see http://geneontology.org/page/go-slim-and-subset-guide and http://www.geneontology.org/ontology/subsets/goslim_chembl.obo). Targets can now be browsed by GO slim terms on the interface:



* HELM Notation

HELM Notations for monoclonal antibodies have been generated by Stefan Klostermann and team at Roche Diagnostics, and added to the database. In addition, HELM Notations have been generated for ~1100 new peptides that have been added to the ChEMBL_21 release.

* Improved Organism Classification

The organism classification has been enhanced for plant, insect and fungal targets to facilitate retrieval of crop protection data from the database. 


* RDF Update

ChEMBL 21 RDF files have been updated and can be downloaded from the ChEMBL-RDF ftpsite. The EBI-RDF Platform will be updated with the ChEMBL 21 RDF shortly.


We recommend you review the ChEMBL_21 release notes for a comprehensive overview of all updates and changes in ChEMBL 21, including schema changes, and as always, we greatly appreciate the reporting of any omissions or errors.

Keep an eye on the ChEMBL twitter and blog accounts for news and updates.

The ChEMBL Team






Monday, 22 February 2016

Forthcoming Conferences



There are a number of Conferences and meetings coming up in the next few weeks that might be of interest:


Firstly, it's not too late to register for the KNIME Spring Summit in Berlin 24th -26th February
More details here



The next SME Forum will be held on the Wellcome Genome Campus at Hinxton near Cambridge on 7th and 8th March.  Come and find out more about EMBL-EBI's  freely available data resources including ChEMBL and SureChEMBL. More details on the meeting and registration here



UKQSAR and Physchem Forum Joint Symposium
This is a two day meeting being held on 15th to 16th March at Stevenage in the UK.  There are a limited number of places still available and you must register (by 29th Feb) if you want to attend.  More details can be found here.
  


Last but not least consider going to the Spring ACS meeting in San Diego 13th to 17th March where there will be a couple of ChEMBL talks and if anyone would like to catch up with us please get in touch.  More details about the meeting here.

Wednesday, 17 February 2016

ChEMBL 21 is coming soon...



We are pleased to announce that, after a long wait, the next ChEMBL release is finally on its way. We will be making the data available in the next couple of weeks. However, in the meantime, here is a sneak preview of what has been added (though we've been quiet, we have been busy working on some nice new features):


  • Clinical candidates - we have added data on >900 drug candidates in clinical trials together with their mechanism of action. This initial set focusses on candidates modulating kinase, GPCR and nuclear hormone receptor targets, but we will be adding broader coverage in future releases.
  • Drug indications - we have collated indications for FDA approved drugs from a number of sources and provided these using controlled vocabularies/ontologies (MeSH and EFO).
  • Drug metabolism and PK data - we have extracted information on pharmacokinetics and drug metabolic pathways from Drug Metabolism and Disposition journal, FDA approval packages and a variety of other sources, and will continue to build on this data in future releases.
  • GO drug slim - we have created a Gene Ontology Slim, focussed around those GO biological processes, molecular functions and cellular locations that are enriched in ChEMBL targets. We hope this will provide a streamlined way to browse ChEMBL GO annotations.


There will be a few schema changes (mostly new tables). For those who want to make a start on updating their code, the diagram is below:



More soon... the ChEMBL Team


Tuesday, 26 January 2016

Wanted: Experienced Java Developer





We are looking for an experienced Java developer/contractor to work with us on a really innovative text-mining and Java backend development project, related to SureChEMBL and the Illuminating the Druggable Genome (IDG) grant. 

The role will be on a 6-month contract and will involve the development of new Java components for the extraction, storage and provision of biological named entities in patent documents. 

The suitable candidate (like Alice above) will have more than three years hands-on experience working as an Enterprise Java Developer in production environments with large codebases. Experience in the field of chemo/bioinformatics would be ideal but not a a deal-breaker.

More information on the job description and requirements here.

If you think you have what it takes, drop us a line with your CV.

Friday, 20 November 2015

SureChEMBL: A New Hope

US-D254080-S

SureChEMBL has disrupted the field of patent chemistry by liberating chemical structures and knowledge locked in text and images, and by making the compound-patent associations freely and fully searchable and accessible on a daily basis to everyone: academics, IP professionals, content providers, software vendors, biotechs, small and big pharma, and related chemical industries. The speed, scale and scope of the data is unprecedented for a public resource. 

SureChEMBL has been around for less than two years; during this time, it has evolved into a full-blown chemistry resource provided by the EMBL-EBI: the SureChEMBL interface was revamped and released last year, including combined keyword and structure-based queries against the annotated patent corpus. All chemistry is integrated with UniChem and there are several ways to access the data in bulk, including flat files and a data client. Very soon, the data will be fully integrated and available via the Open PHACTS web service API, including, for the first time, gene and disease annotations from patents, in addition to the chemistry ones.

So we're very happy now that another milestone has been reached: the official NAR publication for SureChEMBL is available in the usual Open Access format.

Here's the abstract:

SureChEMBL is a publicly available large-scale resource containing compounds extracted from the full text, images and attachments of patent documents. The data are extracted from the patent literature according to an automated text and image-mining pipeline on a daily basis. SureChEMBL provides access to a previously unavailable, open and timely set of annotated compound-patent associations, complemented with sophisticated combined structure and keyword-based search capabilities against the compound repository and patent document corpus; given the wealth of knowledge hidden in patent documents, analysis of SureChEMBL data has immediate applications in drug discovery, medicinal chemistry and other commercial areas of chemical science. Currently, the database contains 17 million compounds extracted from 14 million patent documents.

%A Papadatos, George
%A Davies, Mark
%A Dedman, Nathan
%A Chambers, Jon
%A Gaulton, Anna
%A Siddle, James
%A Koks, Richard
%A Irvine, Sean A.
%A Pettersson, Joe
%A Goncharoff, Nicko
%A Hersey, Anne
%A Overington, John P.
%T SureChEMBL: a large-scale, chemically annotated patent document database
%0 Journal Article
%D 2015 
%J Nucleic Acids Research 
%R 10.1093/nar/gkv1253 
%U http://nar.oxfordjournals.org/content/early/2015/11/17/nar.gkv1253.abstract 



George