Skip to main content

A Taxonomy for Drugs: 1 - Drug Class

It is intuitive to describe what a drug is in natural language - a small molecule, etc, but one problem is that these descriptive terms are context dependent, loosely defined and are used very variably across the literature; and so when someone asks 'How many small molecule drugs there are?' - first of all it depends on what is a 'drug', and secondly what is a 'small molecule'. As far as I can tell there is not a descriptive taxonomy for drugs (I use the term taxonomy here as a bridge term between a controlled vocabulary/dictionary and an ontology). For our own purposes within ChEMBL we need such a taxonomy, but post our initial thoughts here for comment, and no doubt (and hopefully), significant correction and improvement (use the comment section of the blog, then everyone can see any discussions).

Drugs are regulated products that are 'intended use in the diagnosis, cure, mitigation, treatment or prevention of disease' - let's not visit what a disease is, but move swiftly on to trying to sub divide this into obvious and useful categories/classes when thinking about molecular drug structures.

So for a Drug_Class, categorisation into the following seems intuitive and useful. Most of the action in drug discovery will be connected to the "Therapeutic" class.
  • Therapeutic - A substance with a curative action on a disease.
  • Supplement - A substance, used to address a deficiency of that substance (or of that substances normal function).
  • Imaging Agent - A substance used to image a molecule or structure within the body.
  • Diagnostic Agent - A substance used in the diagnosis of a disease, not involving imaging.
  • Other - A substance not covered by the categories above.
Drugs are then typically divided into Drug_Types - small molecules and biologicals.
  • Small Molecule - A substance with a molecular weight less than 1500 Da that is otherwise not a Biological.
  • Biological - A substance primarily composed from monomers of naturally occuring substances (e.g. amino-acids, sugars, nucleotides, etc.).
  • Other - A substance not covered by the categories above.
I hate these sort of self referential/recursive definitions, but please mail improvements! Within each of these two main classes there are some relevant, pragmatic and useful subdivisions - Drug_Type_Subclass.

For Small Molecules:
  • Inorganic - A non-organic substance.
  • Natural Product-derived - A substance that is derived from a naturally occurring primary or secondary metabolite.
  • Synthetic - An organic substance that is not derived from a naturally occurring priamry or secondary metabolite.
  • Other - A substance that is a Small Molecule which is not covered by the categories above.
For Biologicals:
  • Monoclonal antibody (mAb) - A substance similar in sequence to an antibody sequence.
  • Vaccine - A substance that acts through eliciting an acquired immune response in the patient.
  • Enzyme - A substance acting as a catalyst for a chemical reaction.
  • Virus - A substance with the biological characteristics of a competant virus.
  • Cell - A substance with the biological characteristics of a competant cell.
  • Peptide - A substance which is a polymer built primarily from amino acids, containing between two and twenty amino acids.
  • Protein - A substance which is a polymer built primarily from amino acids, containing in excess of twenty amino acids, and that is not a monoclonal antibody.
  • Oligosaccharide - A substance which is a polymer built primarily from sugar-like monomers.
  • Oligonucleotide - A substance which is a polymer built primarily from nucleotide-like monomers.
  • Other - A substance which is not covered by the categories above.
So, a consistent, semantically useful description of a specific drug is constructed from a combination of Drug_Type_Subclass, Drug_Type, and Drug_Class.

For example:

Sildenafil is a "synthetic small molecule therapeutic"
Abciximab is a "monoclonal antibody biological therapeutic".
Vitamin D3 is a "natural product-derived small molecule supplement".
Ioflupane 123I is a "synthetic small molecule imaging agent"

 Any feedback, pointers to any existing classifications/taxonomies, etc. would be very welcome.

Parts 2, 3 and 4 for this Drug taxonomy will be posted shortly.


Great post! Any chance we see a follow up post touching the 'racemic mixture' issue we were discussing the other day?
Frank Gibson said…
It may be a case that your definition of a drug is slightly narrower that all drugs, and this is a good thing to be focused on scope. You elude to the fact that "the notion of a drug" is something that a small molecule et al, can do/perform like, as opposed to "it is".
Therefore, we could have a general definition of drug along the lines of

Def= A drug is a role borne by a material that is realized (the material is classified as a drug when) in a process of absorption by an organism or an entity of organism origin (i.e. cell line) that, alters, or effects a function or functions which inhere in the organism or entity of organism origin.

Then your definition of a drug could be a subclass of drug and be called, regulated_drug with the following definition.

Def= A regulated_drug is a drug (def above) that has an intended use in the diagnosis, cure, mitigation, treatment or prevention of disease and is regulated or approved by an regulatory organisation/authority.

For the rest of the definitions it may be helpful to think in terms of both the physical thing that has the role drug and the process that occurs, so for example you have the process Therapeutic_effect and a therapeutic is a drug that acts as a participant in the therapeutic_effect_process to cause/contribute to the therapeutic_effect observed.

For imaging and diagnostics it may be helpful to think of these materials as a proxy for the end result. i.e. facilitates imaging, or facilitates a diagnosis by proxy.

P.S I don't know what "naturally" means in relation to supplement, I am not sure I would describe Berocca as natural :)
jpo said…

Our use of the word drug within the group refers to a regulated substance, with a defined chemical composition (biologicals ften do not have a completely characterised composition, and can be a population of closely related chemical species).

Before Drugs come Clinical Candidates, and these have their own definitions, accepted terms, etc. This is another area where we are developing a taxonomy, as are the therapeutic effects you mention.

Naturally occurring is a difficult thing as well when you want to pin a precise definition to it. For us, the intent is to capture cases where the molecule either is, or is closely chemically related to, a natural metabolite. If this naturally occurring molecule has some therapeutic effect, and requires being regulated by the FDA, EMEA, etc. - So I guess the commercial product you mention will be out of scope.
Thank's a lot! Can I translate this post with comments and examples to Russian?
jpo said…
Of course !
jpo said…
Wikipedia has a good subclassification of monoclonal antibody subtypes, and this is almost certainly worth incorporating into a useful taxonomy.

mab: whole monoclonal antibody
F(ab')2: fragment, antigen-binding, including hinge region (both arms)
Fab': fragment, antigen-binding, including hinge region (one arm)
scFv: single-chain variable fragment
di-scFv: dimeric single-chain variable fragment
sdAb: single-domain antibody
3funct: trifunctional antibody
BiTE: bi-specific T-cell engager
Unknown said…
I'd add "palliative" and "disease-mitigating" (applicable, respectively, e.g. to analgesics and antiretroviral HIV/AIDS drugs) to "curative" under the therapeutics category. Great discussion!

Popular posts from this blog

A python client for accessing ChEMBL web services

Motivation The CheMBL Web Services provide simple reliable programmatic access to the data stored in ChEMBL database. RESTful API approaches are quite easy to master in most languages but still require writing a few lines of code. Additionally, it can be a challenging task to write a nontrivial application using REST without any examples. These factors were the motivation for us to write a small client library for accessing web services from Python. Why Python? We choose this language because Python has become extremely popular (and still growing in use) in scientific applications; there are several Open Source chemical toolkits available in this language, and so the wealth of ChEMBL resources and functionality of those toolkits can be easily combined. Moreover, Python is a very web-friendly language and we wanted to show how easy complex resource acquisition can be expressed in Python. Reinventing the wheel? There are already some libraries providing access to ChEMBL d

ChEMBL 29 Released

  We are pleased to announce the release of ChEMBL 29. This version of the database, prepared on 01/07/2021 contains: 2,703,543 compound records 2,105,464 compounds (of which 2,084,724 have mol files) 18,635,916 activities 1,383,553 assays 14,554 targets 81,544 documents Data can be downloaded from the ChEMBL FTP site: .  Please see ChEMBL_29 release notes for full details of all changes in this release: New Deposited Datasets EUbOPEN Chemogenomic Library (src_id = 55, ChEMBL Document IDs CHEMBL4649982-CHEMBL4649998): The EUbOPEN consortium is an Innovative Medicines Initiative (IMI) funded project to enable and unlock biology in the open. The aims of the project are to assemble an open access chemogenomic library comprising about 5,000 well annotated compounds covering roughly 1,000 different proteins, to synthesiz

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

Julia meets RDKit

Julia is a young programming language that is getting some traction in the scientific community. It is a dynamically typed, memory safe and high performance JIT compiled language that was designed to replace languages such as Matlab, R and Python. We've been keeping an an eye on it for a while but we were missing something... yes, RDKit! Fortunately, Greg very recently added the MinimalLib CFFI interface to the RDKit repertoire. This is nothing else than a C API that makes it very easy to call RDKit from almost any programming language. More information about the MinimalLib is available directly from the source . The existence of this MinimalLib CFFI interface meant that we no longer had an excuse to not give it a go! First, we added a BinaryBuilder recipe for building RDKit's MinimalLib into Julia's Yggdrasil repository (thanks Mosè for reviewing!). The recipe builds and automatically uploads the library to Julia's general package registry. The build currently targe

New Drug Warnings Browser

As mentioned in the announcement post of  ChEMBL 29 , a new Drug Warnings Browser has been created. This is an updated version of the entity browsers in ChEMBL ( Compounds , Targets , Activities , etc). It contains new features that will be tried out with the Drug Warnings and will be applied to the other entities gradually. The new features of the Drug Warnings Browser are described below. More visible buttons to link to other entities This functionality is already available in the old entity browsers, but the button to use it is not easily recognised. In the new version, the buttons are more visible. By using those buttons, users can see the related activities, compounds, drugs, mechanisms of action and drug indications to the drug warnings selected. The page will take users to the corresponding entity browser with the items related to the ones selected, or to all the items in the dataset if the user didn’t select any. Additionally, the process of creating the join query is no