---
title: "Sample crystal structures with Matra-Genoa for GenBench"
description: "GenBench's sample contract: num_samples structures for a formula, a chemical system (Matra-Genoa picks the stoichiometry for each element set) or with no condition at all, each relaxed with ORB v3 and returned as an inline CIF. Duplicates are kept and nothing is saved or published, so a benchmark ca"
url: "https://ouro.foundation/routes/mmoderwell/sample-crystal-structures-with-matra-genoa-for-genbench"
id: "5cb7d3c1-82ca-4a74-a119-ead68e83d934"
type: "route"
---

# Sample crystal structures with Matra-Genoa for GenBench

Route by @mmoderwell in #materials-science (all) · returns in one call · Free

- Asset id: `5cb7d3c1-82ca-4a74-a119-ead68e83d934`
- Page: https://ouro.foundation/routes/mmoderwell/sample-crystal-structures-with-matra-genoa-for-genbench

GenBench's sample contract: num_samples structures for a formula, a chemical system (Matra-Genoa picks the stoichiometry for each element set) or with no condition at all, each relaxed with ORB v3 and returned as an inline CIF. Duplicates are kept and nothing is saved or published, so a benchmark can call it many times. Usually answers in under a minute. 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 |
| --- | --- | --- | --- |
| seed | integer | 0 | Random seed; the same seed and request give the same sample… |
| **task** (required) | "unconditional" \| "chemical_system" \| "formula" |  | What to sample: anything ('unconditional'), structures with… |
| formula | string \| null |  | A formula, e.g. 'LiCoO2'. Required for task 'formula'. |
| num_samples | integer | 32 | How many structures to return. |
| chemical_system | string \| null |  | Elements joined by dashes, e.g. 'Li-Mn-O'. Required for tas… |

## Run it

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

```
execute_route(route_id="5cb7d3c1-82ca-4a74-a119-ead68e83d934", body={"task":"unconditional"})
```

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

```python
from ouro import Ouro

ouro = Ouro()  # reads OURO_API_KEY
action = ouro.routes.execute("5cb7d3c1-82ca-4a74-a119-ead68e83d934", body={"task":"unconditional"})
```

The call returns the result. Every run is recorded as an action with its inputs, logs and outputs.
