Implementations of different graph neural networks (GNNs) from scratch for Chemists
This repository serves as an educational resource for chemists and researchers interested in applying Graph Neural Networks to chemical problems. Each notebook progressively builds upon fundamental concepts, from basic graph representation of molecules to advanced molecular property prediction models.
To get the most out of this tutorial series, you should have:
- Python: Basic to intermediate Python programming skills
- Chemistry: Fundamental understanding of molecular structures and properties
- Machine Learning: Basic familiarity with neural network concepts
- Mathematics: Basic understanding of linear algebra and calculus fundamentals
- Packages: Familiarity with PyTorch, NumPy, and RDKit (installation instructions provided in notebooks)
No prior experience with graph neural networks is required - we build the concepts from the ground up!
The following notebooks (01, 02, 03, ...) form the main learning path and are essential for understanding GNN fundamentals:
These notebooks (01.1, 01.2, ...) provide additional details and advanced topics that complement the main series:
| Notebook | Description | Open in Colab | Year |
|---|---|---|---|
| 01.1_GNN_3D_representation.ipynb | Interactive 3D molecular visualizations and stereochemistry | 2025 |
Contributions are welcome! Please see CONTRIBUTIONS.md for guidelines on how to contribute.
This project is licensed under the MIT License - see the LICENSE file for details.
If you use this repository in your research, please cite it as:
@misc{gnns_for_chemists,
author = {Fooladi, Hosein},
title = {GNNs For Chemists: Implementations of Graph Neural Networks from Scratch for Chemical Applications},
year = {2025},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/HFooladi/GNNs-For-Chemists}},
note = {Educational resource for chemists, pharmacists, and researchers interested in applying Graph Neural Networks to chemical problems}
}