https://github.com/astrazeneca/chemicalx
A PyTorch and TorchDrug based deep learning library for drug pair scoring. (KDD 2022)
Science Score: 33.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
✓DOI references
Found 6 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org, pubmed.ncbi, ncbi.nlm.nih.gov, sciencedirect.com -
✓Committers with academic emails
1 of 13 committers (7.7%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.4%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
A PyTorch and TorchDrug based deep learning library for drug pair scoring. (KDD 2022)
Basic Info
- Host: GitHub
- Owner: AstraZeneca
- License: apache-2.0
- Language: Python
- Default Branch: main
- Homepage: https://chemicalx.readthedocs.io
- Size: 20.4 MB
Statistics
- Stars: 747
- Watchers: 21
- Forks: 95
- Open Issues: 9
- Releases: 10
Topics
Metadata Files
README.md
Documentation | External Resources | Datasets | Examples
ChemicalX is 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 the drug pair scoring task. Implemented methods cover traditional SMILES string based techniques and neural message passing based models.
Citing
If you find ChemicalX and the new datasets useful in your research, please consider adding the following citation:
```bibtex @inproceedings{10.1145/3534678.3539023, author = {Rozemberczki, Benedek and Hoyt, Charles Tapley and Gogleva, Anna and Grabowski, Piotr and Karis, Klas and Lamov, Andrej and Nikolov, Andriy and Nilsson, Sebastian and Ughetto, Michael and Wang, Yu and Derr, Tyler and Gyori, Benjamin M.}, title = {ChemicalX: A Deep Learning Library for Drug Pair Scoring}, year = {2022}, isbn = {9781450393850}, publisher = {Association for Computing Machinery}, address = {New York, NY, USA}, url = {https://doi.org/10.1145/3534678.3539023}, doi = {10.1145/3534678.3539023}, booktitle = {Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining}, pages = {3819–3828}, numpages = {10}, keywords = {chemistry, neural networks, deep learning}, location = {Washington DC, USA}, series = {KDD '22} }
```
Drug Pair Scoring Explained
Our framework solves the drug pair scoring task of 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 Started
The API of chemicalx provides a high-level function for training and evaluating models
that's heavily influenced by the PyKEEN
training and evaluation pipeline:
```python from chemicalx import pipeline from chemicalx.models import DeepSynergy from chemicalx.data import DrugCombDB
model = DeepSynergy(contextchannels=112, drugchannels=256) dataset = DrugCombDB()
results = pipeline( dataset=dataset, model=model, # Data arguments batchsize=5120, contextfeatures=True, drugfeatures=True, drugmolecules=False, # Training arguments epochs=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 Tutorials
We provide in-depth case study like tutorials in the Documentation, each covers an aspect of ChemicalX’s functionality.
Methods Included
In detail, the following drug pair scoring models were implemented.
2018
DeepDDI from Deep Learning Improves Prediction of Drug–Drug and Drug–Food Interactions (PNAS)
DeepSynergy from DeepSynergy: Predicting Anti-Cancer Drug Synergy with Deep Learning (Bioinformatics)
2019
MR-GNN from MR-GNN: Multi-Resolution and Dual Graph Neural Network for Predicting Structured Entity Interactions (IJCAI)
MHCADDI from Drug-Drug Adverse Effect Prediction with Graph Co-Attention (ICML)
2020
CASTER from CASTER: Predicting Drug Interactions with Chemical Substructure Representation (AAAI)
SSI-DDI from SSI–DDI: Substructure–Substructure Interactions for Drug–Drug Interaction Prediction (Briefings in Bioinformatics)
EPGCN-DS from Structure-Based Drug-Drug Interaction Detection via Expressive Graph Convolutional Networks and Deep Sets (AAAI)
DeepDrug from DeepDrug: A General Graph-Based Deep Learning Framework for Drug Relation Prediction (PMC)
GCN-BMP from GCN-BMP: Investigating graph representation learning for DDI prediction task (Methods)
2021
DeepDDS from DeepDDS: Deep Graph Neural Network with Attention Mechanism to Predict Synergistic Drug Combinations (Briefings in Bioinformatics)
MatchMaker from MatchMaker: A Deep Learning Framework for Drug Synergy Prediction (ACM TCBB)
Head over to our documentation to find out more about installation, creation of datasets and a full list of implemented methods and available datasets.
For a quick start, check out the examples in the examples/ directory.
If you notice anything unexpected, please open an issue. If you are missing a specific method, feel free to open a feature request.
Installation
PyTorch 1.10.0
To install for PyTorch 1.10.0, simply run
sh
pip install torch-scatter -f https://pytorch-geometric.com/whl/torch-1.10.0+${CUDA}.html
pip install torchdrug
pip install chemicalx
where ${CUDA} should be replaced by either cpu, cu102, or cu111 depending on your PyTorch installation.
| | cpu | cu102 | cu111 |
|-------------|-------|---------|---------|
| Linux | ✅ | ✅ | ✅ |
| Windows | ✅ | ✅ | ✅ |
| macOS | ✅ | | |
Running tests
``` $ tox -e py
```
License
Owner
- Name: AstraZeneca
- Login: AstraZeneca
- Kind: organization
- Location: Global
- Website: https://www.astrazeneca.com/
- Repositories: 33
- Profile: https://github.com/AstraZeneca
Data and AI: Unlocking new science insights
GitHub Events
Total
- Watch event: 36
- Issue comment event: 1
- Fork event: 8
Last Year
- Watch event: 36
- Issue comment event: 1
- Fork event: 8
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Rozemberczki | k****8@a****t | 268 |
| Charles Tapley Hoyt | c****t@g****m | 27 |
| Piotr Grabowski | 3****a | 2 |
| Ben Gyori | b****i@g****m | 2 |
| Michaël Ughetto | m****o@a****m | 2 |
| walter | 3****y | 1 |
| kkaris | k****s@g****m | 1 |
| avi-pomicell | 7****l | 1 |
| Yu Wang (Jack) | y****1@V****u | 1 |
| Sebastian Nilsson | 5****o | 1 |
| Benson Liu | b****u@g****m | 1 |
| Andriy Nikolov | a****v@g****m | 1 |
| Andrej Lamov | a****v@g****m | 1 |
Committer Domains (Top 20 + Academic)
Packages
- Total packages: 3
-
Total downloads:
- pypi 134 last-month
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 1
(may contain duplicates) - Total versions: 24
- Total maintainers: 3
proxy.golang.org: github.com/AstraZeneca/chemicalx
- Documentation: https://pkg.go.dev/github.com/AstraZeneca/chemicalx#section-documentation
- License: apache-2.0
-
Latest release: v0.1.0
published about 4 years ago
Rankings
proxy.golang.org: github.com/astrazeneca/chemicalx
- Documentation: https://pkg.go.dev/github.com/astrazeneca/chemicalx#section-documentation
- License: apache-2.0
-
Latest release: v0.1.0
published about 4 years ago
Rankings
pypi.org: chemicalx
A Deep Learning Library for Drug Pair Scoring.
- Homepage: https://github.com/AstraZeneca/chemicalx
- Documentation: https://chemicalx.readthedocs.io/
- License: Apache License, Version 2.0
-
Latest release: 0.1.0
published about 4 years ago
Rankings
Maintainers (3)
Dependencies
- jupyter-sphinx *
- nbsphinx *
- nbsphinx_link *
- numpy *
- pandas *
- scipy *
- six *
- sklearn *
- sphinx ==4.0.2
- sphinx-autodoc-typehints *
- sphinx-automodapi *
- sphinx_rtd_theme ==0.5.2
- torchdrug *
- tqdm *
- class-resolver >=0.2.1
- more-itertools *
- numpy *
- pandas <=1.3.5
- pystow *
- pytdc *
- scikit-learn *
- tabulate *
- torch >=1.10.0
- torch-scatter >=2.0.8
- torchdrug *
- tqdm *
- actions/checkout v2 composite
- actions/setup-python v2 composite
- actions/setup-python v1 composite
- codecov/codecov-action v1 composite