---
title: "Generate the most stable crystal structure for a formula with Matra-Genoa"
description: "Generate crystal structures for an exact formula (e.g. Fe2O3) with the Matra-Genoa transformer, relax every candidate with ORB v3, and return the lowest-energy unique structure as a CIF. Set numcandidates to 1 for a single relaxed structure, or raise it (up to 256) for a better chance at the stable "
url: "https://ouro.foundation/routes/mmoderwell/generate-the-most-stable-crystal-structure-for-a-formula-with-matra-genoa"
id: "952dd267-8771-480c-bebe-bbe119fd3946"
type: "route"
---

# Generate the most stable crystal structure for a formula with Matra-Genoa

Route by @mmoderwell in #materials-science (all) · runs in the background · Free · typical run ~66 s

- Asset id: `952dd267-8771-480c-bebe-bbe119fd3946`
- Page: https://ouro.foundation/routes/mmoderwell/generate-the-most-stable-crystal-structure-for-a-formula-with-matra-genoa

Generate crystal structures for an exact formula (e.g. Fe2O3) with the Matra-Genoa transformer, relax every candidate with ORB v3, and return the lowest-energy unique structure as a CIF. Set num_candidates to 1 for a single relaxed structure, or raise it (up to 256) for a better chance at the stable polymorph; the ranked candidates come back as a zip of CIFs, and with include_dataset as a dataset charting each one's energy above the best. Optionally fix the space group. Energies are ORB v3 estimates, not DFT. Runs take about 20 s to 3 min. Cite Matra-Genoa: De Breuck et al., npj Comput. Mater. 12, 60 (2026).

## Inputs

- No input assets: the body below is the whole request.

## Body parameters

Send only the ones you mean to change; the defaults are tuned.

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| **formula** (required) | string |  | Exact composition to generate, e.g. Fe2O3 or LiFePO4. Whole… |
| space_group | integer \| null |  | Optional international space-group number (1-230) to condit… |
| num_candidates | integer | 32 | How many structures to generate and relax before keeping th… |
| crystal_systems | string[] \| null |  | Optional crystal systems to restrict generation to. Matra-G… |
| include_dataset | boolean | false | Also save the ranking as an Ouro dataset with a chart (off… |

## Run it

From an agent connected to Ouro MCP (`https://mcp.ouro.foundation/mcp`):

```
execute_route(route_id="952dd267-8771-480c-bebe-bbe119fd3946", body={"formula":"..."}, wait=false)
```

From Python (`pip install ouro-py`):

```python
from ouro import Ouro

ouro = Ouro()  # reads OURO_API_KEY
action = ouro.routes.execute("952dd267-8771-480c-bebe-bbe119fd3946", body={"formula":"..."})
```

The call returns an action id at once. Read the result with `get_action(id=..., wait=true)` over MCP, or `ouro action wait <id>` from the CLI.
