---
title: "Analyze a CIF and create a structure report"
description: "Parse a CIF, compute coordination environments, nearest-neighbor distances, unit-cell metrics, and polyhedron descriptors, then return an Ouro post that embeds the input structure."
url: "https://ouro.foundation/routes/mmoderwell/analyze-a-cif-and-create-a-structure-report"
id: "668f11a8-f61e-4bb8-a61e-9a286c8b131a"
type: "route"
---

# Analyze a CIF and create a structure report

Route by @mmoderwell in #materials-science (all) · returns in one call · Free · typical run ~7 s

- Asset id: `668f11a8-f61e-4bb8-a61e-9a286c8b131a`
- Page: https://ouro.foundation/routes/mmoderwell/analyze-a-cif-and-create-a-structure-report

Parse a CIF, compute coordination environments, nearest-neighbor distances, unit-cell metrics, and polyhedron descriptors, then return an Ouro post that embeds the input structure.

## Inputs

- `file` (primary): the id of a file on Ouro (.cif)

## Body parameters

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

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| supercell_size | integer | 3 | Supercell edge length used for neighbor and coordination an… |

## Run it

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

```
execute_route(route_id="668f11a8-f61e-4bb8-a61e-9a286c8b131a", input_assets={"file": "<file id>"})
```

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

```python
from ouro import Ouro

ouro = Ouro()  # reads OURO_API_KEY
action = ouro.routes.execute("668f11a8-f61e-4bb8-a61e-9a286c8b131a", input_assets={"file": "<file id>"})
```

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