{
  "n_obs": 190827,
  "n_vars": 13,
  "samples": [
    "BM_P01_compensated_demo",
    "BM_P02_compensated_demo",
    "BM_P03_compensated_demo",
    "BM_P04_compensated_demo",
    "BM_P05_compensated_demo",
    "PB_P01_compensated_demo",
    "PB_P02_compensated_demo",
    "PB_P03_compensated_demo",
    "PB_P04_compensated_demo",
    "PB_P05_compensated_demo"
  ],
  "n_clusters": 26,
  "pca_present": true,
  "umap_present": true,
  "timings_seconds": {
    "import_fcs_and_build_adata": 1.0554337649991794,
    "qc_and_remove_doublets": 0.29943859099876136,
    "clustering_leiden": 182.84737974699965,
    "dimensionality_reduction": 252.40229899599944,
    "total_pipeline": 436.6046025429969
  },
  "timings_pretty": {
    "import_fcs_and_build_adata": "1.06s",
    "qc_and_remove_doublets": "0.30s",
    "clustering_leiden": "3m 2.85s",
    "dimensionality_reduction": "4m 12.40s",
    "total_pipeline": "7m 16.60s"
  },
  "qc_summary_present": true,
  "input_summary": {
    "n_files": 10,
    "n_events_raw_total": 200000,
    "n_features": 13,
    "per_sample": [
      {
        "sample_id": "BM_P01_compensated_demo",
        "source_file": "/opt/cbflow/backend/flowct_py_v2_project/web_mpv/job_runs/20260331_132201_ed7b9040/inputs/BM_P01_compensated_demo.fcs",
        "n_events_raw": 22000,
        "n_features": 13
      },
      {
        "sample_id": "BM_P02_compensated_demo",
        "source_file": "/opt/cbflow/backend/flowct_py_v2_project/web_mpv/job_runs/20260331_132201_ed7b9040/inputs/BM_P02_compensated_demo.fcs",
        "n_events_raw": 22000,
        "n_features": 13
      },
      {
        "sample_id": "BM_P03_compensated_demo",
        "source_file": "/opt/cbflow/backend/flowct_py_v2_project/web_mpv/job_runs/20260331_132201_ed7b9040/inputs/BM_P03_compensated_demo.fcs",
        "n_events_raw": 22000,
        "n_features": 13
      },
      {
        "sample_id": "BM_P04_compensated_demo",
        "source_file": "/opt/cbflow/backend/flowct_py_v2_project/web_mpv/job_runs/20260331_132201_ed7b9040/inputs/BM_P04_compensated_demo.fcs",
        "n_events_raw": 22000,
        "n_features": 13
      },
      {
        "sample_id": "BM_P05_compensated_demo",
        "source_file": "/opt/cbflow/backend/flowct_py_v2_project/web_mpv/job_runs/20260331_132201_ed7b9040/inputs/BM_P05_compensated_demo.fcs",
        "n_events_raw": 22000,
        "n_features": 13
      },
      {
        "sample_id": "PB_P01_compensated_demo",
        "source_file": "/opt/cbflow/backend/flowct_py_v2_project/web_mpv/job_runs/20260331_132201_ed7b9040/inputs/PB_P01_compensated_demo.fcs",
        "n_events_raw": 18000,
        "n_features": 13
      },
      {
        "sample_id": "PB_P02_compensated_demo",
        "source_file": "/opt/cbflow/backend/flowct_py_v2_project/web_mpv/job_runs/20260331_132201_ed7b9040/inputs/PB_P02_compensated_demo.fcs",
        "n_events_raw": 18000,
        "n_features": 13
      },
      {
        "sample_id": "PB_P03_compensated_demo",
        "source_file": "/opt/cbflow/backend/flowct_py_v2_project/web_mpv/job_runs/20260331_132201_ed7b9040/inputs/PB_P03_compensated_demo.fcs",
        "n_events_raw": 18000,
        "n_features": 13
      },
      {
        "sample_id": "PB_P04_compensated_demo",
        "source_file": "/opt/cbflow/backend/flowct_py_v2_project/web_mpv/job_runs/20260331_132201_ed7b9040/inputs/PB_P04_compensated_demo.fcs",
        "n_events_raw": 18000,
        "n_features": 13
      },
      {
        "sample_id": "PB_P05_compensated_demo",
        "source_file": "/opt/cbflow/backend/flowct_py_v2_project/web_mpv/job_runs/20260331_132201_ed7b9040/inputs/PB_P05_compensated_demo.fcs",
        "n_events_raw": 18000,
        "n_features": 13
      }
    ]
  },
  "dr": {
    "pca": {
      "requested_n_comps": 30,
      "used_n_comps": 12,
      "n_obs": 190827,
      "n_vars": 13
    },
    "umap": {
      "n_neighbors": 15,
      "n_pcs_used": 12,
      "min_dist": 0.5,
      "spread": 1.0
    }
  }
}