Wyckoff Transformer: Generation of Symmetric Crystals [ICML 2025]
WyFormer generates crystals as Wyckoff representations: a space group plus the occupied Wyckoff positions and their elements. PyXtal then places the atoms, and an ML potential relaxes the result into a 3D structure.
Benchmarking against WyFormer
Figshare hosts the structures generated by WyFormer trained on MP-20 and MPTS-52, along with DiffCSP, DiffCSP++, WyCryst, SymmCD, CrystalFormer, MiAD, MatterGen, Crys-JEPA, and Composition in a unified format, along with Materials Project-compatible DFT relaxations: ~10k structures each for WyFormer, MatterGen and MiAD; 1k each for DiffCSP, SymmCD, Crys-JEPA and Composition.
Installation
pip install "wyckoff-transformer[relax]"
The [relax] extra adds the ML potentials for the 3D step, skip it if you only need the Wyckoff representations.
Inference
Simple de novo generation
Step 1: Generate genes
wyformer-generate genes.json.gz --hf-model SymmetryAdvantage/WyFormer-LeMat
For a higher yield of new metastable structures, ask the e_hull-conditioned model for genes near the hull instead. About 61% of its draws are formally valid at this guidance scale, so draw twice as many as you keep:
wyformer-generate genes.json.gz --hf-model SymmetryAdvantage/WyFormer-LeMat-Ehull \
--condition energy_above_hull=0.05 --guidance-scale 5 \
--initial-n-samples 2000 --firm-n-samples 1000
Add --device cuda to the wyformer-generate and wyformer-gene-screen commands when a GPU is available. The
pre-trained models are in the HuggingFace collection.
Step 2: Relax
wyformer-cryspr genes.json.gz --mlip orb_conserv_inf --output-dir relaxed --workers 8
Alternatively, the structures can be obtained with GeoCSP, our diffusion model based on DiffCSP++.
Advanced generation, chemical system conditioning
Generate genes that contain only the given elements, rank them by predicted distance to the PBE hull of LeMat-Bulk-fixed, and relax the 100 best distinct ones of at most 40 atoms:
wyformer-generate batio_genes.json.gz --hf-model SymmetryAdvantage/WyFormer-LeMat-Chemsys \
--chemical-system Ba-Ti-O --initial-n-samples 1100 --firm-n-samples 1000
wyformer-gene-screen batio_genes.json.gz --regressor-hf-model SymmetryAdvantage/WyFormer-LeMat-Energy \
--hf-reference kazeevn/LeMat-Bulk-fixed \
--max-atoms 40 --unique --top 100 --out batio_screen.csv --out-genes batio_top100.json.gz
wyformer-cryspr batio_top100.json.gz --mlip orb_conserv_inf --output-dir batio_relaxed --workers 8
--chemical-system Ba-Ti-O asks for compounds that contain all three elements; run TiO2 and
the other subsystems separately. --max-atoms 40 drops genes with more than 40 atoms in the
conventional cell: the lowest predicted energies favour large cells, which are slow to relax.
batio_screen.csv holds the predicted energies, and
batio_relaxed/orb_conserv_inf_results.csv the relaxed energy and CIF of each gene.
ORB v3 is the potential LeMat-Bulk publishes its MLIP hull for, so those energies compare
directly with that hull. See the pipeline notes
for timings and outputs.
Documentation
- Generating and relaxing structures: other model sources, generation options, PyXtal placement and MLIP relaxation, CHGNet and DFT.
- Training: installation from source, datasets, tokenization, training.
- Screening and evaluation: DFT and novelty screens, the de novo ranking protocol, reproducing the original ICML paper metrics.
Metadata
Release files for wyckoff-transformer 2.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| wyckoff_transformer-2.4.0.tar.gz | 1.4 MB | With provenance | Details for wyckoff_transformer-2.4.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| wyckoff_transformer-2.4.0-py3-none-any.whl | Python 3 | none | any | Details for wyckoff_transformer-2.4.0-py3-none-any.whl |
Total release size: 2.4 MB
Release files / wyckoff_transformer-2.4.0.tar.gz
| Download URL | wyckoff_transformer-2.4.0.tar.gz |
|---|---|
| Size | 1.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bb3afe648b6c2f5fc64eb3db31aa30c6d222d47b9ddda52d6590a4343e36ac65
|
|
BLAKE2b-256 checksum How to use checksums |
424d3573df741619972abf900e2cc992e22ea898ecae6a197b35c3cc1d802e2b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 28, 2026.
Transparency logRelease files / wyckoff_transformer-2.4.0-py3-none-any.whl
| Download URL | wyckoff_transformer-2.4.0-py3-none-any.whl |
|---|---|
| Size | 989.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e7f10f368e1df2fa680549e064f0f4c8747a54a7aaabf6b4900d84c39feafe9a
|
|
BLAKE2b-256 checksum How to use checksums |
3a8e32bb8f020a783ef445318e19bd9978d2bea9ae87b0bceb5e193201007330
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 28, 2026.
Transparency logSecurity for wyckoff-transformer 2.4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for wyckoff_transformer-2.4.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 28, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.