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

Identifying relevant compounds in patents

  As you may know, patents can be inherently noisy documents which can make it challenging to extract drug discovery information from them, such as the key targets or compounds being claimed. There are many reasons for this, ranging from deliberate obfuscation through to the long and detailed nature of the documents. For example, a typical small molecule patent may contain extensive background information relating to the target biology and disease area, chemical synthesis information, biological assay protocols and pharmacological measurements (which may refer to endogenous substances, existing therapies, reaction intermediates, reagents and reference compounds), in addition to description of the claimed compounds themselves.  The SureChEMBL system extracts this chemical information from patent documents through recognition of chemical names, conversion of images and extraction of attached files, and allows patents to be searched for chemical structures of interest. However, the curren

ようこそ、ケンブルへ! - Welcome to 剣舞瑠 ! -

The following is written in Japanese.... ケンブルチーム(ChEMBL Team)は、欧州バイオインフォマティクス研究所( EMBL-EBI )にあり、創薬研究に有用な化合物やターゲット情報を提供するデータベースを開発しています。 ChEMBLdb は、創薬研究に有用な医薬品化合物の情報を提供するデータベースです。現在、約50万個の化合物情報、約190万件の活性情報及びそれらのターゲット情報が登録されています。ユーザーは、生物活性化合物の情報を部分構造検索や類似性検索で調査したり、また、ターゲットのアミノ酸配列からBLAST検索でアッセイ情報を収集することができます。 ケンブルチームでは、キナーゼに特化したカイネースサファリ( Kinase SARfari )のサービスも開始しました。 日本語でのご質問、ご要望は kaz(at) までどうぞ。チームメンバー一同、皆さんのご利用をお待ちしています!

Target predictions in the browser with RDKit MinimalLib (JS) and ONNX.js

Some time ago we showed an example of how a model trained in Python's PyTorch could be run in a C++ backend by exporting it to the ONNX format.  Greg also showed us in his blogpost how our multitask neural network model could be used in a very nice KNIME workflow by exporting it to ONNX. That was possible thanks to RDKit's Java bindings and the ONNX Java runtime. As a refresher, most of the most popular machine learning frameworks can export their models to this format and many programming languages can load them to run the predictions. This certainly is a beautiful example of interoperability! In November 2019 RDKit introduced a reduced functionality Javascript library which is able to do all we need in order to use our multitask model in the browser. So, the only thing that was left to do was to combine these two awesome tools... and we did it! Here is our demo with its available source code . Start typing a smiles into the box and enjoy! Updated code to generate the m

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 reso