Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

EduFold

EduFold is an educational project aimed at breaking down the OpenFold implementation of AlphaFold2 step-by-step.

Overview

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.

Prerequisites

This repository makes heavy use of the OpenFold Python package. See installation instructions here: https://openfold.readthedocs.io/en/latest/Installation.html.

Data

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.

Project Structure

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

Notebooks

1. Model Inputs (1-model_inputs.ipynb)

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

Roadmap

Future notebooks will cover:

  • Template feature processing
  • Evoformer architecture
  • Structure module
  • Loss functions and training
  • Inference and recycling

Acknowledgments

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).

License

This educational project is provided for learning purposes. Please refer to the OpenFold and AlphaFold repositories for their respective licenses.

Contributing

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.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages