AlphaFold3-GUI is a Streamlit app for building AlphaFold 3 input JSON files, including optional covalent ligand workflows from SMILES input.
It is designed for users who want a guided interface instead of manually editing JSON and mmCIF content.
- Build AlphaFold 3 input JSON for proteins, RNA, DNA, and ligands
- Add multiple copies of entities with automatic label assignment (
A,B,C, ...) - Enter polymer modifications/templates as JSON arrays
- Generate covalent ligand
userCCDcontent from a SMILES-derived ligand structure - Download the generated JSON directly from the UI
- Python 3.8+
- AlphaFold 3 installed/configured separately (this repo only generates inputs)
- Dependencies from
requirements.txt
git clone https://github.com/sieber-lab/AlphaFold3-GUI.git
cd AlphaFold3-GUI
pip install -r requirements.txtNotes:
rdkitinstallation can be platform-dependent. Ifpip installfails, install RDKit viaconda/mambaand then install the remaining requirements.
streamlit run streamlit_app.py- Set a job name (used in the JSON and download filename)
- Enter model seeds as comma-separated integers (invalid values are ignored with a warning)
- Choose how many protein, RNA, DNA, and ligand entities to add
- The app will create input sections for each entity
- Protein / RNA / DNA: add sequences and optional modifications
- Ligand: add a SMILES string or use the covalent workflow
The covalent workflow helps create a custom ligand and bond definition:
- Render the ligand from SMILES
- Define the leaving group (by bond indices or atom list)
- Choose the ligand atom that will remain bound
- Choose the protein/RNA/DNA entity and residue
- Enter the target atom name (CCD atom name on the biomolecule side)
- Finalize the bond to generate
userCCDdata
- Click Generate JSON
- Review the JSON preview in the app
- Click Download JSON and use the file as AlphaFold 3 input
- Covalent ligand mode currently supports one ligand with one copy at a time
- The app validates common input issues, but it does not fully validate every AlphaFold 3 schema rule
userCCDexport currently uses a single generated ligand definition
streamlit_app.py— Streamlit UI and input flowutils.py— JSON generation and ligand/mmCIF conversion helpersseqs.py— sequence data model classesrequirements.txt— Python dependenciesmonomers.cif— reference monomer definitions used by the project
-
RDKit errors while rendering a ligand
- Check the SMILES string
- Try a simpler ligand first
- Some molecules may fail 3D embedding/optimization
-
Covalent options unavailable
- Ensure at least one protein/RNA/DNA entity is defined
- Use exactly one ligand with one copy for covalent mode
-
Invalid JSON array fields
- Use valid JSON arrays such as
[],[{"ptmType":"..."}], or[{"template":"..."}]
- Use valid JSON arrays such as
This project is licensed under the Apache License. See LICENSE.
