{
  "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.0520626819925383,
    "qc_and_remove_doublets": 0.291970401071012,
    "clustering_leiden": 182.62306871195324,
    "dimensionality_reduction": 252.75290700199548,
    "total_pipeline": 436.7200580430217
  },
  "timings_pretty": {
    "import_fcs_and_build_adata": "1.05s",
    "qc_and_remove_doublets": "0.29s",
    "clustering_leiden": "3m 2.62s",
    "dimensionality_reduction": "4m 12.75s",
    "total_pipeline": "7m 16.72s"
  },
  "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/20260328_163300_ebdfe5cb/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/20260328_163300_ebdfe5cb/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/20260328_163300_ebdfe5cb/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/20260328_163300_ebdfe5cb/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/20260328_163300_ebdfe5cb/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/20260328_163300_ebdfe5cb/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/20260328_163300_ebdfe5cb/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/20260328_163300_ebdfe5cb/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/20260328_163300_ebdfe5cb/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/20260328_163300_ebdfe5cb/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
    }
  }
}