---
title: GraphSol examples
description: A single FASTA submission, the API request body, and how to read the id, probability, call and warnings columns in results.csv against summary.json.
---

These copy-and-adapt patterns walk a [GraphSol](/docs/graphsol) job end to end — a single FASTA submission, an API request body, and how to read the probability, call, and warnings columns in the results.

## GraphSol examples

Use these patterns to prepare inputs, submit jobs, and read outputs quickly.

## Single FASTA submission

```
>Sample_01
MKTAYIAKQRQISFVKSHFSRQLEERLGLIEVQANNNPKATK
>Sample_02
GAMGSYYHHHHHAEIKKYICENSCPSL
```

- Keep headers short and unique.
- Upload as `.fasta` or `.fasta.gz`.
- Default threshold is `0.5`; adjust if you need precision or recall tuned.

## API submission body

```
{
  "tool": "graphsol",
  "inputs": {
    "fasta": "https://.../proteins.fasta.gz",
    "threshold": 0.6
  }
}
```

- Poll `GET /api/v1/jobs/{jobId}` until `succeeded`.
- Download `results.csv` for probabilities and calls.

## Reading results

- `id`: from FASTA header.
- `probability`: 0–1 solubility score.
- `call`: `soluble`/`insoluble` using current threshold.
- `warnings`: shows trimmed residues or deduplication notes.

## Quick quality check

1. Compare `summary.json` `inputCount` vs your FASTA count.
2. Scan `warnings` column for trimmed or invalid residues.
3. If many sequences cluster near 0.5, consider adjusting threshold offline
   instead of resubmitting.
