# kuva network
Network / graph diagram from an edge list or adjacency matrix.
**Edge-list input** (default): two columns for source and target nodes, with an optional weight column.
```
source target weight
TP53 MDM2 0.95
TP53 BAX 0.82
MDM2 TP53 0.88
```
**Matrix input** (`--matrix`): square N×N matrix — first column is the row label, header row supplies node names.
```
node TP53 MDM2 BAX
TP53 0 0.95 0.82
MDM2 0.88 0 0
BAX 0 0 0
```
| `--matrix` | off | Read input as N×N adjacency matrix |
| `--source-col <COL>` | `0` | Source node column (index or name) |
| `--target-col <COL>` | `1` | Target node column (index or name) |
| `--weight-col <COL>` | — | Edge weight column |
| `--group-col <COL>` | — | Node group column for colouring |
| `--directed` | off | Draw arrowheads on edges |
| `--layout <ALG>` | `force` | Layout algorithm: `force`, `kk` (Kamada-Kawai), or `circle` |
| `--node-radius <PX>` | `8.0` | Node circle radius in pixels |
| `--opacity <F>` | `0.6` | Edge opacity |
| `--labels` | off | Show node labels |
| `--repel-labels` | off | Push overlapping labels apart |
| `--legend <LABEL>` | — | Show legend |
```bash
kuva network edges.tsv --source-col source --target-col target
kuva network edges.tsv --source-col source --target-col target \
--weight-col weight --directed --labels --legend "interaction"
kuva network --matrix matrix.tsv --layout circle --labels
```
---
*See also: [Shared flags](./index.md#shared-flags) — output, appearance, axes, log scale.*