You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OpenAlphaDiffract is an open-source implementation of the AlphaDiffract research project. It provides a reproducible pipeline to:
3
+
OpenAlphaDiffract is an open-source implementation of the [AlphaDiffract](https://arxiv.org/abs/2603.23367) research project. It provides a reproducible pipeline to:
4
4
- Create a dataset from the Materials Project
5
5
- Simulate powder diffraction patterns from those structures
6
6
- Train and evaluate models on the generated dataset
7
7
- Run an inference web app to try out the model
8
8
9
9
10
-
## Dataset Pipeline Overview
10
+
## Pretrained Model & Demo
11
11
12
-
1. Acquire CIFs (downloader.Dockerfile)
12
+
-**Model weights:**[linked-liszt/OpenAlphaDiffract](https://huggingface.co/linked-liszt/OpenAlphaDiffract) on Hugging Face
13
+
-**Live demo:**[linked-liszt/OpenAlphaDiffract-UI](https://huggingface.co/spaces/linked-liszt/OpenAlphaDiffract-UI) on Hugging Face Spaces
14
+
15
+
16
+
## Dataset Pipeline
17
+
18
+
1. Acquire CIFs (`docker/downloader.Dockerfile`)
13
19
- Uses the Materials Project API to fetch crystal structures as CIF files
14
20
- Configurable via `configs/download.yaml`
15
21
- Filters structures by checking conventional cell consistency across multiple angle tolerances. This filters ~4.4% of MP structures as of 10/22/2025.
│ ├── trainer/ - Model definition, dataset, and training loop
93
+
│ └── ui/ - FastAPI backend + React frontend
94
+
│ └── frontend/
95
+
└── compose.yaml
85
96
```
86
97
87
98
99
+
## Testing
100
+
101
+
Tests run in CI via GitHub Actions on every push/PR to `main`. To run locally:
102
+
103
+
```bash
104
+
# All Python tests (from repo root)
105
+
pytest
106
+
107
+
# Individual components
108
+
pytest src/downloader/tests/ -v
109
+
pytest src/simulator/tests/ -v
110
+
pytest src/trainer/tests/ -v
111
+
pytest src/ui/tests/ -v
112
+
113
+
# Frontend tests
114
+
cd src/ui/frontend && npx vitest run
115
+
```
116
+
117
+
118
+
## License
119
+
120
+
This project is licensed under the BSD 3-Clause License. See [LICENSE](LICENSE) for details.
121
+
122
+
88
123
## Citation
89
124
90
-
We hope this code was helpful to your work! If you use our code or extend our work, please consider citing our paper. (Will be added once released!)
125
+
We hope this code was helpful! Please consider citing our paper:
126
+
127
+
```bibtex
128
+
@article{andrejevic2026alphadiffract,
129
+
title={AlphaDiffract: Automated Crystallographic Analysis of Powder X-ray Diffraction Data},
130
+
author={Andrejevic, Nina and Du, Ming and Sharma, Hemant and Horwath, James P. and Luo, Aileen and Yin, Xiangyu and Prince, Michael and Toby, Brian H. and Cherukara, Mathew J.},
0 commit comments