EduFold is an educational project aimed at breaking down the OpenFold implementation of AlphaFold2 step-by-step.
This repository provides Jupyter notebooks which attempt to explain and walk through each component of the AlphaFold2 (monomer) model - from the raw sequence inputs to the 3d structure predictions.
This repository makes heavy use of the OpenFold Python package. See installation instructions here: https://openfold.readthedocs.io/en/latest/Installation.html.
The OpenFold training data can be downloaded by following the OpenFold Training Setup Guide. Small example files, used in the Jupyter notebooks, are provided in the data-in/ directory.
edufold/
├── notebooks/
│ └── 1-model_inputs.ipynb # Processing raw data into model features
├── data-in/
│ └── 1a00_A/ # Example protein data
│ ├── a3m/ # Multiple sequence alignments
│ │ ├── bfd_uniclust_hits.a3m
│ │ ├── mgnify_hits.a3m
│ │ └── uniref90_hits.a3m
│ └── hhr/ # Template search results
│ └── pdb70_hits.hhr
└── README.md
This notebook covers the input processing pipeline from the raw MSA files to model-ready tensors:
- Loading MSA files - Parsing .a3m MSA alignments
- Encoding amino acid sequences - Converting sequences to numerical representations
- MSA clustering - Reducing computational complexity through sequence clustering
- Constructing model inputs - Building the model input features
- Final processing - Padding, batching, and preparing tensors for the Evoformer
Future notebooks will cover:
- Template feature processing
- Evoformer architecture
- Structure module
- Loss functions and training
- Inference and recycling
This project builds upon the extraordinary work of:
- OpenFold Consortium - For their open-source implementation of AlphaFold2, which makes this kind of educational exploration possible.
Ahdritz, G., Bouatta, N., Floristean, C. et al. OpenFold: retraining AlphaFold2 yields new insights into its learning mechanisms and capacity for generalization. Nat Methods 21, 1514–1524 (2024). https://doi.org/10.1038/s41592-024-02272-z.
- DeepMind AlphaFold Team - For the original AlphaFold2 paper and model that transformed protein structure prediction.
Jumper, J., Evans, R., Pritzel, A. et al. "Highly accurate protein structure prediction with AlphaFold". https://doi.org/10.1038/s41586-021-03819-2. (Nature, 2021).
This educational project is provided for learning purposes. Please refer to the OpenFold and AlphaFold repositories for their respective licenses.
Contributions are welcome! If you'd like to add explanations, fix errors, or extend the notebooks, please open an issue or submit a pull request.