Skip to main content

Drug-likeness scoring based on unsupervised learning

This repository contains API for Drug-likeness scoring based on unsupervised learning. Original code is available at SeonghwanSeo/DeepDL.

If you want to train the model with your own dataset, please see the section #train-model.

If you have any problems or need help with the code, please add an issue or contact shwan0106@kaist.ac.kr.

TL;DR

# evaluate a molecule with DeepDL
>>> python scoring.py 'CC(=O)Oc1ccccc1C(=O)O'
score: 88.856

# evaluate a molecule with naive setting using another model
>>> python scoring.py 'CC12C(O)CNC13C1CC(N1)C23' --naive -m chemsci-2021
score: 41.399

# screening
>>> python screening.py data/examples/chembl_1k.smi -o out.csv --naive --cuda
  • 88.856 is the predicted score. The higher the score, the higher the drug-likeness.
  • For fast screening, consider using naive setting, which evaluates a single stereoisomer.
  • Multiple models are providen; see #model-list for details.

Installation

# use pip
pip install druglikeness

# from official github (python 3.9-3.13)
git clone https://github.com/SeonghwanSeo/drug-likeness.git
cd drug-likeness
pip install -e .

Python API

from druglikeness.deepdl import DeepDL

# Enter the name of model (see `# Model List`) or the path of your own model.
pretrained_model_name_or_path = 'extended'

# This will download the model weights if you provide the model name.
model = DeepDL.from_pretrained(pretrained_model_name_or_path, device="cpu")

# Evaluate the molecule.
score = model.scoring(smiles='CC(=O)Oc1ccccc1C(=O)O', naive=False)

# Screen the molecules.
score_list = model.screening(smiles_list=['c1ccccc1', 'CCN'], naive=True, batch_size=64)

Model List

Model Name Description
extended (default) New model trained on an updated drug database. (excluding test set: FDA-approved drugs)
chemsci-2025 Retrained model of chemsci-2021 with hyperparameter tuning.
chemsci-2021 Finetuned model from the paper (PubChem pretrained, World Drug finetuned).
chemsci-2021-pretrain Pretrained model from the paper (trained on PubChem)

If your environment is offline, you can manually download the models from Google Drive.

Model Performance

Following shows the scoring performance (AUROC) of the models on the various test datasets.

Model Mode FDA vs ChEMBL FDA vs ZINC15 FDA vs GDB17
extended strict 0.862 0.961 0.991
extended naive 0.861 0.961 0.989
chemsci-2025 strict 0.817 0.941 0.984
chemsci-2025 naive 0.817 0.941 0.982

Train Model

You can finetune the model with your own dataset using the pretrained model on PubChem dataset.

pip install -e '.[train]'

# train with the 2.8k training set from the paper
bash ./scripts/download_data.sh
python ./scripts/finetune.py --data_path ./data/train/worlddrug_not_fda.smi

python ./scripts/finetune.py --data_path <smi_file>

Evaluation

# download train/test datasets
>>> bash ./scripts/download_data.sh

# evaluate the model
>>> python ./scripts/evaluate.py --cuda

# Output
Test 1489 molecules in data/test/fda.smi
Average score: 79.40051813170444

Test 1792 molecules in data/test/investigation.smi
Average score: 68.71052120625973

Test 10000 molecules in data/test/chembl.smi
Average score: 64.11581128692627

Test 10000 molecules in data/test/zinc15.smi
Average score: 52.7382759815216

Test 10000 molecules in data/test/gdb17.smi
Average score: 39.37572152862549

AUROC
FDA vs Investigation   : 0.789
FDA vs ChEMBL          : 0.862
FDA vs ZINC15          : 0.961
FDA vs GDB17           : 0.991

Citation

@article{lee2022drug,
  title={Drug-likeness scoring based on unsupervised learning},
  author={Lee, Kyunghoon and Jang, Jinho and Seo, Seonghwan and Lim, Jaechang and Kim, Woo Youn},
  journal={Chemical science},
  volume={13},
  number={2},
  pages={554--565},
  year={2022},
  publisher={Royal Society of Chemistry}
}

Metadata

Release files for druglikeness 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for druglikeness 0.2.2
File Size Uploaded Provenance Actions
druglikeness-0.2.2.tar.gz 14.2 kB Without provenance Details for druglikeness-0.2.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for druglikeness 0.2.2
File Interpreter ABI Platform Actions
druglikeness-0.2.2-py3-none-any.whl Python 3 none any Details for druglikeness-0.2.2-py3-none-any.whl

Total release size: 28.9 kB

Release files / druglikeness-0.2.2.tar.gz

Download URL druglikeness-0.2.2.tar.gz
Size 14.2 kB
Tags Source
SHA-256 checksum
How to use checksums
66888f8e1cb056ce4856091465ec93d2653c285387a55680ab86ea2f1228814c
BLAKE2b-256 checksum
How to use checksums
5825506e0b3770c2fb53ece27bf5fa69b1b095d35f2089606b9c9879914e1b09
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Release files / druglikeness-0.2.2-py3-none-any.whl

Download URL druglikeness-0.2.2-py3-none-any.whl
Size 14.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
603bb26099ab8bbefbc5dae965bddf43603d54d4337f266c860726c809f5b092
BLAKE2b-256 checksum
How to use checksums
1de93fc8c18ff7a4d8875ce3739921750e41d79a7853171f316d87c26ef3a083
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Security for druglikeness 0.2.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page