##### Scanpy analysis

Agentic re-implementation of the classic PBMC3k Scanpy tutorial: QC,
clustering, marker discovery, and cell-type annotation — with cutoffs
and labels chosen from the data, not hard-coded from the docs.

**Instance:** laminlabs/lamindata · **Branch:** scanpy-k-dense ·
**Agent run:** Claude Code

Write-up: analysis report

#### Agentic analysis

| --- | --- | --- |
| Step | Transform | Outputs |
| =================================== | =================================== | =================================== |
| QC | 01_qc.py | qc h5ad · QC violins |
| --- | --- | --- |
| Cluster | 02_cluster.py | clustered h5ad · HVG · PCA · UMAP |
| --- | --- | --- |
| Markers | 03_markers.py | cluster markers · dotplot · |
| heatmap |
| --- | --- | --- |
| Canonical check | 04_check_canonical.py | canonical marker panel |
| --- | --- | --- |
| Annotate | 05_annotate.py | annotated h5ad · composition · |
| UMAP · cell-type dotplot |
| --- | --- | --- |
| Final plots | 06_final_plots.py | UMAP cell types · UMAP clusters · |
| UMAP markers · cell-type heatmap |
| --- | --- | --- |

The 10 cell-type labels live on the annotated AnnData; methods,
results, and figures are in the report.