Single-cell course v1: verification record
Verification date: 2026-10-20 (Asia/Shanghai)

Executed environment
  Ubuntu 24.04 LTS, Linux aarch64, isolated Docker container
  R 4.3.3
  Seurat 5.0.1
  SeuratObject 5.0.1
  Matrix 1.6.5
  ggplot2 3.4.4
  patchwork 1.2.0
  uwot 0.1.16
  OMP_NUM_THREADS=1, OPENBLAS_NUM_THREADS=1, future sequential
  Compute environment exposes about 8 GB RAM; this is not a measured peak.
  Full R session information: reference-results/session-info.txt

Data
  10x Genomics: 3k PBMCs from a Healthy Donor, CC BY 4.0
  https://www.10xgenomics.com/datasets/3-k-pbm-cs-from-a-healthy-donor-1-standard-1-1-0
  Original processing: Cell Ranger 1.1.0, hg19
  Official archive downloaded over HTTPS and checked before extraction.
  SHA256 recorded by this course (not a publisher-issued checksum):
  847d6ebd9a1ec9a768f2be7e40ca42cbfe75ebeb6d76a4c24167041699dc28b5
  download-pbmc3k.sh checksum, extraction and file checks executed on archive.

Executed downstream checkpoints
  00: Environment packages loaded successfully.
  01: Original matrix 32738 features x 2700 barcodes.
      CreateSeuratObject(min.cells=3, min.features=200): 13714 x 2700.
  02: nFeature_RNA>200 & nFeature_RNA<2500 & percent.mt<5:
      2638 kept, 62 removed.
      Rejection flags: low_features=0, high_features=5, high_mt=57.
      Sensitivity kept counts: 2638, 2643, 2689, 2694 (see CSV for rules).
  03: 2000 variable features, 30 calculated PCs, PCs 1:10 used for graph
      and UMAP, Louvain algorithm=1, resolution=0.5, seed=42.
      Cluster 0..8 sizes: 655,485,480,344,322,162,144,32,14.
  04: FindAllMarkers, RNA, positive only, wilcox, min.pct=0.25,
      logfc.threshold=0.25, seed=42: 3426 candidate rows.
      Existing manual annotation file preserved on rerun.
  05: Reviewed teaching labels matched by cluster ID; 2638 cells retained.
      Annotation RDS, CSV, cell counts and plot produced successfully.

Executed integrity checks
  Unreviewed annotation (pending review): rejected.
  Duplicate cluster ID: rejected.
  Missing cluster ID: rejected.
  Complete reviewed teaching annotation: accepted.
  Reversed annotation row order: accepted, byte-identical cell metadata CSV.
  Detailed exit codes: reference-results/validation-checks.json

Interpretation limits
  Teaching annotations are manual candidate/broad labels, not independently
  validated cell identities. Cluster IDs and coordinates can change across
  versions, settings and platforms. Use marker evidence before transferring.
  No doublet-detection algorithm or ambient-RNA correction was run.
  One donor; no disease/control or donor-level differential inference.
  Full FASTQ-to-matrix Cell Ranger processing and installation testrun were
  not executed here. Those instructions are based on official v8 documents
  and target compatible Intel/AMD Linux machines, not this ARM container.

Figures are direct outputs of the supplied R scripts. Raw archives and RDS
objects are intentionally not bundled; readers regenerate them locally.
