The Origin of Drug-Likeness: Pfizer, 1997
In 1997, Christopher Lipinski and his colleagues at Pfizer published a paper that would become one of the most cited in medicinal chemistry. They had analyzed the physicochemical properties of thousands of drug candidates that made it through Phase II clinical trials and asked a simple question: what do orally active drugs have in common?
The answer was a set of four property thresholds – now universally known as Lipinski's Rule of Five. The name comes from the fact that every cutoff is a multiple of five. Nearly three decades later, these rules remain the first filter applied to virtually every drug discovery program in the world. They are not perfect, and they have important limitations, but understanding them is essential for anyone working in medicinal chemistry or computational drug design.
The Four Rules
Lipinski's Rule of Five states that a compound is likely to have poor oral absorption or permeability if it violates two or more of the following criteria:
- Molecular weight (MW) < 500 Da – Larger molecules struggle to cross biological membranes by passive diffusion. Above 500 Da, intestinal permeability drops sharply.
- Calculated LogP (cLogP) < 5 – LogP measures lipophilicity (how much a compound prefers oil over water). Compounds that are too lipophilic tend to be insoluble in aqueous gut fluid, bind non-specifically to proteins, and accumulate in fatty tissues.
- Hydrogen bond donors (HBD) ≤ 5 – Hydrogen bond donors are NH and OH groups. Too many donors make a molecule overly polar, reducing its ability to cross the lipid bilayer of cell membranes.
- Hydrogen bond acceptors (HBA) ≤ 10 – Hydrogen bond acceptors include oxygen and nitrogen atoms. Like donors, excessive acceptors increase polarity and reduce membrane permeability.
Why These Rules Work: The Biophysics of Oral Absorption
To understand why Lipinski's rules predict oral bioavailability, you need to understand what happens after a patient swallows a pill. The drug must first dissolve in the aqueous environment of the gastrointestinal tract (solubility), then cross the intestinal epithelium to reach the bloodstream (permeability). These two barriers – dissolution and membrane crossing – are the fundamental gatekeepers of oral drug absorption.
Molecular weight directly affects both. Larger molecules are harder to dissolve and harder to push through the tight lipid bilayer of epithelial cells. There is a rough inverse relationship between MW and passive membrane permeability.
LogP captures the balance between lipophilicity and hydrophilicity. A drug needs to be lipophilic enough to partition into cell membranes but hydrophilic enough to dissolve in the gut. Too high a LogP means the compound precipitates out of aqueous solution; too low means it cannot cross membranes. The sweet spot for most oral drugs is a LogP between 1 and 3.
Hydrogen bond donors and acceptors determine the desolvation penalty – the energetic cost of stripping away water molecules when a compound enters the hydrophobic interior of a cell membrane. Each hydrogen bond with water that must be broken costs roughly 4–8 kJ/mol of free energy. Too many hydrogen-bonding groups make this penalty prohibitively high.
Famous Exceptions: When Rules Are Meant to Be Broken
Lipinski himself was careful to note that these are guidelines, not laws. Several important classes of drugs routinely violate the rules and achieve perfectly adequate oral bioavailability:
Cyclosporine – The Poster Child of Rule-Breaking
Cyclosporine is an immunosuppressant with a molecular weight of 1,202 Da – more than double the 500 Da threshold. It violates every single Lipinski rule. Yet it has been administered orally to millions of transplant patients since the 1980s. The secret is its cyclic peptide backbone, which forms intramolecular hydrogen bonds that effectively hide its polar groups from the surrounding environment, allowing it to cross membranes despite its size.
Natural Products
Antibiotics like erythromycin (MW 734) and antifungals like amphotericin B routinely exceed Lipinski thresholds. Natural products evolved under different selective pressures than synthetic molecules – many use active transport mechanisms (carrier proteins) rather than passive diffusion to enter cells. Lipinski's rules assume passive diffusion, so they systematically underestimate the bioavailability of actively transported compounds.
Kinase Inhibitors
Many modern targeted cancer therapies, particularly kinase inhibitors, sit right at or slightly above the molecular weight threshold. Drugs like imatinib (MW 493) and erlotinib (MW 393) comply, but several newer kinase inhibitors push past 500 Da and still achieve good oral exposure. This class demonstrates that a single violation – especially a modest one – is rarely a deal-breaker.
Beyond Lipinski: Veber Rules, TPSA, and PAINS Filters
Lipinski's rules capture only part of the drug-likeness picture. Over the past two decades, several complementary rule sets have emerged to address properties that Lipinski does not cover.
Veber Rules: Flexibility and Polar Surface Area
In 2002, Daniel Veber and colleagues at GlaxoSmithKline published a study showing that two additional properties strongly predict oral bioavailability in rats:
- Rotatable bonds ≤ 10 – Molecules with too many rotatable bonds are flexible and pay a large entropic penalty when they adopt the rigid conformation needed to cross a membrane. They also tend to be metabolized more rapidly.
- Topological polar surface area (TPSA) ≤ 140 Ų – TPSA measures the surface area contributed by polar atoms (N, O, and their attached H atoms). It correlates strongly with intestinal permeability – the lower the TPSA, the better the compound crosses membranes.
Using Lipinski and Veber rules together provides a more complete drug-likeness assessment than either set alone. SciRouter's molecular properties endpoint returns both TPSA and rotatable bond count alongside the Lipinski parameters.
PAINS Filters: Avoiding False Positives
PAINS (Pan-Assay Interference Compounds) are molecules that appear active in many different biological assays but are actually artifacts. They work through non-specific mechanisms – aggregation, redox cycling, covalent reactivity, or fluorescence interference – rather than genuine target binding. Common PAINS substructures include rhodanines, quinones, and curcumin-like Michael acceptors.
Filtering out PAINS is an essential complement to Lipinski screening. A molecule that passes all drug-likeness rules but contains a PAINS substructure will generate false hope: it will look active in screening assays but fail to show genuine efficacy in more rigorous tests.
Checking Drug-Likeness with the SciRouter API
SciRouter's molecular properties endpoint calculates all Lipinski parameters, Veber descriptors, and drug-likeness flags from a SMILES string. Here is how to check a compound:
Single Compound Check
import requests
API_KEY = "sk-sci-your-api-key"
BASE = "https://api.scirouter.ai/v1"
# Ibuprofen
response = requests.post(
f"{BASE}/chemistry/properties",
headers={"Authorization": f"Bearer {API_KEY}"},
json={"smiles": "CC(C)Cc1ccc(C(C)C(=O)O)cc1"}
)
props = response.json()
print(f"Compound: Ibuprofen")
print(f"Molecular Weight: {props['molecular_weight']:.1f} Da")
print(f"LogP: {props['logp']:.2f}")
print(f"H-Bond Donors: {props['hbd']}")
print(f"H-Bond Acceptors: {props['hba']}")
print(f"Rotatable Bonds: {props['rotatable_bonds']}")
print(f"TPSA: {props['tpsa']:.1f} A^2")
print(f"Lipinski Pass: {props['lipinski_pass']}")
print(f"Lipinski Violations: {props['lipinski_violations']}")The response includes both the individual properties and a convenience field that summarizes the Lipinski assessment:
{
"smiles": "CC(C)Cc1ccc(C(C)C(=O)O)cc1",
"molecular_weight": 206.28,
"logp": 3.50,
"hbd": 1,
"hba": 2,
"rotatable_bonds": 4,
"tpsa": 37.3,
"lipinski_pass": true,
"lipinski_violations": 0,
"veber_pass": true
}Batch Drug-Likeness Screening
In a real drug discovery workflow, you screen entire compound libraries against drug-likeness criteria before investing in synthesis or biological testing:
import requests
API_KEY = "sk-sci-your-api-key"
BASE = "https://api.scirouter.ai/v1"
compounds = [
{"name": "Aspirin", "smiles": "CC(=O)Oc1ccccc1C(=O)O"},
{"name": "Ibuprofen", "smiles": "CC(C)Cc1ccc(C(C)C(=O)O)cc1"},
{"name": "Cyclosporine", "smiles": "CCC1NC(=O)C(CC(C)C)N(C)C(=O)C(CC(C)C)N(C)C(=O)C(CC(C)C)NC(=O)C(C(C)CC=CC)OC(=O)C(C(C)C)N(C)C(=O)C(CC(C)C)NC(=O)C(C)NC(=O)C(CC(C)C)N(C)C(=O)C(NC(=O)C(CC(C)C)N(C)C1=O)C(C)CC"},
{"name": "Atorvastatin", "smiles": "CC(C)c1n(CC[C@@H](O)C[C@@H](O)CC(=O)O)c(C(=O)Nc2ccccc2)c(-c2ccc(F)cc2)c1-c1ccc(F)cc1"},
{"name": "Metformin", "smiles": "CN(C)C(=N)NC(=N)N"},
]
drug_like = []
non_drug_like = []
for comp in compounds:
resp = requests.post(
f"{BASE}/chemistry/properties",
headers={"Authorization": f"Bearer {API_KEY}"},
json={"smiles": comp["smiles"]}
)
props = resp.json()
entry = {"name": comp["name"], **props}
if props["lipinski_pass"] and props.get("veber_pass", True):
drug_like.append(entry)
else:
non_drug_like.append(entry)
print(f"Drug-like: {len(drug_like)}/{len(compounds)}")
for c in drug_like:
print(f" {c['name']}: MW={c['molecular_weight']:.0f}, "
f"LogP={c['logp']:.1f}, HBD={c['hbd']}, HBA={c['hba']}")
print(f"\nNon drug-like: {len(non_drug_like)}/{len(compounds)}")
for c in non_drug_like:
print(f" {c['name']}: {c['lipinski_violations']} Lipinski violations")Practical Guidelines for Medicinal Chemists
After nearly three decades of applying Lipinski's rules, the medicinal chemistry community has developed practical wisdom about how to use them effectively:
- Start within the rules – Design early lead compounds well within Lipinski space. It is much easier to add complexity (and molecular weight) during optimization than to remove it.
- Track property drift – Monitor Lipinski parameters throughout lead optimization. There is a well-documented tendency for molecular weight and lipophilicity to creep upward as chemists add functional groups to improve potency. This phenomenon, sometimes called "molecular obesity," is a leading cause of late-stage attrition.
- Use LogP, not just MW – Among the four parameters, LogP has the strongest correlation with clinical failure. Keeping LogP below 3 (not just below 5) dramatically improves the odds of a drug-like compound.
- Consider the target – If you are designing a CNS drug, you need tighter criteria: MW < 400, TPSA < 90 Ų, and fewer than 3 HBD. CNS-penetrant drugs must cross the blood-brain barrier, which is more restrictive than the intestinal epithelium.
- Know when to break the rules – If your target requires a large molecule (e.g., protein-protein interaction inhibitors), explore beyond-Rule-of-Five space deliberately, using macrocyclic or peptidomimetic strategies with built-in conformational control.
Next Steps
Lipinski's Rule of Five is the starting point for drug-likeness assessment, not the finish line. For a comprehensive evaluation, combine Lipinski screening with ADMET prediction to assess absorption, metabolism, and toxicity in detail. If you are new to molecular representations, our SMILES notation guide explains how to encode any molecule as a text string that the API can process.
To check drug-likeness for your own compounds, use the molecular properties calculator or explore the full ADMET prediction endpoint for a complete pharmacokinetic profile.
Ready to screen your compound library? Sign up for a free SciRouter API key and start profiling today.