Skip to main content

Molecular databases and molecule complexity - part 2

Let have some examples - benzene (chembl277500) is unambiguous, it has no possibility of forming any tautomers, it cannot become protonated or lose a proton (i.e. act as a base or acid) under anything approaching physical conditions, it has no stereocenters, and furthermore has no internal degrees of freedom (it it conformationally rigid). So there is no ambiguity over calculated properties such as logP, molecular weight, etc, and you could take the structure directly from a database and do things like docking with it.

Next is pyridine (chembl266158), this has two biological forms, it is still rigid, and has no stereocenters or tautomeric forms, however, it can act as a base, and so can exist in a protonated form. These two forms have different molecular weights, overall charge and many other differences (for example, it's molecular dipole).

In particular, the binding to a receptor will be very different for these two forms, pyridine can act as a hydrogen bond acceptor, while the protonated for can't, but can act as a hydrogen bond donor - in one important factor the two forms of pyridine are opposite. The fraction of the two forms in biological systems will depend on the pH of the biological or experimental system, and also the pKa of pyridine (around 5.2 for the pKa of the conjugate acid). Typically, chemical databases will calculate and display properties for the neutral form of pyridine. Users, performing tasks such as docking, will probably need to consider both forms and dock two molecules not one.

A slightly more complicated case is 2-hydroxypyridine (chembl662), which is a classic case of tautomerism. The structure can be drawn with alternate bonding, but the two forms can rapidly interconvert. The is a small free energy difference between these two forms. The other tautomer (and the form found in solid samples of 2-hydroxypyridine) has the trivial name 2-pyridone. In solution, both forms are found, with the fractions found of each form depending on the solvent polarity.

These forms have the same molecular mass, have no stereochemical centers, but will have different calculated properties - the clogP will be different for the two forms. It is important to remember though that due to the fact they are rapidly interconvertable, they will appear to have a single logP experimentally. Again, due to the differences in hydrogen bonding potential, two forms need to be considered for a tasks like docking. What chemical databases do with cases like this varies, but typically a single tautomeric form will be used to calculate properties such as logP. What tautomer is used will depend on the particular software used.

Finally, another simple system, this time showing ambiguity over charge - 3-hydroxypyridine (chembl237847). This molecule exists in solution as an equilibrium of two physical forms, a neutral form, and a zwitterion. Calculated properties of these two forms for things like clogP will be different, the molecular weight will be the same, but again, for docking explicit consideration of the two distinct forms is required.

So hopefully, some simple examples showing that a single 2D structure of a molecule in a database can have multiple physically differing forms that can affect the calculation of properties and also have large impact on their use in modelling. Hopefully, I've also highlighted that this complexity is usually poorly handled in chemical databases (not least the current version of ChEMBL).

In the next part, we'll talk about just how complex this ambiguity is, the astronomical number of distinct structural forms possible for some molecules, and also address stereochemistry and conformational flexibility. 


Nice post!

Benzene is unambiguous, because of symmetry only. However, it's delocalization feature does pose problems for databases. Take 1,2-dimethylbenzene, which breaks the symmetry, and you run into the problem that the ring bond between the two methyls can be single or double, or, and that is what many databases do, aromatic.

I am still puzzled why the cheminformatics field did not choose for 'delocalized' instead; aromaticity is just a crappy concept.

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 contribution t…

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_clingdocker run -d -p 9999:9999 eloyfelix/rdkit_jupyter_clingopen http://localhost:9999/notebooks/rdkit_cling.ipynb in a browser

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/ci600358fA compressed file format with optimised read speed based in PyTables and BLOSCUse of multiple cores in a single search In memory and on disk search modesSimple 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 rdkitconda install fpsim2 -c efelix
Try it with docker (much better performance than binder):

    docker pull eloyfelix/fpsim2    docker run -p 9999:9999 eloyfelix/fpsim2    open htt…

ChEMBL 25 and new web interface released

We are pleased to announce the release of ChEMBL 25 and our new web interface. This version of the database, prepared on 10/12/2018 contains:

2,335,417 compound records1,879,206 compounds (of which 1,870,461 have mol files)15,504,603 activities1,125,387 assays12,482 targets72,271 documents

Data can be downloaded from the ChEMBL ftp site:

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


# Deposited Data Sets:

Kuster Lab Chemical Proteomics Drug Profiling (src_id = 48, Document ChEMBL_ID = CHEMBL3991601):
Data have been included from the publication: The target landscape of clinical kinase drugs. Klaeger S, Heinzlmeir S and Wilhelm M et al (2017), Science, 358-6367 (

# In Vivo Assay Classification:

A classification…

2019 and ChEMBL – News, jobs and birthdays

Happy New Year from the ChEMBL Group to all our users and collaborators. 
Firstly, do you want a new challenge in 2019?  If so, we have a position for a bioinformatician in the ChEMBL Team to develop pipelines for identifying links between therapeutic targets, drugs and diseases.  You will be based in the ChEMBL team but also work in collaboration with the exciting Open Targets initiative.  More details can be found here(closing date 24thJanuary). 
In case you missed it, we published a paper at the end of last on the latest developments of the ChEMBL database “ChEMBL: towards direct deposition of bioassay data”. You can read it here.  Highlights include bioactivity data from patents, human pharmacokinetic data from prescribing information, deposited data from neglected disease screening and data from the IMI funded K4DD project.  We have also added a lot of new annotations on the therapeutic targets and indications for clinical candidates and marketed drugs to ChEMBL.  Importantly we ha…