# chykoushik/tnbc-pdcd1-cd2-scrna-pipeline architecture

> Architecture diagram of the GitHub repository chykoushik/tnbc-pdcd1-cd2-scrna-pipeline, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline
- Repository: https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline

## Overview

This repository packages a notebook-driven TNBC single-cell RNA-seq analysis and a browser dashboard. The documented workflow starts with GSE176078 data, constructs and validates a cell atlas, stratifies T-cell states, validates patient-level findings against TCGA-BRCA, and ranks engineering targets with stability analysis. The README documents the notebook stages and dashboard contents, but no notebook source excerpts are available, so internal calls and dashboard data wiring cannot be verified; the archive paths identify the documented notebook bundles.

Main entry points: [`GSE176078_revised.zip`](https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip) (Patient aggregation), [`tnbc_dashboard.html`](https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/tnbc_dashboard.html) (Results dashboard)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_inputs["Data inputs"]
end

subgraph group_atlas["Atlas analysis"]
  node_analysis["Revised notebook"]
  node_qc["QC and atlas"]
  node_clustering["Clustering and annotation"]
  node_tcell["T-cell extraction"]
  node_scoring["Module scoring"]
  node_strata["CD8 stratification"]
end

subgraph group_validation["Validation"]
  node_patient["Patient aggregation"]
  node_survival["Survival validation"]
  node_lr["Ligand-receptor screen"]
end

subgraph group_recommendations["Recommendations"]
  node_priority["Priority scoring"]
  node_bootstrap["Bootstrap stability"]
  node_results["Analysis results"]
  node_dashboard["Results dashboard"]
end

node_analyst(("Analyst"))
node_geo[("NCBI GEO")]
node_xena[("UCSC Xena")]

node_analyst -->|"runs notebook"| node_analysis
node_geo -->|"supplies counts"| node_analysis
node_xena -.->|"supplies TCGA data"| node_analysis
node_analysis -->|"runs"| node_qc
node_qc -->|"prepares atlas"| node_clustering
node_clustering -->|"extracts cells"| node_tcell
node_tcell -->|"scores states"| node_scoring
node_scoring -->|"stratifies"| node_strata
node_strata -->|"aggregates features"| node_patient
node_patient -->|"validates survival"| node_survival
node_patient -->|"screens interactions"| node_lr
node_patient -->|"ranks targets"| node_priority
node_priority -->|"tests stability"| node_bootstrap
node_bootstrap -->|"produces results"| node_results
node_survival -->|"produces results"| node_results
node_lr -->|"produces results"| node_results
node_analyst -->|"opens"| node_dashboard
node_results -->|"summarized by"| node_dashboard

click node_analysis "https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip"
click node_qc "https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip"
click node_clustering "https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip"
click node_tcell "https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip"
click node_scoring "https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip"
click node_strata "https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip"
click node_patient "https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip"
click node_survival "https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip"
click node_lr "https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip"
click node_priority "https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip"
click node_bootstrap "https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip"
click node_results "https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip"
click node_dashboard "https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/tnbc_dashboard.html"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_analysis,node_qc,node_clustering,node_tcell,node_scoring,node_strata,node_geo,node_xena toneAmber
class node_patient,node_survival,node_lr toneMint
class node_priority,node_bootstrap,node_results,node_dashboard toneRose
class node_analyst toneIndigo
```

## Components

### Atlas analysis

- [Revised notebook](https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip): `GSE176078_revised.zip`
- [QC and atlas](https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip): `GSE176078_revised.zip`
- [Clustering and annotation](https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip): `GSE176078_revised.zip`
- [T-cell extraction](https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip): `GSE176078_revised.zip`
- [Module scoring](https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip): `GSE176078_revised.zip`
- [CD8 stratification](https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip): `GSE176078_revised.zip`

### Validation

- [Patient aggregation](https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip): `GSE176078_revised.zip`
- [Survival validation](https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip): `GSE176078_revised.zip`
- [Ligand-receptor screen](https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip): `GSE176078_revised.zip`

### Recommendations

- [Priority scoring](https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip): `GSE176078_revised.zip`
- [Bootstrap stability](https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip): `GSE176078_revised.zip`
- [Analysis results](https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/GSE176078_revised.zip): `GSE176078_revised.zip`
- [Results dashboard](https://github.com/chykoushik/tnbc-pdcd1-cd2-scrna-pipeline/blob/main/tnbc_dashboard.html): `tnbc_dashboard.html`

### Other components

- **Analyst**
- **NCBI GEO**
- **UCSC Xena**

## Connections

- Analyst → Revised notebook: runs notebook
- NCBI GEO → Revised notebook: supplies counts
- UCSC Xena → Revised notebook: supplies TCGA data
- Revised notebook → QC and atlas: runs
- QC and atlas → Clustering and annotation: prepares atlas
- Clustering and annotation → T-cell extraction: extracts cells
- T-cell extraction → Module scoring: scores states
- Module scoring → CD8 stratification: stratifies
- CD8 stratification → Patient aggregation: aggregates features
- Patient aggregation → Survival validation: validates survival
- Patient aggregation → Ligand-receptor screen: screens interactions
- Patient aggregation → Priority scoring: ranks targets
- Priority scoring → Bootstrap stability: tests stability
- Bootstrap stability → Analysis results: produces results
- Survival validation → Analysis results: produces results
- Ligand-receptor screen → Analysis results: produces results
- Analyst → Results dashboard: opens
- Analysis results → Results dashboard: summarized by
