SkillAgentSearch skills...

PrismNet

Code for "Spectral decomposition of chemical semantics for activity cliffs-aware molecular property prediction".

Install / Use

/learn @GZU-SAMLab/PrismNet
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

PrismNet

Code for "Spectral decomposition of chemical semantics for activity cliffs-aware molecular property prediction".

python pytorch cuda

Abstract

Accurately predicting physicochemical and biological properties for molecules is of great significance for modern drug discovery, yet existing deep learning models often fail to emulate the holistic, multi-level reasoning of human chemists. These models, typically reliant on single molecular graphs, struggle to capture the synergistic interplay between global scaffolds, functional groups, and pharmacophoric patterns, and are often insensitive to the subtle local perturbations that cause “activity cliffs”. Here, we introduce PrismNet, a chemistry-inspired spectral graph network that emulates chemical intuition through a computational prism analogy. PrismNet decomposes complex molecular information through a dual-decomposition strategy. It first refracts molecules into fundamental chemical perspectives—scaffolds, functional groups, and pharmacophores—and then resolves these views into distinct spectral frequencies. Augmented by a dynamic learning strategy to handle data heterogeneity, PrismNet achieves state-of-the-art performance across a comprehensive suite of 64 benchmark datasets on property prediction, with 30 challenging activity cliff datasets included. More importantly, its decisions are chemically interpretable, as it autonomously identifies critical substructures that align with established structure-activity relationships. This work establishes a framework for learning chemically trustworthy representations by unifying multi-scale semantics with spectral decomposition, paving the way for more reliable in silico screens in drug discovery.

framework

Installation

conda env create -f environment.yml
conda activate PrismNet

Download datasets

To download the datasets: https://drive.google.com/file/d/1JF_ePa4LQTlDBrql3oDUrDCTrSTMYnNa.

Then unzip the file and put it into the data directory.

Pretraining

Preparing dataset

Preprocess dataset:

cd data_process
python prepare_pretrain_dataset.py

Then you can get the processed pretrain dataset.

Pretraining

Commands for pretrain:

cd scripts
python pretrain.py --dataset zinc15_250K  --seed 19  --epochs 150  --gpu 0

Usage:

options:
  -h, --help            show this help message
  --dataset             pretraining dataset
  --seed SEED           random seeds
  --epochs EPOCHS       number of total epochs to run
  --gpu GPU             gpu id

All hyperparameters can be tuned in the scripts/utils.py.

You can also download the pretrained model at: https://drive.google.com/file/d/1gk8FDLceQGb4xWlGyq9iy_K2ncf32ipz.

Then put it into the ckpts directory.

Finetune

Preparing dataset

cd data_process
python preprocess.py

Then you can get the processed dataset.

Finetune

Fine-tune pre-trained model on a specific downstream task:

cd scripts
python finetune.py  --gpu 0  --dataset bace  --seed 19  --epochs 150 --ckpt_path  ../ckpts/pretrain.pth

Usage:

options:
  -h, --help            show this help message
  --dataset             fine-tuning dataset
  --seed SEED           random seeds
  --epochs EPOCHS       number of total epochs to run
  --gpu GPU             gpu id
  --ckpt_path           pretrained model path

All hyperparameters can be tuned in the scripts/utils.py.

Evaluation

We provide the fine-tuned model for 11 datasets, to guarantee the reproducibility of the test results reported in our paper.

Download finetuned models

To download the fine-tuned models: https://drive.google.com/file/d/15HlEKCjd-Jhx3o4AH5yyu5IUcbAQDNKj

Then unzip it and put the files in the ckpts directory.

Reproduce the results

Then the results can be reproduced by:

cd scripts
python finetune.py  --type evaluate --gpu 0  --dataset bace  --seed 19 --ckpt_path  ../ckpts/bace.pt

Related Skills

View on GitHub
GitHub Stars4
CategoryProduct
Updated1mo ago
Forks0

Languages

Python

Security Score

85/100

Audited on Feb 18, 2026

No findings