SiteAF3 is a universal molecular interaction analysis platform based on AlphaFold3, supporting structure prediction and analysis for various receptor-ligand type combinations.
SiteAF3 is published on PNAS!
We notice that AlphaFold3 has some updates, which may affect the use of SiteAF3. If you want to use latest version of AlphaFold3, known issues include:
- Change all the ".cached_ccd()" in
./src/embeddings/embed_cond.pyandaptamer/SiteAF3/src/diffusion/run_cond_Diff.pyinto ".Ccd()".
Or you can use the corresponding AlphaFold3 version:
git clone https://github.com/google-deepmind/alphafold3.git
cd alphafold3
git checkout 7a4a2f7π¨ v1.1.0 Update Supporting --use_pocket_masked_af3_msa_for_embedding, enhancing binding pocket locating. See the performance in Table 1.
Receptor Types:
protein: Protein
Ligand Types:
protein: Proteinnucleic: Nucleic acid (DNA/RNA)small_molecule: Small molecule ligand / ions
| Receptor Type | Ligand Type | Example Usage |
|---|---|---|
| protein | nucleic | Protein-RNA/DNA complex |
| protein | small_molecule | Protein-drug complex |
| protein | protein | Protein-peptide interaction |
- Hotspot structure generation (
generate_hotspot.py) - Pocket structure generation (
generate_pocket.py) - Inference scripts (
run_SiteAF3.py)
Replace /PATH/TO/alphafold3/src/alphafold3/model/model.py with ./AF3_code/model.py before intalling AlphaFold3.
# Installing AlphaFold3 dependencies
# Please follow the official AlphaFold3 documentation for installation
conda activate your_AF3_env_name
conda env update --file environment.ymlYou can use the scripts here, or you can use PyMOL to build your own files.
python generate_hotspot.py \
--input_pdb /PATH/TO/pdb_file \
--receptor_type protein \
--receptor_chains A B (OPTIONAL) \
--ligand_type nucleic \
--ligand_chains C (OPTIONAL) \
python generate_pocket.py \
--input_pdb /PATH/TO/pdb_file \
--receptor_type protein \
--receptor_chains (OPTIONAL) \
--ligand_type small_molecule \
--ligand_chains (OPTIONAL) \
--hotspot_cutoff 8.0 \
--pocket_cutoff 10.0python generate_hotspot.py --input_pdb input.pdb --list_chainsHotspot files are required if enabling --use_hotspot_msa_for_embedding
python run_SiteAF3.py \
--config_file /PATH/TO/JSON_file \
--output_dir /PATH/TO/output_dir \
--use_pocket_msa_for_embedding (OPTIONAL) \
--use_hotspot_msa_for_embedding (OPTIONAL) \
--use_af3_msa_for_embedding (OPTIONAL) \
--use_pocket_masked_af3_msa_for_embedding (v1.1.0 OPTIONAL) \
--verboseIn the JSON configuration file for run_SiteAF3.py,
See more JSON cases in test_input folder.
{
"name": "my_complex",
"receptor": [{
"rec_struct_path": "input.pdb",
"fixed_chain_id": ["A", "B"],
"hotspot_path": "/PATH/TO/input_hotspot.pdb",
"pocket_path": "/PATH/TO/input_pocket.pdb"
}],
"ligand": [{
"type": "rna",
"chain_id": "C",
"sequence": "..."
}],
"modelSeeds": [42, 123, 456]
}The program automatically detects chain types based on:
- Atom check: Search for characteristic atoms (CA atomsβprotein, P atomsβnucleic acid)
- Residue ratio: Count ratio of standard amino acids and nucleic acid residues
- Small molecule identification: Exclude water molecules and ions, identify ligand molecules
- Atom count: Small molecules typically have 1-200 heavy atoms
- Element composition: Molecules containing non-standard elements
Automatically selects based on molecule type:
- Protein: CA atoms
- Nucleic acid: P atoms or C4' atoms
- Small molecule: Geometric center
output_dir/
βββ seed_{1}
β βββ confidences.json
β βββ summary_confidences.cif
β βββ info.json
β βββ model.cif
β βββ ranking_scores.csv
β βββ sample_{0}
β β βββ model.cif
β β βββ confidences.json
β β βββ summary_confidences.cif
β βββ sample_{1}
β βββ ......
βββ seed_{2}
βββ ......
Prediction accuracy across biomolecular complexes

Use the --verbose parameter to get detailed debugging information.
8/31/2025
- Fix the bug of baseline model in V1.1.0
- Support CCD when using multiple ligands as input
7/12/2025
Supporting --use_pocket_masked_af3_msa_for_embedding, enhancing binding pocket locating.
7/6/2025
Features:
- π― Support for multiple receptor-ligand combinations
- π§ Compatible to Alphafold3
- 𧬠Intelligent molecular recognition system
- π Flexible configuration system
- π οΈ Parallel processing support
Issues and Pull Requests are welcome!
This project is licensed under the MIT License - see the LICENSE file for details.
If you use SiteAF3 in your research, please cite:
@article{doi:10.1073/pnas.2521048122,
journal = {Proceedings of the National Academy of Sciences},
doi = {10.1073/pnas.2521048122},
issn = {0027-8424},
number = {44},
publisher = {Proceedings of the National Academy of Sciences},
title = {Accurate site-specific folding via conditional diffusion based on AlphaFold3},
volume = {122},
author = {Tang, Haocheng and Wang, Junmei},
note = {[Online; accessed 2025-11-06]},
date = {2025-10-30},
year = {2025},
month = {10},
day = {30},
}
@software{siteaf3,
title={SiteAF3: Universal Molecular Interaction Analysis Platform},
author={Haocheng Tang},
year={2025},
url={https://github.com/HaCTang/SiteAF3}
}