Skip to main content

ChEMBL 28 Released!

 We are pleased to announce the release of ChEMBL_28. This version of the database, prepared on 15/01/2021 contains:

* 2,680,904 compound records
* 2,086,898 compounds (of which 2,066,376 have mol files)
* 17,276,334 activities
* 1,358,549 assays
* 14,347 targets
* 80,480 documents

Data can be downloaded from the ChEMBL FTP site:

Please see ChEMBL_26 release notes for full details of all changes in this release:


This release includes several new deposited data sets:

Donated Chemical Probes data from SGC Frankfurt (src_id = 54)
SARS-CoV-2 screening data from the Fraunhofer Institute (src_id = 52)
Antimicrobial screening data sets from CO-ADD (src_id = 40)
Plasmodium screening data from the UCSD Winzeler lab (src_id = 51)
MMV pathogen box screening data (src_id = 34)

Curated data sets:

Drug safety warning information:
Safety-related information for approved drugs has been curated to include the assignment of toxicity classes (e.g., Cardiotoxicity, Hepatotoxicity Teratogenicity etc), based on their withdrawn status and/or black box warning information described on medicinal product labels. Two new tables have been included in ChEMBL to hold this information: DRUG_WARNING and WARNING_REFS and a new web service endpoint is also available: For more information about this data set and the methods used, please see:
This information can be seen on the Compound Report Card for the relevant drugs e.g.,

Metabolism Pathways:
Further metabolic pathways have been curated from the Journal of Drug Metabolism and Disposition and are included in the METABOLISM table. This dataset comprises more than 900 additional reactions in pathways for 98 distinct drugs/compounds. Where available, this information is displayed on the Compound Report Card e.g.,

Prodrug active ingredients (src_id = 53):
Compound records have now been included for active ingredients that are formed through metabolic activation of prodrugs. These active ingredients have also been updated in the molecule_hierarchy (as the ACTIVE_MOLREGNO) to link them to the corresponding prodrug (PARENT_MOLREGNO).

The following data sources have also been updated:

Scientific Literature, Patent Bioactivity Data, USP Dictionary of USAN and International Drug Names, Clinical Candidates, WHO Anatomical Therapeutic Chemical Classification, Orange Book, Manually Added Drugs


  • Advanced search with a list of molecule or target ChEMBL IDs is now available (see separate blog post for more details):
  • Assay parameters and activity properties included on Browse Activities view (these columns are hidden initially and need to be added with the 'Show/hide columns' button). Since there can be multiple parameters/properties for an assay/activity, these columns show a concatenated list.
  • Variant sequences information included on Assay Report Card and Browse Activities view e.g.,
  • Obsolete or downgraded ChEMBL IDs now resolve to a message page that indicates the status of each entity. For example,  indicates that the compound has been permanently removed from the database and indicates that the compound is currently downgraded in ChEMBL_28. If a user is not sure what type of entity a given ChEMBL ID corresponds to, they can now use a single URL with any type of ChEMBL ID (compound/target/assay/document/cell/tissue) and it will resolve to the correct Report Card page e.g., or Furthermore, if the wrong report card URL is used for a valid ChEMBL ID, it will be redirected to the correct Report Card page (e.g., will redirect to, since CHEMBL25 is a compound).


Columns Added:

VARIANT_ID NUMBER(9,0) Foreign key to VARIANT_SEQUENCES table, indicating that the drug targets a specific variant form of the protein.

Columns Removed:

The following columns are deprecated (replaced by the new tables below) and will be removed in a future release:

Tables Added:

WARNING_ID NUMBER(9,0 Primary key for the drug warning
RECORD_ID NUMBER(9,0) Foreign key to the compound_records table
MOLREGNO NUMBER(9,0) Foreign key to molecule_dictionary table
WARNING_TYPE VARCHAR2(20 BYTE) Description of the drug warning type (e.g., withdrawn vs black box warning)
WARNING_CLASS VARCHAR2(100 BYTE) High-level class of the drug warning
WARNING_DESCRIPTION VARCHAR2(4000 BYTE) Description of the drug warning
WARNING_COUNTRY VARCHAR2(1000 BYTE) List of countries/regions associated with the drug warning
WARNING_YEAR NUMBER(4,0) Year the drug was first shown the warning

WARNREF_ID NUMBER(9,0) Primary key for the warning reference
WARNING_ID NUMBER(9,0) Foreign key to the drug_warning table
REF_TYPE VARCHAR2(50 BYTE) Type/source of reference
REF_ID VARCHAR2(4000 BYTE) Identifier for the reference in the source
REF_URL VARCHAR2(4000 BYTE) Full URL linking to the reference


The following changes have been made to web services:
Assay, Activity and Mechanism endpoints now include variant sequence information

Download formats:
Please note, from ChEMBL_29 onward, we will no longer be able to provide Oracle 10g/11g/12c dumps. Only Oracle 19c dumps will be provided (in addition to the usual PostgreSQL/MySQL/SQLite dumps).

Funding acknowledgements:

Work contributing to ChEMBL28 was funded by the Wellcome Trust, EMBL Member States, Open Targets, National Institutes of Health (NIH), EU Innovative Medicines Initiative 2 (IMI2) and EU Horizon 2020 programmes. Please see for more details.

If you require further information about ChEMBL, please contact us:

# To receive updates when new versions of ChEMBL are available, please sign up to our mailing list:
# For general queries/feedback or to report any problems with data, please email:
# For details of upcoming webinars, please see:


Popular posts from this blog

ChEMBL_27 SARS-CoV-2 release

The COVID-19 pandemic has resulted in an unprecedented effort across the global scientific community. Drug discovery groups are contributing in several ways, including the screening of compounds to identify those with potential anti-SARS-CoV-2 activity. When the compounds being assayed are marketed drugs or compounds in clinical development then this may identify potential repurposing opportunities (though there are many other factors to consider including safety and PK/PD considerations; see for example ). The results from such compound screening can also help inform and drive our understanding of the complex interplay between virus and host at different stages of infection. Several large-scale drug screening studies have now been described and made available as pre-prints or as peer-reviewed publications. The ChEMBL team has been following these developments with significant interest, and as a contr

LSH-based similarity search in MongoDB is faster than postgres cartridge.

TL;DR: In his excellent blog post , Matt Swain described the implementation of compound similarity searches in MongoDB . Unfortunately, Matt's approach had suboptimal ( polynomial ) time complexity with respect to decreasing similarity thresholds, which renders unsuitable for production environments. In this article, we improve on the method by enhancing it with Locality Sensitive Hashing algorithm, which significantly reduces query time and outperforms RDKit PostgreSQL cartridge . myChEMBL 21 - NoSQL edition    Given that NoSQL technologies applied to computational chemistry and cheminformatics are gaining traction and popularity, we decided to include a taster in future myChEMBL releases. Two especially appealing technologies are Neo4j and MongoDB . The former is a graph database and the latter is a BSON document storage. We would like to provide IPython notebook -based tutorials explaining how to use this software to deal with common cheminformatics p

Multi-task neural network on ChEMBL with PyTorch 1.0 and RDKit

  The use and application of multi-task neural networks is growing rapidly in cheminformatics and drug discovery. Examples can be found in the following publications: - Deep Learning as an Opportunity in VirtualScreening - Massively Multitask Networks for Drug Discovery - Beyond the hype: deep neural networks outperform established methods using a ChEMBL bioactivity benchmark set But what is a multi-task neural network? In short, it's a kind of neural network architecture that can optimise multiple classification/regression problems at the same time while taking advantage of their shared description. This blogpost gives a great overview of their architecture. All networks in references above implement the hard parameter sharing approach. So, having a set of activities relating targets and molecules we can train a single neural network as a binary multi-label classifier that will output the probability of activity/inactivity for each of the targets (tasks) for a given q

FPSim2, a simple Python3 molecular similarity tool

FPSim2 is a new tool for fast similarity search on big compound datasets (>100 million) being developed at ChEMBL. We started developing it as we needed a Python3 library able to run either in memory or out-of-core fast similarity searches on such dataset sizes. It's written in Python/Cython and features: A fast population count algorithm (builtin-popcnt-unrolled) from using SIMD instructions. Bounds for sub-linear speed-ups from 10.1021/ci600358f A compressed file format with optimised read speed based in PyTables and BLOSC Use of multiple cores in a single search In memory and on disk search modes Simple and easy to use Source code is available on github and Conda packages are also available for either mac or linux. To install it type: conda install rdkit -c rdkit conda install fpsim2 -c efelix Try it with docker (much better performance than binder):     docker pull eloyfelix/fpsim2     docker run -p 9

RDKit, C++ and Jupyter Notebook

Fancy playing with RDKit C++ API without needing to set up a C++ project and compile it? But wait... isn't C++ a compiled programming language? How this can be even possible? Thanks to Cling (CERN's C++ interpreter) and xeus-cling jupyter kernel is possible to use C++ as an intepreted language inside a jupyter notebook! We prepared a simple notebook showing few examples of RDKit functionalities and a docker image in case you want to run it. With the single requirement of docker being installed in your computer you'll be able to easily run the examples following the three steps below: docker pull eloyfelix/rdkit_jupyter_cling docker run -d -p 9999:9999 eloyfelix/rdkit_jupyter_cling open  http://localhost:9999/notebooks/rdkit_cling.ipynb  in a browser