By Yunchao "Lance" Liu, Yu Wang, Oanh Vu, Rocco Moretti, Bobby Bodenheimer, Jens Meiler, Tyler Derr
This repository is the official implementation of MolKGNN in paper Interpretable Chirality-Aware Graph Neural Network for Quantitative Structure Activity Relationship Modeling in Drug Discovery, accpeted by AAAI23.
The supplementary material can be found here.
Please cite our paper if you find MolKGNN useful in your work:
@article{Liu_Wang_Vu_Moretti_Bodenheimer_Meiler_Derr_2023, title={Interpretable Chirality-Aware Graph Neural Network for Quantitative Structure Activity Relationship Modeling in Drug Discovery}, volume={37}, url={https://ojs.aaai.org/index.php/AAAI/article/view/26679}, DOI={10.1609/aaai.v37i12.26679}, number={12}, journal={Proceedings of the AAAI Conference on Artificial Intelligence}, author={Liu, Yunchao (Lance) and Wang, Yu and Vu, Oanh and Moretti, Rocco and Bodenheimer, Bobby and Meiler, Jens and Derr, Tyler}, year={2023}, month={Jun.}, pages={14356-14364} }
MolKGNN is a deep learning model based on Grah Neural Networks (GNNs) for molecular representation learning. It features in:
My blog explaining this paper.
This repository does NOT include the datasets used in the experiment. Please download the datasets from this link
These are well-curated realistic datasets that removes false positves for a diverse important drug targets. The datasets also feature in its high imbalance nature (much more inactive molecules than active ones). Original papers of the datasets: see references [1,2].
Introduction of the Datasets
High-throughput screening (HTS) is the use of automated equipment to rapidly screen thousands to millions of molecules for the biological activity of interest in the early drug discovery process [3]. However, this brute-force approach has low hit rates, typically around 0.05%-0.5% [4]. Meanwhile, PubChem [5] is a database supported by the National Institute of Health (NIH) that contains biological activities for millions of drug-like molecules, often from HTS experiments. However, the raw primary screening data from the PubChem have a high false positive rate [6]. A series of secondary experimental screens on putative actives is used to remove these. While all relevant screens are linked, the datasets of molecules are often not curated to list all inactive molecules from the primary HTS and only confirmed actives after secondary screening. Thus, we identified nine high-quality HTS experiments in PubChem covering all important target protein classes for drug discovery. We carefully curated these datasets to have lists of inactive and confirmed active molecules.
Statistics of the Datasets, specified by PubChem Assay ID (AID)
Uncompress the downloaded file and you will see several .sdf files. Create a folders according to the diagram below. Place all .sdf files raw folder.
You can use the dataset_multigenerator.py
to process all of them in parallel into PyG's InMemoryDataset, as shown below.
python dataset_multigenerator.py
The processed data will appear in the processed folder
root_dir |--dataset | |--qsar | | |--clean_sdf | | | |--processed | | | | |--kgnn-based-{dataset_AID}-3D.pt | | | |--raw | | | | |--{dataset_AID}_actives_new.sdf | | | | |--{dataset_AID}_inactives_new.sdf |--kgnn |--entry.py |--*.py
Here is an exmaple for running the code:
python entry.py --dataset_name 1798 --dataset_path ../dataset/ --num_workers 16 --enable_oversampling_with_replacement --warmup_iterations 200 --max_epochs 3 --peak_lr 5e-2 --end_lr 1e-9 --batch_size 16 --default_root_dir actual_training_checkpoints --num_layers 3 --num_kernel1_1hop 10 --num_kernel2_1hop 20 --num_kernel3_1hop 30 --num_kernel4_1hop 50 --num_kernel1_Nhop 10 --num_kernel2_Nhop 20 --num_kernel3_Nhop 30 --num_kernel4_Nhop 50 --node_feature_dim 28 --edge_feature_dim 7 --hidden_dim 32 --seed 1 --task_comment "this is a test"
Feel free to drop questions in the Issues tab, or contact me at yunchao.liu@vanderbilt.edu