valsv/scrna-coregulation-benchmark
收藏资源简介:
--- license: cc-by-4.0 task_categories: - tabular-regression tags: - single-cell - scRNA-seq - gene-expression - normalization - benchmark - coregulation - coexpression - anndata size_categories: - 100K<n<1M pretty_name: scRNA-seq Coregulation Benchmark --- # scRNA-seq Coregulation Benchmark A benchmark for evaluating whether single-cell RNA-seq normalization methods preserve known gene-gene correlation structure. It provides two complementary ground-truth catalogs: 1. **Promoter-reporter catalog** — Datasets where a fluorescent reporter (GFP/DsRed) is driven by a known gene's promoter. The reporter and its target gene should be *positively correlated*. 2. **Allelic exclusion catalog** — PBMC and B cell datasets where immunoglobulin light chain allelic exclusion (IGKC vs IGLC) provides an expected *negative correlation*. Together, these test both directions of the correlation spectrum: a good normalization method should recover positive coregulation where it exists and preserve anti-correlation where biology demands it. ## Quick start ```python from huggingface_hub import hf_hub_download import anndata as ad # Promoter-reporter example path = hf_hub_download( repo_id="valsv/scrna-coregulation-benchmark", filename="promoter_reporter/GSE316394_BACHD_1.h5ad", repo_type="dataset", ) adata = ad.read_h5ad(path) reporter = adata.uns["reporters"]["eGFP"] reporter["target_gene_symbol"] # "Dlx1" — the gene whose promoter drives eGFP # Allelic exclusion example path = hf_hub_download( repo_id="valsv/scrna-coregulation-benchmark", filename="allelic_exclusion/GSE306378_N_rep1.h5ad", repo_type="dataset", ) adata = ad.read_h5ad(path) pair = adata.uns["exclusion_pairs"]["IGKC_vs_IGLC2"] pair["gene_a_symbol"] # "IGKC" pair["gene_b_symbol"] # "IGLC2" ``` ## Repository structure ``` promoter_reporter/ GSE160772.h5ad GSE181864.h5ad GSE198556_*.h5ad (4 files) GSE229976_*.h5ad (2 files) GSE295703_*.h5ad (3 files) GSE296504.h5ad GSE316394_*.h5ad (4 files) GSE319345_*.h5ad (4 files) allelic_exclusion/ GSE260943_*.h5ad (3 files) GSE285843_*.h5ad (6 files) GSE306378_*.h5ad (6 files) ``` ## File format Each `.h5ad` file is one sample (one 10x or Parse capture). Files are named `{series_id}_{sample_suffix}.h5ad`. ### `X` — Count matrix Sparse CSR, dtype `int32`. Raw UMI counts (not normalized). Rows are cells, columns are genes. ### `var` — Gene annotations | Field | Description | |-------|-------------| | `var_names` (index) | Gene symbols (mouse), TAIR locus IDs (Arabidopsis), or gene symbols (human) | | `gene_id` | Ensembl or TAIR ID | ### `obs` — Cell metadata | Field | Type | Description | |-------|------|-------------| | `total_counts` | int | Total UMI per cell | | `n_genes` | int | Number of genes with at least one count | ### `uns` — Sample metadata | Field | Description | |-------|-------------| | `sample_id` | GEO sample accession | | `series_id` | GEO series accession | | `species` | Species | | `tissue` | Tissue or cell population | | `platform` | Sequencing platform/chemistry | Promoter-reporter files additionally have `uns["reporters"]` and allelic exclusion files have `uns["exclusion_pairs"]` (see below). ## Promoter-reporter catalog 20 harmonized scRNA-seq h5ad files where a fluorescent reporter gene is driven by a known gene's promoter, providing ground-truth positive coregulation at single-cell resolution. ### Reporter metadata — `uns["reporters"]` Dict keyed by the reporter's name in `var_names`: ```python {"eGFP": {"target_gene_symbol": "Pdgfrb", "target_gene_id": "ENSMUSG00000024620.13", "construct": "Pdgfrb-BAC-eGFP"}} ``` ### Evaluation For each sample and reporter, compute: 1. **Target correlation**: Pearson r between the reporter and its target gene (expected positive) 2. **Background correlations**: Pearson r between the reporter and N random non-reporter genes The target correlation should be substantially higher than the median background correlation. ```python import numpy as np from scipy.stats import pearsonr reporter_name = "eGFP" target_name = adata.uns["reporters"][reporter_name]["target_gene_symbol"] totals = np.asarray(adata.X.sum(axis=1)).ravel() reporter_norm = np.log10(1e4 * adata[:, reporter_name].X.toarray().ravel() / totals + 1) target_norm = np.log10(1e4 * adata[:, target_name].X.toarray().ravel() / totals + 1) target_r = pearsonr(reporter_norm, target_norm)[0] rng = np.random.default_rng(42) bg_genes = rng.choice( [g for g in adata.var_names if g != reporter_name and g != target_name], size=500, replace=False, ) bg_cors = [pearsonr(reporter_norm, np.log10(1e4 * adata[:, g].X.toarray().ravel() / totals + 1))[0] for g in bg_genes] print(f"Target r: {target_r:.3f}, Background median: {np.median(bg_cors):.3f}") ``` ### Datasets #### Mouse (17 files) | Series | Files | Reporter | Target gene | Tissue | Construct | Platform | Cells | |--------|-------|----------|-------------|--------|-----------|----------|-------| | GSE160772 | 1 | eGFP | Pdgfrb | Endometrium mesenchyme | BAC transgene | 10x v2 | 6,514 | | GSE198556 | 4 | eGFP | Pdgfrb | Endometrium (injury time-course) | BAC transgene | 10x v3 | 49,723 | | GSE181864 | 1 | eGFP | Rorc | Large intestine LP | Knockin | 10x v3 | 9,107 | | GSE229976 | 2 | eGFP | Il23r | Small intestine | Knockin | 10x v3 | 27,314 | | GSE296504 | 1 | eGFP + DsRed | Cx3cr1, Cspg4 | P15 eardrum | Knockin + transgene | 10x v3.1 | 4,548 | | GSE316394 | 4 | eGFP | Dlx1 | E12.5 MGE | BAC transgene | 10x v3.1 | 42,755 | | GSE319345 | 4 | eGFP | Sox9 | Liver (BDL model) | BAC transgene | Parse WT v1 | 19,819 | #### Arabidopsis (3 files) | Series | Files | Reporter | Target gene | Tissue | Construct | Platform | Cells | |--------|-------|----------|-------------|--------|-----------|----------|-------| | GSE295703 | 3 | GFP | WER, CORTEX, SCR | Root | Promoter fusion | 10x v3 | 32,078 | ### Notes - All 16 standard mouse files share the same 78,335 genes in the same order. GSE296504 has one additional gene (DsRed, 78,336 total). The three Arabidopsis files have 32,834 genes each. - Mouse gene references are from Ensembl GRCm39, augmented with eGFP (and DsRed for GSE296504). - Construct types: knockin (reporter inserted at the endogenous locus), BAC transgene (reporter in a bacterial artificial chromosome), promoter fusion (reporter driven by a cloned proximal promoter). ## Allelic exclusion catalog 15 human scRNA-seq h5ad files for benchmarking using immunoglobulin light chain allelic exclusion. Each B cell commits to either kappa (IGKC) or lambda (IGLC2/IGLC3) light chain expression — never both — providing an expected anti-correlation signal. ### Exclusion pair metadata — `uns["exclusion_pairs"]` ```python {"IGKC_vs_IGLC2": {"gene_a_symbol": "IGKC", "gene_a_id": "ENSG00000211592", "gene_b_symbol": "IGLC2", "gene_b_id": "ENSG00000211677", "mechanism": "Immunoglobulin light chain allelic exclusion"}} ``` ### Evaluation In mixed populations (PBMC), most cells express neither light chain. Filter to B cells first to avoid Simpson's paradox: ```python igkc = adata[:, "IGKC"].X.toarray().ravel() iglc2 = adata[:, "IGLC2"].X.toarray().ravel() iglc3 = adata[:, "IGLC3"].X.toarray().ravel() b_cell_mask = (igkc > 0) | (iglc2 > 0) | (iglc3 > 0) adata_b = adata[b_cell_mask] ``` Then compute target correlation (expected negative) vs. background, excluding all immunoglobulin genes (IGK\*, IGL\*, IGH\*) from the background pool. ### Datasets | Series | Files | Condition | Tissue | Platform | Cells | |--------|-------|-----------|--------|----------|-------| | GSE306378 | 6 | 3 healthy + 3 SLE | PBMC | 10x | 78,851 | | GSE285843 | 6 | healthy (3 donors x 2 platforms) | PBMC | 10x + Parse | 72,080 | | GSE260943 | 3 | healthy (3 donors) | Tonsil B cells | 10x | 47,978 | ### Notes - All 15 files share the same 33,694 genes (GRCh38, Cell Ranger reference). - GSE260943 samples are sorted tonsil B cells — B cell filtering is optional. - GSE306378 SLE samples have elevated B cell / plasma cell fractions. ## Citations If you use this benchmark, please cite the original studies that generated the data. ### Promoter-reporter catalog **GSE160772** — Kirkwood PM, Gibson DA, Smith JR, Wilson-Kanamori JR, Kelepouri O, Esnal-Zufiaurre A, Dobie R, Henderson NC, Saunders PTK. Single-cell RNA sequencing redefines the mesenchymal cell landscape of mouse endometrium. *FASEB J.* 2021;35:e21285. [doi:10.1096/fj.202002123R](https://doi.org/10.1096/fj.202002123R) **GSE198556** — Kirkwood PM, Gibson DA, Shaw I, Dobie R, Kelepouri O, Henderson NC, Saunders PTK. Single-cell RNA sequencing and lineage tracing confirm mesenchyme to epithelial transformation (MET) contributes to repair of the endometrium at menstruation. *eLife.* 2022;11:e77663. [doi:10.7554/eLife.77663](https://doi.org/10.7554/eLife.77663) **GSE181864** — Zhou W, Zhou L, Zhou J, Chu C, Zhang C, Sockolow RE, Eberl G, Sonnenberg GF. ZBTB46 defines and regulates ILC3s that protect the intestine. *Nature.* 2022;609(7925):159–165. [doi:10.1038/s41586-022-04934-4](https://doi.org/10.1038/s41586-022-04934-4) **GSE229976** — Ahmed A, Joseph AM, Zhou J, Horn V, Uddin J, Lyu M, Goc J, et al. CTLA-4-expressing ILC3s restrain interleukin-23-mediated inflammation. *Nature.* 2024;630:976–983. [doi:10.1038/s41586-024-07537-3](https://doi.org/10.1038/s41586-024-07537-3) **GSE295703** — Chau TN, Ryu KH, Alajoleen R, Bargmann BO, Schiefelbein J, Li S. scCoBench: Benchmarking single cell RNA-seq co-expression using promoter-reporter lines. *bioRxiv.* 2025. [doi:10.1101/2025.05.26.656221](https://doi.org/10.1101/2025.05.26.656221) **GSE296504** — Shi X, et al. (2026). Preprint: [bioRxiv 10.64898/2026.01.13.699360](https://www.biorxiv.org/content/10.64898/2026.01.13.699360v1) **GSE316394** — Molero AE, Devakanmalai GS, Altun YM, Jover-Mengual T, Zhang J, Khan N, Mehler MF. Aberrant medial ganglionic eminence (MGE) GABAergic neurogenesis contributes to Huntington's disease pathogenesis. *Neurobiol Dis.* 2026;221:107297. [doi:10.1016/j.nbd.2026.107297](https://doi.org/10.1016/j.nbd.2026.107297) **GSE319345** — Kanakanui KG, Hantelys F, Hrncir HR, Bombin S, Gracz AD. Multi-gene biomarkers reveal spatial organization and subpopulation-specific damage response in intrahepatic biliary epithelial cells. *bioRxiv.* 2026. [doi:10.64898/2026.02.12.705355](https://doi.org/10.64898/2026.02.12.705355) ### Allelic exclusion catalog **GSE260943** — McGrath JJC, Park J, Troxell CA, Chervin JC, Li L, Kent JR, Changrob S, et al. Mutability and hypermutation antagonize immunoglobulin codon optimality. *Mol Cell.* 2025;85(2):430–444.e6. [doi:10.1016/j.molcel.2024.11.033](https://doi.org/10.1016/j.molcel.2024.11.033) **GSE306378** — Cheng LL, Tang ZF, Li M, Chen JJ, Shang SS, Huang CB. Single-cell sequencing-based analysis of CD4+ T-cell and B-cell heterogeneity in patients with lupus nephritis. *BMC Med Genomics.* 2026;19(1):29. [doi:10.1186/s12920-025-02277-3](https://doi.org/10.1186/s12920-025-02277-3) **GSE285843** — Publication pending (no citation listed on GEO as of March 2026).
### 数据集元数据 许可证:CC BY 4.0 任务类别:表格回归 标签:单细胞、单细胞RNA测序(single-cell RNA sequencing, scRNA-seq)、基因表达、标准化、基准测试、共调控、共表达、AnnData 样本量范围:100,000 < 样本数 < 1,000,000 数据集展示名称:单细胞RNA测序共调控基准数据集 # 单细胞RNA测序共调控基准数据集 本基准数据集用于评估单细胞RNA测序(scRNA-seq)标准化方法能否保留已知的基因-基因相关结构,提供两套互补的金标准标注目录: 1. **启动子报告基因目录**:此类数据集的荧光报告蛋白(GFP/DsRed)由已知基因的启动子驱动,报告基因与其靶基因应呈**正相关**。 2. **等位基因排除目录**:包含外周血单个核细胞(peripheral blood mononuclear cell, PBMC)和B细胞数据集,其中免疫球蛋白轻链等位基因排除(IGKC与IGLC)呈现预期的**负相关**。 二者共同覆盖了相关谱的两个方向:优秀的标准化方法应能在存在共调控的生物学场景下恢复正相关关系,并在符合生物学规律的场景下保留抗相关关系。 ## 快速上手 python from huggingface_hub import hf_hub_download import anndata as ad # 启动子报告基因示例 path = hf_hub_download( repo_id="valsv/scrna-coregulation-benchmark", filename="promoter_reporter/GSE316394_BACHD_1.h5ad", repo_type="dataset", ) adata = ad.read_h5ad(path) reporter = adata.uns["reporters"]["eGFP"] reporter["target_gene_symbol"] # "Dlx1" — 驱动eGFP表达的靶基因 # 等位基因排除示例 path = hf_hub_download( repo_id="valsv/scrna-coregulation-benchmark", filename="allelic_exclusion/GSE306378_N_rep1.h5ad", repo_type="dataset", ) adata = ad.read_h5ad(path) pair = adata.uns["exclusion_pairs"]["IGKC_vs_IGLC2"] pair["gene_a_symbol"] # "IGKC" pair["gene_b_symbol"] # "IGLC2" ## 仓库结构 promoter_reporter/ GSE160772.h5ad GSE181864.h5ad GSE198556_*.h5ad (共4个文件) GSE229976_*.h5ad (共2个文件) GSE295703_*.h5ad (共3个文件) GSE296504.h5ad GSE316394_*.h5ad (共4个文件) GSE319345_*.h5ad (共4个文件) allelic_exclusion/ GSE260943_*.h5ad (共3个文件) GSE285843_*.h5ad (共6个文件) GSE306378_*.h5ad (共6个文件) ## 文件格式 每个`.h5ad`文件对应一个样本(来自10x或Parse测序平台的捕获样本),文件命名格式为`{series_id}_{sample_suffix}.h5ad`。 ### `X` — 计数矩阵 采用稀疏CSR格式存储,数据类型为`int32`,包含原始UMI(唯一分子标识符,Unique Molecular Identifier, UMI)计数(未经过标准化处理)。矩阵行对应细胞,列对应基因。 ### `var` — 基因注释表 | 字段 | 说明 | |-------|-------------| | `var_names`(索引) | 基因符号(小鼠)、TAIR基因座ID(拟南芥)或基因符号(人类) | | `gene_id` | Ensembl或TAIR基因ID | ### `obs` — 细胞元数据表 | 字段 | 数据类型 | 说明 | |-------|------|-------------| | `total_counts` | int | 单个细胞的总UMI数 | | `n_genes` | int | 该细胞中至少含有1个计数的基因数量 | ### `uns` — 样本元数据表 | 字段 | 说明 | |-------|-------------| | `sample_id` | GEO样本登录号 | | `series_id` | GEO系列登录号 | | `species` | 物种来源 | | `tissue` | 组织或细胞群类型 | | `platform` | 测序平台/化学试剂体系 | 启动子报告基因数据集额外包含`uns["reporters"]`字段,等位基因排除数据集则包含`uns["exclusion_pairs"]`字段(详见下文)。 ## 启动子报告基因目录 本目录包含20个经过标准化处理的scRNA-seq h5ad文件,其中荧光报告基因由已知基因的启动子驱动,提供单细胞分辨率下的金标准正共调控标注。 ### 报告基因元数据 — `uns["reporters"]` 该字段为字典,键为`var_names`中对应的报告基因名称: python {"eGFP": {"target_gene_symbol": "Pdgfrb", "target_gene_id": "ENSMUSG00000024620.13", "construct": "Pdgfrb-BAC-eGFP"}} ### 评估方法 针对每个样本和报告基因,需计算两项指标: 1. **靶基因相关系数**:报告基因与其靶基因的Pearson相关系数r(预期为正值) 2. **背景相关系数**:报告基因与N个随机选取的非报告基因的Pearson相关系数 靶基因相关系数应显著高于背景相关系数的中位数。 python import numpy as np from scipy.stats import pearsonr reporter_name = "eGFP" target_name = adata.uns["reporters"][reporter_name]["target_gene_symbol"] totals = np.asarray(adata.X.sum(axis=1)).ravel() reporter_norm = np.log10(1e4 * adata[:, reporter_name].X.toarray().ravel() / totals + 1) target_norm = np.log10(1e4 * adata[:, target_name].X.toarray().ravel() / totals + 1) target_r = pearsonr(reporter_norm, target_norm)[0] rng = np.random.default_rng(42) bg_genes = rng.choice( [g for g in adata.var_names if g != reporter_name and g != target_name], size=500, replace=False, ) bg_cors = [pearsonr(reporter_norm, np.log10(1e4 * adata[:, g].X.toarray().ravel() / totals + 1))[0] for g in bg_genes] print(f"靶基因相关系数r: {target_r:.3f}, 背景相关系数中位数: {np.median(bg_cors):.3f}") ### 数据集详情 #### 小鼠样本(共17个文件) | GEO系列号 | 文件数 | 报告基因 | 靶基因 | 组织 | 构建方式 | 测序平台 | 细胞数 | |--------|-------|----------|-------------|--------|-----------|----------|-------| | GSE160772 | 1 | eGFP | Pdgfrb | 子宫内膜间质 | BAC转基因 | 10x v2 | 6,514 | | GSE198556 | 4 | eGFP | Pdgfrb | 子宫内膜(损伤时间序列) | BAC转基因 | 10x v3 | 49,723 | | GSE181864 | 1 | eGFP | Rorc | 大肠固有层 | 基因敲入 | 10x v3 | 9,107 | | GSE229976 | 2 | eGFP | Il23r | 小肠 | 基因敲入 | 10x v3 | 27,314 | | GSE296504 | 1 | eGFP + DsRed | Cx3cr1, Cspg4 | 15日龄小鼠鼓膜 | 基因敲入 + 转基因 | 10x v3.1 | 4,548 | | GSE316394 | 4 | eGFP | Dlx1 | 胚胎12.5天内侧神经节隆起 | BAC转基因 | 10x v3.1 | 42,755 | | GSE319345 | 4 | eGFP | Sox9 | 肝脏(胆管结扎模型) | BAC转基因 | Parse WT v1 | 19,819 | #### 拟南芥样本(共3个文件) | GEO系列号 | 文件数 | 报告基因 | 靶基因 | 组织 | 构建方式 | 测序平台 | 细胞数 | |--------|-------|----------|-------------|--------|-----------|----------|-------| | GSE295703 | 3 | GFP | WER, CORTEX, SCR | 根 | 启动子融合 | 10x v3 | 32,078 | ### 补充说明 - 16个标准小鼠样本共享完全相同的78,335个基因,且基因顺序一致。GSE296504额外包含1个DsRed基因,总基因数为78,336。3个拟南芥样本各自包含32,834个基因。 - 小鼠基因注释参考Ensembl GRCm39版本,额外添加了eGFP基因(GSE296504还额外添加了DsRed基因)。 - 构建类型说明:基因敲入(将报告基因插入内源基因位点)、BAC转基因(报告基因位于细菌人工染色体载体)、启动子融合(报告基因由克隆的近端启动子驱动)。 ## 等位基因排除目录 本目录包含15个人类scRNA-seq h5ad文件,用于基于免疫球蛋白轻链等位基因排除的基准测试。每个B细胞仅会表达κ(IGKC)或λ(IGLC2/IGLC3)轻链中的一种,绝不会同时表达二者,因此呈现预期的抗相关信号。 ### 排除对元数据 — `uns["exclusion_pairs"]` 该字段为字典,键为轻链对的名称: python {"IGKC_vs_IGLC2": {"gene_a_symbol": "IGKC", "gene_a_id": "ENSG00000211592", "gene_b_symbol": "IGLC2", "gene_b_id": "ENSG00000211677", "mechanism": "免疫球蛋白轻链等位基因排除"}} ### 评估方法 在混合细胞群体(如PBMC)中,大部分细胞不表达免疫球蛋白轻链。需首先过滤出B细胞以避免辛普森悖论: python igkc = adata[:, "IGKC"].X.toarray().ravel() iglc2 = adata[:, "IGLC2"].X.toarray().ravel() iglc3 = adata[:, "IGLC3"].X.toarray().ravel() b_cell_mask = (igkc > 0) | (iglc2 > 0) | (iglc3 > 0) adata_b = adata[b_cell_mask] 随后计算靶基因相关系数(预期为负值)与背景相关系数,背景基因池需排除所有免疫球蛋白基因(IGK*、IGL*、IGH*)。 ### 数据集详情 | GEO系列号 | 文件数 | 实验条件 | 组织 | 测序平台 | 细胞数 | |--------|-------|-----------|--------|----------|-------| | GSE306378 | 6 | 3名健康志愿者 + 3名系统性红斑狼疮(SLE)患者 | PBMC | 10x | 78,851 | | GSE285843 | 6 | 健康志愿者(3名供体 × 2种平台) | PBMC | 10x + Parse | 72,080 | | GSE260943 | 3 | 健康志愿者(3名供体) | 扁桃体B细胞 | 10x | 47,978 | ### 补充说明 - 15个样本共享完全相同的33,694个基因(基于GRCh38版本的Cell Ranger参考基因组)。 - GSE260943的样本为分选后的扁桃体B细胞,B细胞过滤步骤为可选。 - GSE306378的SLE样本中B细胞/浆细胞比例升高。 ## 引用说明 若使用本基准数据集,请引用生成原始数据的相关研究。 ### 启动子报告基因目录相关引用 **GSE160772** — Kirkwood PM等人,《单细胞RNA测序重新定义小鼠子宫内膜间质细胞图谱》,*FASEB期刊*,2021;35:e21285。DOI:10.1096/fj.202002123R **GSE198556** — Kirkwood PM等人,《单细胞RNA测序与谱系追踪证实间质上皮转化参与月经周期子宫内膜修复》,*eLife*,2022;11:e77663。DOI:10.7554/eLife.77663 **GSE181864** — Zhou W等人,《ZBTB46定义并调控保护肠道的ILC3细胞》,*自然*,2022;609(7925):159–165。DOI:10.1038/s41586-022-04934-4 **GSE229976** — Ahmed A等人,《表达CTLA-4的ILC3细胞抑制白细胞介素-23介导的炎症》,*自然*,2024;630:976–983。DOI:10.1038/s41586-024-07537-3 **GSE295703** — Chau TN等人,《scCoBench:利用启动子报告细胞系基准测试单细胞RNA测序共表达》,*bioRxiv预印本*,2025。DOI:10.1101/2025.05.26.656221 **GSE296504** — Shi X等人,预印本:[bioRxiv 10.64898/2026.01.13.699360] **GSE316394** — Molero AE等人,《内侧神经节隆起GABA能神经发生异常参与亨廷顿舞蹈症发病机制》,*神经生物学疾病*,2026;221:107297。DOI:10.1016/j.nbd.2026.107297 **GSE319345** — Kanakanui KG等人,《多基因生物标志物揭示肝内胆管上皮细胞的空间组织与亚群特异性损伤应答》,*bioRxiv预印本*,2026。DOI:10.64898/2026.02.12.705355 ### 等位基因排除目录相关引用 **GSE260943** — McGrath JJC等人,《突变率与超突变拮抗免疫球蛋白密码子最优性》,*分子细胞*,2025;85(2):430–444.e6。DOI:10.1016/j.molcel.2024.11.033 **GSE306378** — Cheng LL等人,《基于单细胞测序的狼疮肾炎患者CD4+ T细胞与B细胞异质性分析》,*BMC医学基因组学*,2026;19(1):29。DOI:10.1186/s12920-025-02277-3 **GSE285843** — 待发表(截至2026年3月,GEO未收录相关引用)。




