Blog
How to Check Drug-Likeness and ADMET of Your Docked Ligands (SwissADME, pkCSM and Lipinski’s Rule of Five)
- August 14, 2026
- Posted by: Stemskills Lab
- Category: Drug Design

Drug-likeness and ADMET screening takes the SMILES string of a compound you already docked and returns computed physicochemical descriptors plus predicted absorption, distribution, metabolism, excretion and toxicity endpoints, free, in a browser, in minutes. It is a prioritisation and reporting step that comes after docking. It is not a pass/fail gate, and a single Lipinski violation is not a reason to delete your best hit.
Almost every MSc docking project reaches the same point. You have a results table, a top-scoring compound, and a supervisor asking whether the molecule is actually drug-like. This guide covers that step, written by the StemSkills Lab team from 10+ years in structural bioinformatics, drug design and multiscale molecular modeling.
Where does drug-likeness screening sit in the docking workflow?
It sits at the end. You choose a target, prepare the protein and ligand, set the grid box, run AutoDock Vina, interpret the binding affinities, and validate by redocking. Drug-likeness screening is what you do to the compounds that survive.
What it does not tell you matters just as much:
- It is not a potency measure. These tools never see your protein. They read one molecule and nothing else, so they say nothing about whether it binds your target.
- It does not replace the docking score. A compound with perfect predicted properties and no affinity for your target is not a hit.
- It is prediction, not measurement. Every value comes from a model trained on published data. No output from these servers belongs in a thesis phrased as a fact.
How do you get a trustworthy SMILES for the exact molecule you docked?
This is where most projects quietly go wrong. You docked a PDBQT or MOL2 file, the server wants a SMILES string, so you search the compound name on PubChem and paste the first result. That string is often not the molecule you docked. Different tautomer, different protonation state, missing stereochemistry, or a different database entry sharing the same common name.
Generate the SMILES from the docked structure instead. Open Babel does this directly, and the Open Babel documentation covers the format codes:
obabel ligand_out.pdbqt -ocan -O ligand_docked.smi -f 1 -l 1The -ocan flag writes canonical SMILES. Vina writes every binding mode into one output file, so -f 1 -l 1 restricts the conversion to the first model rather than giving you one line per pose.
To confirm identity against a database entry, compare InChIKeys rather than eyeballing the SMILES:
obabel ligand_out.pdbqt -oinchikey -f 1 -l 1If that key does not match the PubChem or DrugBank record you have been citing, resolve the difference before you run anything. Note that the first block of an InChIKey encodes the skeletal connectivity while later blocks carry protonation and stereochemistry, so a partial match usually means you have the right scaffold in a different state.
How do you run SwissADME and read every panel?
SwissADME is hosted by the Swiss Institute of Bioinformatics at swissadme.ch. Paste your SMILES into the input box, one molecule per line, and run. There is no account and no login. The tool paper, Daina, Michielin and Zoete, Scientific Reports 2017;7:42717, states plainly that “SwissADME is user-friendly and has been conceived for a variety of users, including nonexpert in cheminformatics or computational chemistry.”
Each molecule returns one panel containing these sections.
Physicochemical properties and the Bioavailability Radar
Molecular weight, heavy atom count, rotatable bonds, hydrogen bond donors and acceptors, and topological polar surface area. The radar plots six properties against a shaded region of acceptable oral bioavailability, which is a quick visual, not a verdict.
Lipophilicity and water solubility
SwissADME reports several Log P predictors and a consensus value averaged across them. Report the consensus and name it as such. The solubility block gives predicted Log S with a descriptive class attached.
Pharmacokinetics and the BOILED-Egg
This is the most screenshot-able output in the entire workflow, and it is routinely misread. The BOILED-Egg plots WLOGP against TPSA and divides the space into two regions:
- The yolk (yellow region): high probability of brain penetration.
- The white: high probability of passive gastrointestinal absorption.
- Outside both (grey): low predicted absorption and limited predicted brain penetration.
- Dot colour: blue means the molecule is predicted to be a P-glycoprotein substrate and therefore actively effluxed. Red means predicted non-substrate.
The two regions are not exclusive. A point inside the yolk sits inside the white as well, which is why a compound can be predicted to cross both the gut wall and the blood-brain barrier. Say “predicted high passive gastrointestinal absorption”, never “the compound is absorbed”.
Drug-likeness
SwissADME applies six rule sets: Lipinski, Ghose, Veber, Egan, Muegge, and the Abbott Bioavailability Score. Report which filters the molecule passed and, for any it failed, which specific criterion was violated.
Medicinal chemistry, including PAINS
This panel is the one most theses skip, and it is arguably the most useful thing the step can tell you. It screens against 481 PAINS substructures, which flag pan-assay interference compounds that produce false positives in screening, and against 105 Brenk structural alerts covering fragments linked to toxicity, reactivity or metabolic instability. The synthetic accessibility score runs from 1 to 10, easy to difficult, derived from fragment frequencies across 12.7 million vendor-available compounds.
A PAINS alert on your top-scoring hit is a genuine finding. It does not invalidate your docking, but it belongs in your discussion, because it tells the reader that this scaffold has a documented tendency to appear active in assays for reasons unrelated to real binding.
Want the guided, hands-on version?
Our live Molecular Modeling & MD Simulations cohort bootcamp takes you from zero to running real docking and MD workflows, with a portfolio project for your grad-school applications.
What does pkCSM add that SwissADME does not?
Quantitative endpoints, especially toxicity. pkCSM predicts numeric ADMET values using graph-based signatures that encode distance patterns between atoms. The method paper is Pires, Blundell and Ascher, Journal of Medicinal Chemistry 2015;58(9):4066-4072, and the server runs at biosig.lab.uq.edu.au/pkcsm. You submit a SMILES string as text or upload a file for multiple molecules, and the site states that no molecule information is retained after upload.
Its endpoints are grouped into five categories:
- Absorption: Caco-2 permeability, water solubility, human intestinal absorption, P-glycoprotein substrate and inhibitor calls, skin permeability.
- Distribution: steady-state volume of distribution, fraction unbound, blood-brain barrier permeability as logBB, CNS permeability as logPS.
- Metabolism: CYP inhibition and substrate predictions across CYP1A2, CYP2C9, CYP2C19, CYP2D6 and CYP3A4.
- Excretion: total clearance and renal OCT2 substrate.
- Toxicity: AMES mutagenicity, rat LD50, maximum tolerated dose, hepatotoxicity, skin sensitisation, hERG I and hERG II inhibition, and several ecotoxicity endpoints.
The hERG and AMES calls are the ones examiners ask about, because a predicted hERG blocker or a predicted mutagen is a real liability worth discussing.
SwissADME vs pkCSM vs ADMETlab 3.0: which should you use?
Use two, not one. Agreement between independent models is more informative than either alone.
| Feature | SwissADME | pkCSM | ADMETlab 3.0 |
|---|---|---|---|
| Input | SMILES list or built-in sketcher | SMILES text or uploaded file | SMILES, file upload, plus an API |
| Batch support | Multiple SMILES, one per line | Yes, via file upload | Yes, including programmatic access |
| Physicochemical | Yes, with Bioavailability Radar | Limited | Yes |
| ADME | Qualitative and classification-style | Quantitative numeric endpoints | Quantitative, 119 endpoints total |
| Toxicity | No dedicated toxicity block | Yes, including AMES, hERG, LD50 | Yes, extensive |
| Drug-likeness rules | Six rule sets | No | Yes |
| Med-chem alerts | PAINS and Brenk | No | Yes |
| Registration | Not required | Not required | Not required |
| Export | CSV download of results | On-page results table | CSV and report download |
| Best MSc use case | Drug-likeness, PAINS, BOILED-Egg figure | Toxicity and numeric ADMET table | Broadest endpoint coverage in one run |
ADMETlab 3.0 is the third option worth knowing. Its 2024 Nucleic Acids Research paper reports 119 endpoints, an increase of 31 over the previous version, trained on a database more than 1.5 times larger than before at over 400,000 entries.
Does failing Lipinski’s rule of five disqualify your compound?
No. This is the single most damaging misconception in student docking projects, and correcting it will improve your thesis more than any other item on this page.
Lipinski, Lombardo, Dominy and Feeney described an observation about orally active compounds in the discovery setting: poor absorption or permeation is more likely when molecular weight exceeds 500, calculated Log P exceeds 5, there are more than 5 hydrogen bond donors, or more than 10 hydrogen bond acceptors. Compounds are usually judged as acceptable with no more than one violation.
Three things follow that students routinely miss:
- The rule carries explicit exceptions. Compound classes that are substrates for biological transporters fall outside it, because the rule describes passive diffusion.
- Natural products violate it constantly and are still drugs. Macrolides and peptides break these filters as a matter of course. Since natural product libraries are the most common ligand source in student docking projects, this exception applies to a large share of readers directly.
- It says nothing about activity. The rule addresses absorption and permeability, not whether a molecule binds anything.
So report violations, do not filter on them. Write “the compound violates one Lipinski criterion, with a molecular weight above the 500 threshold” rather than deleting the row. Naming which rule was broken and by how much is what separates an interpreted result from a mechanical one.
How should you report ADMET predictions in a thesis?
Phrase predictions as predictions, and cite the tool. A defensible sentence looks like this:
“Physicochemical descriptors and drug-likeness were computed with SwissADME (Daina et al., 2017; accessed 12 August 2026), and ADMET endpoints were predicted with pkCSM (Pires et al., 2015). Compound 4 was predicted to show high gastrointestinal absorption and was predicted not to be a P-glycoprotein substrate. It violated one Lipinski criterion.”
Include the access date, because these servers are updated. Never write “the compound is non-toxic” on the strength of a predicted AMES call. Our guide to writing the methods section of a docking study covers the surrounding paragraph structure, and docking project ideas for an MSc thesis shows where this step fits into a full project plan.
Troubleshooting: seven real problems and their fixes
- The server rejects your SMILES as invalid. Usually a stray newline or a space introduced by copy-paste from a PDF, or a smart quote replacing a normal character. Paste into a plain text editor first, confirm the string is on one unbroken line, and regenerate with Open Babel if in doubt.
- The SMILES from your docked pose does not match the compound name you have been using. Trust the docked structure, because that is the molecule that produced your results. Then work out why they differ. If the mismatch is protonation or tautomer state, your ligand preparation introduced it deliberately and you should say so. If it is a different scaffold, you docked the wrong molecule and the docking must be repeated.
- A metal-containing complex or a large peptide returns nonsense or nothing. These models were trained on small organic molecules and the input sits outside their applicability domain. Do not report the output. State in your thesis that the ligand class falls outside the model’s training space.
- Your compound fails one Lipinski rule and you do not know whether to keep it. Keep it. Report the violation, name the criterion, and check whether the compound is a natural product or a plausible transporter substrate, both of which are recognised exceptions.
- SwissADME and pkCSM disagree on a property. This is expected, since they use different models and different training data. Report both, attribute each to its tool, and treat the disagreement as a statement of uncertainty rather than an error to be resolved.
- Your top-scoring hit carries a PAINS alert. Do not hide it. Report the alert, note that PAINS substructures are associated with assay interference rather than proven inactivity, and if you have alternative hits without alerts, prioritise those for follow-up work.
- Batch submission returns fewer molecules than you submitted. One malformed line will commonly drop silently. Count the output rows against your input lines every time, and resubmit the missing entries individually to see the actual error.
What comes after drug-likeness screening?
The compounds that survive both the docking score and this filter are the ones worth the compute time of molecular dynamics. Take them into a protein-ligand MD simulation in GROMACS to test whether the pose is stable, then estimate binding free energy with MM-PBSA. A 2D interaction diagram alongside the ADMET table makes a strong results figure.
For the full sequence from first structure to final thesis chapter, work through the learn molecular docking pillar and the computational biology skills roadmap.
Frequently asked questions
Is SwissADME free, and do I need to create an account?
It is free and requires no account. The Swiss Institute of Bioinformatics hosts it, and the tool paper describes it as a login-free web resource.
Can I run SwissADME on a PDB or PDBQT file directly?
No. It takes SMILES input. Convert your docked ligand with Open Babel using obabel ligand_out.pdbqt -ocan -O ligand.smi -f 1 -l 1, which also guarantees you are screening the molecule you actually docked.
Which is better, SwissADME or pkCSM?
They answer different questions. SwissADME is stronger on physicochemical descriptors, drug-likeness rule sets, PAINS alerts and the BOILED-Egg figure. pkCSM gives quantitative ADMET values including toxicity endpoints such as AMES and hERG. Most projects run both.
How many Lipinski violations are acceptable?
The convention is no more than one violation for an orally active compound. Treat this as a reporting threshold, not a deletion rule, and remember that transporter substrates and many natural products are recognised exceptions.
Can I say my compound is non-toxic because pkCSM predicted negative AMES toxicity?
No. That is a prediction from a model, not a measurement. Write that the compound was predicted to be non-mutagenic in the AMES model, cite pkCSM, and leave the claim there.
Does a good ADMET profile mean my docking result is valid?
No. These tools never see your protein. Docking validity comes from your protocol, including redocking the co-crystallised ligand and checking RMSD.
Want the guided, hands-on version?
Our live Molecular Modeling & MD Simulations cohort bootcamp takes you from zero to running real docking and MD workflows, with a portfolio project for your grad-school applications.