SkillAgentSearch skills...

MTPNet

MTPNet: Multi-Grained Target Perception for Unified Activity Cliff Prediction

Install / Use

/learn @ZishanShu/MTPNet
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

MTPNet: Multi-Grained Target Perception for Unified Activity Cliff Prediction

Python CUDA License

MTPNet Framework

MTPNet is a novel deep learning framework for activity cliff prediction, a crucial task in drug discovery and material design. Unlike previous models limited to single-target prediction, MTPNet leverages multi-grained semantic information from receptor proteins to guide molecular representation learning, achieving state-of-the-art performance across both regression and classification tasks.

🔬 Abstract

Activity cliff prediction is a critical task in drug discovery and material design. Existing computational methods are limited to handling single binding targets, which restricts the applicability of these prediction models.

MTPNet addresses this limitation by incorporating Macro-level Target Semantic (MTS) and Micro-level Pocket Semantic (MPS) guidance into a unified framework. It dynamically conditions molecular embeddings on protein-level semantics, capturing complex molecular-protein interactions.

On 30 benchmark datasets from MoleculeACE, MTPNet outperforms existing methods with an average 18.95% RMSE improvement across several mainstream GNN architectures.

📁 Tasks and Datasets

MTPNet supports two major tasks:

1. Regression Task (MoleculeACE)

  • Benchmark platform: MoleculeACE
  • 30 datasets, each representing an individual macromolecular target
  • Over 35,000 molecules in total
  • 12 datasets contain fewer than 1,000 training samples → ideal for low-data evaluation

2. Classification Task (CYP3A4)

  • Dataset: CYP3A4 activity cliff data
  • Source: [Veith et al., 2009], curated by [Rao et al., 2022]
  • 3,626 active inhibitors/substrates vs. 5,496 inactive compounds

🚀 Installation

  1. Clone this repository:
git clone https://github.com/ZishanShu/MTPNet
cd MTPNet
  1. Create the Conda environment (CUDA 11.8 compatible):
conda env create -f MTPNet.yaml
conda activate MTPNet

🏃‍♂️ Usage

Train with MTPNet:

CUDA_VISIBLE_DEVICES=0,1,2,3 python -m torch.distributed.launch \
    --nproc_per_node=4 --use_env main.py \
    --model configs/model/MTPNet.yaml \
    --data configs/data/MolACE.yaml \
    --task regression --dataset ALL

Train baseline model:

CUDA_VISIBLE_DEVICES=0,1,2,3 python -m torch.distributed.launch \
    --nproc_per_node=4 --use_env main-5z.py \
    --model configs/model/Baseline.yaml \
    --data configs/data/MolACE.yaml \
    --task regression --dataset ALL

Train classification model:

CUDA_VISIBLE_DEVICES=0,1,2,3 python -m torch.distributed.launch \
    --nproc_per_node=4 --use_env main_classify.py \
    --model configs/model/Baseline.yaml \
    --data configs/data/MolACE.yaml \
    --task binary --dataset CYP3A4

5-Fold Cross-Validation:

CUDA_VISIBLE_DEVICES=0,1,2,3 python -m torch.distributed.launch \
    --nproc_per_node=4 --use_env main-5z-all.py \
    --model configs/model/MTPNet.yaml \
    --data configs/data/MolACE.yaml \
    --task regression --dataset ALL

📝 Tip: You can also specify individual datasets using --dataset CHEMBL244_Ki, etc.


🔍 Testing

python test.py \
    --model ./configs/model/MTPNet.yaml \
    --data ./configs/data/MolACE.yaml \
    --weight ./result/ALL/MTPNet/best_model_epoch.pth \
    --task regression \
    --dataset ALL

🧠 Tip: Train on Individual Datasets

By default, training uses all datasets (--dataset ALL). You can also train on a single dataset by replacing ALL with one of the dataset names:

--dataset CHEMBL1871_Ki
--dataset CHEMBL218_EC50
--dataset CHEMBL244_Ki
# ... or any of the 30 MoleculeACE datasets

📌 Each dataset corresponds to a specific protein target. You can find all supported names in the MoleculeACE benchmark.

📎 License

This project is licensed under the MIT License.

Related Skills

View on GitHub
GitHub Stars16
CategoryDevelopment
Updated29d ago
Forks1

Languages

Python

Security Score

75/100

Audited on Mar 11, 2026

No findings