Overview
AlphaFold 3 uses a custom JSON input format that provides extensive control over structure prediction. You can provide inputs in two ways:Single Input
Use
--json_path flag with a single JSON fileMultiple Inputs
Use
--input_dir flag with a directory of JSON filesKey Capabilities
The AlphaFold 3 JSON format allows you to:- Specify protein, RNA, and DNA chains with modified residues
- Provide custom multiple sequence alignments (MSA) for proteins and RNA
- Include custom structural templates for proteins
- Define ligands using CCD codes, SMILES, or custom definitions
- Specify covalent bonds between entities
- Control predictions with multiple random seeds
Top-Level Structure
Every AlphaFold 3 input JSON file follows this structure:Required Fields
The name of the job. A sanitized version is used for output file naming.
List of integer random seeds. You must provide at least one seed. Each seed generates one predicted structure.
List of molecular entities (proteins, RNA, DNA, ligands). See detailed specifications in the JSON Specification guide.
Must be set to
"alphafold3"Must be set to
1, 2, 3, or 4. Version 4 is the latest.Optional Fields
Specifies covalent bonds between entities. Used for covalent ligands and multi-CCD ligands like glycans.
User-provided chemical components dictionary in CCD mmCIF format (inline). Mutually exclusive with
userCCDPath.Path to file containing user-provided CCD. Mutually exclusive with
userCCD.Format Versions
The input format has evolved across versions:AlphaFold Server Compatibility
The AlphaFold 3 codebase uses a different JSON format from AlphaFold Server. However,
run_alphafold.py includes an automatic converter that detects and translates AlphaFold Server JSON format.Key Differences
| Feature | AlphaFold Server | AlphaFold 3 |
|---|---|---|
| Multiple inputs | List at top level | One input per file |
| Ions | Separate entity type | Treated as ligands |
| Entity IDs | Auto-assigned | User-specified (required) |
| Glycans | Supported | Must convert manually |
Multiple Inputs
The AlphaFold Server format allows multiple inputs in a single JSON (top-level list). The AlphaFold 3 format requires one input per file. The converter handles this automatically.Random Seeds
If AlphaFold Server JSON specifies"modelSeeds": [], the converter randomly chooses a seed. AlphaFold 3 format always requires explicit seeds.
Entity IDs
AlphaFold Server doesn’t require entity IDs. The converter auto-assigns IDs in “reverse spreadsheet style”:Quick Example
Here’s a minimal valid input for a homodimer protein:fold_input.json
Next Steps
JSON Specification
Detailed entity definitions and examples
Running Docker
Execute AlphaFold 3 with your input files