Package: chemicalx
Documentation|External Resources|Datasets|ExamplesChemicalXis a deep learning library for drug-drug interaction, polypharmacy side effect, and synergy prediction. The library consists of data loaders and integrated benchmark datasets. It also includes state-of-the-art deep neural network architectures that solve thedrug pair scoring task. Implemented methods cover traditional SMILES string based techniques and neural message passing based models.CitingIf you findChemicalXand the new datasets useful in your research, please consider adding the following citation:@inproceedings{chemicalx,author={Benedek Rozemberczki and Charles Tapley Hoyt and Anna Gogleva and Piotr Grabowski and Klas Karis and Andrej Lamov and Andriy Nikolov and Sebastian Nilsson and Michael Ughetto and Yu Wang and Tyler Derr and Benjamin Gyori},title={{ChemicalX: A Deep Learning Library fo Drug Pair Scoring}},year={2022},}Drug Pair Scoring ExplainedOur framework solves thedrug pair scoring taskof computational chemistry. In this task a machine learning model has to predict the outcome of administering two drugs together in a biological or chemical context. Deep learning models which solve this task have an architecture with two distinctive parts:A drug encoder layer which takes a pair of drugs as an input (blue and red drugs below).A head layer which outputs scores in the administration context - polypharmacy in our explanatory figure.Getting StartedThe API ofchemicalxprovides a high-level function for training and evaluating models
that's heavily influenced by thePyKEENtraining and evaluation pipeline:fromchemicalximportpipelinefromchemicalx.modelsimportDeepSynergyfromchemicalx.dataimportDrugCombDBmodel=DeepSynergy(context_channels=112,drug_channels=256)dataset=DrugCombDB()results=pipeline(dataset=dataset,model=model,# Data argumentsbatch_size=5120,context_features=True,drug_features=True,drug_molecules=False,labels=True,# Training argumentsepochs=100,)# Outputs information about the AUC-ROC, etc. to the console.results.summarize()# Save the model, losses, evaluation, and other metadata.results.save("~/test_results/")Case Study TutorialsWe provide in-depth case study like tutorials in theDocumentation, each covers an aspect of ChemicalX’s functionality.Methods IncludedIn detail, the following drug pair scoring models were implemented.2018DeepDDIfromDeep Learning Improves Prediction of Drug–Drug and Drug–Food Interactions(PNAS)DeepSynergyfromDeepSynergy: Predicting Anti-Cancer Drug Synergy with Deep Learning(Bioinformatics)2019MR-GNNfromMR-GNN: Multi-Resolution and Dual Graph Neural Network for Predicting Structured Entity Interactions(IJCAI)MHCADDIfromDrug-Drug Adverse Effect Prediction with Graph Co-Attention(ICML)2020CASTERfromCASTER: Predicting Drug Interactions with Chemical Substructure Representation(AAAI)SSI-DDIfromSSI–DDI: Substructure–Substructure Interactions for Drug–Drug Interaction Prediction(Briefings in Bioinformatics)EPGCN-DSfromStructure-Based Drug-Drug Interaction Detection via Expressive Graph Convolutional Networks and Deep Sets(AAAI)DeepDrugfromDeepDrug: A General Graph-Based Deep Learning Framework for Drug Relation Prediction(PMC)GCN-BMPfromGCN-BMP: Investigating graph representation learning for DDI prediction task(Methods)2021DeepDDSfromDeepDDS: Deep Graph Neural Network with Attention Mechanism to Predict Synergistic Drug Combinations(Briefings in Bioinformatics)MatchMakerfromMatchMaker: A Deep Learning Framework for Drug Synergy Prediction(ACM TCBB)Head over to ourdocumentationto find out more about installation, creation of datasets and a full list of implemented methods and available datasets.
For a quick start, check out theexamplesin theexamples/directory.If you notice anything unexpected, please open anissue. If you are missing a specific method, feel free to open afeature request.InstallationPyTorch 1.10.0To install for PyTorch 1.10.0, simply runpipinstalltorch-scatter-fhttps://pytorch-geometric.com/whl/torch-1.10.0+${CUDA}.html
pipinstalltorchdrug
pipinstallchemicalxwhere${CUDA}should be replaced by eithercpu,cu102, orcu111depending on your PyTorch installation.cpucu102cu111Linux✅✅✅Windows✅✅✅macOS✅Running tests$ python setup.py testLicenseApache 2.0 License