4. Methods
4.1. Healthy Cutaneous and Systemic Baseline from the Tabula Sapiens Atlas
Reference single-cell RNA-sequencing matrices for the human blood and skin compartments were obtained from the Tabula Sapiens consortium, hosted on CZ CELLxGENE. To ensure rigorous feature matching, all target genes were mapped exclusively using stable Ensembl identifiers. Counts were recovered from the raw data layer. Each matrix was filtered independently using tissue-specific quality control thresholds. Cells were retained if they expressed at least 200 unique genes and carried a mitochondrial transcript fraction below 5.0% for blood and below 10.0% for skin, reflecting the higher baseline mitochondrial load typical of enzymatically dissociated solid tissue. Mitochondrial genes were identified by the prefix MT-. Counts were subsequently normalized to 10,000 counts per cell (CP10k) and log1p-transformed.
A targeted 18-gene panel was extracted to survey the cutaneous and systemic endocannabinoid system, alongside four housekeeping reference genes (ACTB, B2M, GAPDH, RPL13A) included to benchmark detection sensitivity. To ensure robust statistical power, a strict demographic gate was applied: a cell type was only retained for downstream analysis if it was represented by at least three independent donors, with each donor contributing a minimum of ten cells.
For each retained cell type, we computed the percentage of cells with any detected expression of each panel gene, along with the arithmetic mean, median, and standard deviation of the log-normalized expression. These per-cell-type statistics formed the substrate for
Figure 1.
To resolve the macro-architectural distribution of each transcript within the skin compartment, the 28 cell-type annotations were aggregated into seven functional master lineages: T lymphocytes, B lymphocytes, innate lymphoid cells, myeloid and antigen-presenting cells, granulocytes, stroma and vasculature, and epithelial and barrier cells. To estimate the pseudobulk transcript contribution of each lineage on a comparable scale, per-cell-type log-normalized means were reverted to a linear scale (using the mathematical transformation ) and multiplied by the corresponding cell count to yield an aggregate expression estimate in arbitrary units. Contributions were then summed across the constituent cell types of each master lineage. Due to the strict demographic power gate, the B lymphocyte and innate lymphoid lineages lacked sufficient cell density in the healthy skin cohort and were excluded from the lineage-level aggregations. Lineage expression penetrance was computed as the sum of expressing cells across constituent cell types divided by the total cell count of the master lineage, expressed as a percentage.
4.2. Bulk RNA-Sequencing of HS Lesional Skin and Matched Whole Blood
Raw integer count data and clinical metadata were obtained from the Gene Expression Omnibus under accession GSE154773 (Gudjonsson et al. 2020), yielding four clinical groups: healthy donor skin (n = 10), HS lesional skin (n = 22), healthy donor whole blood (n = 10), and HS patient whole blood (n = 21). Sample identity (patient and tissue) was parsed directly from the count matrix column headers. Differential expression was computed using PyDESeq2 (v0.5.4) separately for the skin and whole blood compartments, applying a standard pre-filter to exclude genes whose total count summed across samples within a compartment was below 10. Each compartment-level model was fit using a negative binomial Wald test with default median-of-ratios size-factor normalization, contrasting HS against healthy donors. Log2 fold changes were subsequently moderated using apeglm-style shrinkage to reduce noise in lowly expressed and high-leverage genes while preserving direction and significance estimates.
Two parallel statistical analyses were derived from the fitted models. First, the methodology was independently validated against 17 transcripts with directions and fold changes explicitly reported in the source publication (Gudjonsson et al. 2020). Second, for the curated 33-gene panel (comprising the 18-gene endocannabinoidome panel and the 15-gene lipid mediator panel), a single unified Benjamini-Hochberg false discovery rate correction was applied across all N = 66 panel-by-tissue tests rather than within each compartment separately. This ensured the false discovery rate was controlled across the full set of hypotheses. Statistical significance was defined as an adjusted p-value (FDR) of less than or equal to 0.10.
4.3. Assembly and Integration of Immune and Epidermal Single-Cell Cohort (GSE220116)
Raw 10x Genomics count matrices (matrix, barcodes, and features triplets) for GSE220116 were obtained from the Gene Expression Omnibus together with series matrix files containing clinical metadata. Matrices were ingested per sample and concatenated with an outer join, zero-filling missing genes to preserve the full feature space across the three sequencing platforms represented in the cohort. Per-cell quality control was applied in several stages. A library-complexity filter removed cells expressing fewer than 200 genes, and algorithmic doublet detection was performed per sample using Scrublet (Wolock et al. 2019) at an expected doublet rate of 5%. Median absolute deviation (MAD)-based outlier filtering was then applied to both total counts and gene counts, with cells flagged and removed if they fell more than 5 MADs above or below the median of either metric. A hard mitochondrial threshold excluded cells exceeding 10.0% mitochondrial transcripts. Finally, ribosomal (RPS*, RPL*) and MALAT1 transcripts were removed from the feature space to limit their disproportionate variance contribution during downstream integration.
Of the resulting post-QC cells, samples annotated as after treatment or Nonlesional were excluded to restrict analysis to the primary lesional-versus-healthy comparison, yielding a global cohort of 33,705 cells across 33,433 genes, spanning hidradenitis suppurativa lesional skin, psoriasis lesional skin, and healthy donor skin. A raw integer count layer was retained for probabilistic modeling, and the display matrix was separately normalized to 10,000 counts per cell and log1p-transformed. Three thousand highly variable genes were selected using a batch-aware Seurat dispersion algorithm, with patient identifier assigned as the batch key to prevent variance selection from being driven by sample-specific technical effects.
Batch-aware integration was performed using the single-cell variational inference framework (scVI) (Lopez et al. 2018). The model was trained on the raw integer counts of the 3,000 highly variable genes with two hidden layers, 30 latent dimensions, and a negative binomial gene likelihood. Patient identifier was assigned as the primary categorical batch covariate. Skin anatomical site was included as a secondary categorical covariate to regress out site-specific technical variation, and total counts and mitochondrial transcript fraction were included as continuous covariates to adjust for per-cell library size and quality. Training ran for up to 400 epochs with early stopping (patience = 20 epochs) monitored on the evidence lower bound validation loss. A k-nearest-neighbors graph (k = 15) was constructed on the resulting latent representation, and a UMAP embedding (minimum distance 0.3) and Leiden clustering (resolution 0.8) were computed on this graph.
Global cluster identity was assigned by cross-referencing cluster-level mean expression of ten canonical lineage markers against the top-ranked Wilcoxon rank-sum marker genes per cluster. The markers used were KRT14 and KRT1 (epithelial basal and suprabasal), COL1A1 (stromal fibroblast), PECAM1 (endothelial), LYZ and HLA-DRA (macrophage/monocyte and dendritic cell), CD3E (T lymphocyte), MS4A1 (B lymphocyte), TPSAB1 (mast cell), and PMEL (melanocyte). Manifold integration quality was assessed by cross-tabulating Leiden cluster assignments against patient identifier, disease state, skin anatomical site, and sequencing platform to confirm batch mixing, and by computing cluster-level medians of cell-cycle phase scores, mitochondrial fraction, doublet score, and sex-linked (XIST, RPS4Y1), viability (GAPDH), and stress (HSP90AA1) expression to identify clusters driven by technical rather than biological variation.
4.4. Lineage Purification and Construction of the Integrated Immune-Epidermal Atlas
To resolve each major lineage at higher resolution and remove residual cross-lineage contamination, seven lineage compartments were extracted from the global atlas based on their canonical marker profile: keratinocytes, T lymphocytes, mononuclear phagocytes, B lymphocytes, mast cells, melanocytes, and the stromal compartment. The keratinocyte, T lymphocyte, mononuclear phagocyte, and B lymphocyte compartments formed the substrate for the single-cell analyses of the immune and epidermal lesional architecture reported in
Figure 4 and
Figure 5. The stromal compartment was processed as part of atlas assembly for completeness but was not used for the fibroblast-centered analyses in
Figure 6 through 8, which draw on a separately constructed, expanded fibroblast cohort. Each extracted lineage was subjected to an independent three-step refinement.
First, highly variable genes were recalculated within the isolated lineage (up to 2,000 genes per compartment). For dense compartments (keratinocytes, mononuclear phagocytes, T cells, B cells, and the stromal compartment) the Seurat v3 algorithm was applied to the raw integer counts layer. For sparse compartments (mast cells and melanocytes) the standard Seurat algorithm was applied to log-normalized expression instead, as the LOESS regression underlying the Seurat v3 dispersion estimator is unstable on low-density sequencing batches. A new scVI model was then trained on the lineage-specific feature set with two hidden layers and a negative binomial gene likelihood, using patient identifier as the sole batch covariate. Latent dimensionality was adaptively scaled to cohort size to limit overfitting in rare populations: 30 dimensions for compartments exceeding 5,000 cells, 20 dimensions for 500 to 5,000 cells, and 10 dimensions for fewer than 500 cells. Training ran for up to 400 epochs with early stopping. A lineage-specific k-nearest-neighbors graph, UMAP embedding (minimum distance 0.3), and Leiden clustering (resolution 0.8) were then computed on the new latent space, with the neighbor parameter bounded to the lesser of 15 or the total lineage cell count minus one to accommodate sparse populations.
Second, each lineage was evaluated against a structured diagnostic panel comprising positive lineage markers (for example, CD68 for mononuclear phagocytes, CD3E for T cells, MS4A1 for B cells, KRT14 and KRT1 for keratinocytes, TPSAB1 for mast cells, PMEL for melanocytes, and COL1A1 with PECAM1 for the stromal compartment), negative cross-lineage markers drawn from all other major lineages, viability markers (GAPDH, ACTB), and cellular stress markers (HSPA1A, HSP90AB1, UBC). Cluster-level mean expression and per-cell penetrance were computed for each marker and visualized as dot plots and UMAP feature plots.
Third, cluster identities were assigned and contaminating clusters excluded based on a review of the diagnostic output. Clusters exhibiting cross-lineage marker expression (heterotypic doublets) or a combination of low viability with elevated stress transcripts were excluded. Remaining clusters were assigned subtype labels where internal structure permitted: the mononuclear phagocyte compartment resolved into macrophage and a combined dendritic-cell/monocyte subset; the T cell compartment into CD4-positive, CD8-positive, regulatory, and natural killer subsets; the B cell compartment into B cells and plasma cells; the keratinocyte compartment into basal and differentiating subsets; and the stromal compartment into core fibroblast and endothelial subsets. Mast cells and melanocytes were retained as single compartments without internal subtype resolution, with outlier clusters excluded.
The seven purified lineage matrices were concatenated via outer join into a unified super-matrix. A parity check confirmed that the concatenated cell count equaled the sum of contributing lineage cell counts, verifying no cell loss during concatenation. Legacy cell-type annotations inherited from the source dataset were cross-tabulated against the refined lineage assignments to verify concordance between the two labeling schemes, after which the legacy annotation columns were dropped to prevent their accidental use in downstream differential expression modeling.
A final global integration was performed on the purified super-matrix. Two thousand highly variable genes were selected using the Seurat algorithm on log-normalized expression, without subsetting the feature space, so that all approximately 33,000 genes remained available for downstream pseudobulk aggregation. A new scVI model was trained on the raw integer counts of these highly variable genes with two hidden layers, 30 latent dimensions, a zero-inflated negative binomial gene likelihood, and patient identifier as the batch covariate, running for up to 200 epochs with early stopping. The latent representation was mapped back to the full feature space, and a new k-nearest-neighbors graph (k = 15) and UMAP embedding (minimum distance 0.3) were computed. This integrated, purified global atlas formed the substrate for all downstream single-cell analyses of the keratinocyte, T cell, mononuclear phagocyte, and B cell compartments.
4.5. Patient-Level Pseudobulk Differential Expression of the Immune and Epidermal Compartments
To accommodate the dropout sparsity and overdispersion characteristic of droplet-based single-cell data, differential expression analysis was performed at pseudobulk resolution. A manually curated 134-gene panel organized into a two-tier ontology was assembled prior to aggregation, spanning three biological pillars (neuro-immune signaling, matrix remodeling, and lipid mediators) with internal sub-categories (cytokines and chemokines, alarmins and damage-associated molecular patterns, mechanotransducers, proteases, neurotrophic factors, neuropeptides, axon guidance molecules, matrix components, eicosanoid biosynthetic enzymes, endocannabinoid enzymes, and others). Within the integrated purified atlas, cells were grouped by patient identifier, compartment, and disease state, and raw integer transcript counts for the 134 panel genes were summed across all cells of a given patient-compartment combination to yield one pseudobulk biological replicate per patient per compartment.
A minimum-cells threshold was imposed to prevent low-depth replicates from distorting variance estimates: patient-compartment combinations with fewer than 10 cells were excluded. A second power gate required a minimum of three valid biological replicates per disease condition per compartment for that compartment to enter statistical modeling. Due to the inherent sparsity of droplet-based capture for rare cutaneous populations, the mast cell and melanocyte compartments failed to meet this demographic threshold and were excluded from patient-level differential expression analysis. Similarly, the stromal compartment from this specific atlas was set aside in favor of a dedicated, expanded fibroblast cohort (detailed in
Section 2.7). Consequently, the final cohort passing the power gate for 3-way differential expression comprised the keratinocyte compartment (8 HS, 10 healthy controls, 10 psoriasis), the T lymphocyte compartment (8 HS, 7 healthy controls, 10 psoriasis), and the mononuclear phagocyte compartment (7 HS, 7 healthy controls, 10 psoriasis).
Differential expression was computed using PyDESeq2, which fits a negative binomial generalized linear model to raw integer counts with default median-of-ratios size-factor normalization. Three pairwise contrasts were extracted from each lineage's fitted model: hidradenitis suppurativa versus healthy control, hidradenitis suppurativa versus psoriasis, and psoriasis versus healthy control. A per-lineage gene-level sparsity filter was applied before model fitting, removing any panel gene whose cumulative count sum across retained samples fell below 10. Raw p-values from the Wald tests were adjusted for multiple testing using the Benjamini-Hochberg false discovery rate procedure within each contrast.
To provide transcriptome-wide context for the volcano plots in
Figure 4g and
Figure 5a, separate PyDESeq2 models were fit on the full gene space (rather than exclusively on the curated 134-gene panel) for the mononuclear phagocyte, keratinocyte, and T lymphocyte compartments. These genome-wide models used the same patient-compartment pseudobulk aggregation, the same 10-cells-per-replicate power gate, and the same gene-level 10-count sparsity filter, but drew from the complete transcriptome of each compartment rather than the targeted panel. The mononuclear phagocyte genome-wide model was fit with the same three pairwise contrasts as the targeted analysis; the keratinocyte and T lymphocyte genome-wide models were fit only for the hidradenitis suppurativa versus control contrast used in the
Figure 5a volcanoes.
Figure 4 and
Figure 5 draw on different pillars of the two-tier ontology. The neuro-immune signaling and matrix remodeling pillars together contain 101 genes, which are displayed as the targeted boxplot networks in
Figure 4 and highlighted over the genome-wide volcano background in
Figure 4g. The lipid mediator pillar contains 33 genes, displayed as the targeted boxplots in
Figure 5 and highlighted over the genome-wide volcano backgrounds in
Figure 5a.
4.6. B lymphocyte Maturation Trajectory in HS Lesions
The B lymphocyte compartment was isolated from the integrated atlas for trajectory analysis. This analysis was restricted to cells from hidradenitis suppurativa patients because the low B cell density in the healthy donor and psoriatic cohorts precluded a disease-state comparison at sufficient statistical power. Raw integer counts for the retained HS B lymphocytes were normalized to 1,000,000 counts per cell (counts per million, CPM) and log1p-transformed before module scoring.
Maturation state was assigned by module scoring against two canonical B lineage signatures. A memory B cell module comprised MS4A1, CD19, PAX5, and BANK1. A plasma cell module comprised PRDM1, XBP1, IRF4, and MZB1. Per-cell module scores were computed with scanpy's score_genes function, which subtracts the mean expression of a randomly sampled reference gene set from the mean expression of the target set. To prevent expression-level bias, the reference transcriptome was partitioned into 25 equal expression bins, and for each target gene, 50 control genes were sampled from the corresponding bin. Cells were then assigned to discrete maturation states based on the sign of each score: memory B cells (memory score > 0 and plasma score 0), plasmablasts (memory score > 0 and plasma score > 0), and plasma cells (memory score 0 and plasma score > 0). Cells with scores at or below zero on both modules were classified as undefined and excluded from the trajectory.
Sequential differential expression between maturation states was then evaluated at pseudobulk resolution. A demographic power gate required a minimum of 10 B cells per patient per maturation state for a patient-state combination to constitute a valid pseudobulk replicate. For patient-state combinations clearing this threshold, raw integer counts were summed across cells to produce pseudobulk replicates, and a gene-level sparsity filter excluded genes with a cumulative count sum below 10 across the retained replicates.
PyDESeq2 fitted a negative binomial generalized linear model with maturation state as the sole design factor. Patient identifier was excluded from the design matrix: because the 10-cell threshold caused certain patients to contribute replicates for some maturation states but not others (particularly the transient plasmablast state), a patient-corrected design would have been rank-deficient and would have failed to fit. Two sequential maturation-state contrasts were extracted from the fitted model: plasmablast versus memory B cell, and plasma cell versus plasmablast. Raw p-values were adjusted using the Benjamini-Hochberg false discovery rate procedure.
Pseudobulk differential expression results were filtered to the 33-gene lipid mediator pillar of the two-tier ontology (
Section 2.5), matching the gene set analyzed for the other compartments in
Figure 5. In parallel, per-maturation-state mean expression and per-cell penetrance (percent of cells with detected expression of each gene) were computed on the log1p-CPM single-cell matrix for the same 33-gene set, forming the substrate for the
Figure 5d heatmap that tracks lipid mediator expression across the maturation trajectory.
4.7. Assembly and Integration of Fibroblast Single-Cell Cohort (GSE154775 + GSE173706)
A second, independent single-cell cohort was assembled to support the fibroblast-centered analyses in
Figure 6 through 8. Two publicly deposited datasets were used: GSE154775, which contributed full-thickness lesional skin from hidradenitis suppurativa patients in 10x Genomics triplet format (.mtx, barcodes, features), and GSE173706, which contributed dense count matrices from healthy donor skin in .csv format. The GSE173706 cohort included both healthy donors and a psoriasis arm; the psoriasis samples were dropped at the metadata parsing stage, retaining only samples annotated as healthy donors, so that the integrated atlas carries a single unconfounded healthy baseline rather than a mixed inflammatory-disease reference. Per-sample .csv files from GSE173706 were subjected to a structural integer parity check on up to 1,000 randomly sampled non-zero values: fractional values (indicating TPM or CPM pre-normalization rather than raw counts) would have aborted ingestion. All matrices cleared the check. Samples were concatenated with an outer-join strategy that zero-fills missing genes across source datasets, preserving the universal feature space. A cellular parity check verified that the total cell count after concatenation equaled the sum of per-sample cell counts. Raw integer counts were stored in a dedicated counts layer and retained unmodified through all subsequent transformations.
Quality control and integration then proceeded on the merged object. Mitochondrial content was computed from genes with an MT- symbol prefix. Per-cell filters excluded cells with fewer than 200 detected genes, more than 6,000 detected genes, or more than 10.0% mitochondrial reads. Per-batch doublet detection was applied via Scrublet at the patient identifier level with an expected doublet rate of 5%; batches with fewer than 50 cells were exempted from Scrublet and passed through as singlets by default. Predicted doublets were excluded. A gene-level filter removed genes detected in fewer than three cells, followed by the exclusion of ribosomal (RPS* and RPL*) and MALAT1 transcripts based on gene symbol prefix.
The filtered matrix was normalized to 10,000 counts per cell and log1p-transformed for display; the raw counts layer was retained separately for scVI training. Prior to feature selection, a micro-batch gate excluded any patient contributing fewer than 30 cells to prevent LOESS dispersion-estimator failure during batch-aware highly variable gene identification. Three thousand highly variable genes were then selected via the Seurat algorithm on log-normalized expression with the patient identifier assigned as the batch key. An scVI generative model was trained on the raw integer counts of the selected highly variable genes with two hidden layers, 30 latent dimensions, a negative binomial gene likelihood, a gene-specific dispersion parameter, and the patient identifier as the sole batch covariate. Training ran for up to 400 epochs with early stopping (patience = 20). A k-nearest-neighbors graph (k = 15) was computed on the scVI latent representation, after which a UMAP embedding (minimum distance 0.3) and Leiden clustering (resolution 0.8) were applied. Random seeds were fixed at 123 to enable reproducible integration.
Gene identifiers were then harmonized to a common HGNC symbol namespace. For cells originating from GSE154775, the source features.tsv file provided a dictionary mapping Ensembl gene IDs to gene symbols. Unmapped or blank-symbol entries retained their original Ensembl identifier; namespace collisions arising from one-to-many Ensembl-to-symbol mappings were resolved by appending unique suffixes, with the unmodified counts layer verified to remain dimensionally aligned after renaming. Fragmented disease metadata columns from the two cohorts were then unified into a single clinical condition axis with values of HS or Healthy. To validate the integrated manifold, mean log-normalized expression of ten canonical lineage markers (KRT14, KRT1, COL1A1, PECAM1, LYZ, HLA-DRA, CD3E, MS4A1, TPSAB1, PMEL) was computed per Leiden cluster. A multi-panel UMAP diagnostic grid visualized cluster identity, clinical condition, patient identifier, source dataset, cell cycle phase (scored against standard S-phase and G2/M-phase reference gene lists), log-transformed transcript counts and detected gene counts, percent mitochondrial reads, Scrublet doublet score, and specific sex-chromosome, viability, and stress expression to identify clusters driven by technical rather than biological variation. Categorical cross-tabulations of cluster identity against patient, dataset, clinical condition, and cell cycle phase verified batch mixing and biological signal preservation. The top ten marker genes per cluster were extracted by Wilcoxon rank-sum testing.
The stromal compartment was then extracted for lineage-specific refinement. Leiden clusters exhibiting canonical stromal marker expression (high COL1A1 and PECAM1, absent or low KRT14, LYZ, and CD3E) were retained, and prior global clustering metadata was dropped to prevent downstream bias. The micro-batch gate was lowered from 30 to 15 cells per patient. Up to 2,000 highly variable genes were selected by the Seurat algorithm with the patient identifier as the batch key. A new scVI model was trained on the raw integer counts of these genes with two hidden layers, adaptive latent dimensionality (20 dimensions when the lineage cohort contained fewer than 3,000 cells, otherwise 30), a negative binomial gene likelihood, gene-specific dispersion, and the patient identifier as the sole batch covariate, for up to 400 epochs with early stopping. A k-nearest-neighbors graph (k = 15), UMAP embedding (minimum distance 0.3), and Leiden clustering at a reduced resolution of 0.6 were then computed on the refined latent space.
A diagnostic panel then characterized the resulting stromal clusters against an expanded marker dictionary spanning core fibroblast, myofibroblast, mural, and endothelial identities. To expose the true magnitude of highly expressed genes, cluster means were computed by reverting the log1p-transformed expression matrix to a linear scale prior to averaging. Based on this diagnostic output, clusters were assigned to three phenotypic compartments by manual curation: a fibroblast continuum pooling core COL1A1-positive fibroblasts together with HS-activated myofibroblasts (to capture the full disease-state continuum in downstream pseudobulk differential expression); a pericyte and smooth muscle compartment defined by ACTA2, TAGLN, MYL9, and RGS5; and a vascular and lymphatic endothelial compartment defined by PECAM1, VWF, PLVAP, and LYVE1. A single cluster exhibiting high KRT14 expression, indicative of epithelial-stromal heterotypic doublets, was excluded. A final demographic power audit enumerated per-patient cell counts against the same 10-cells-per-patient and 3-valid-replicates-per-condition power gate applied elsewhere in the pipeline. The resulting purified matrix formed the substrate for all single-cell fibroblast analyses in
Figure 6 through 8.
4.8. Fibroblast differential expression and subtype-resolved module analysis
Pseudobulk differential expression was performed on the purified integrated atlas described in
Section 2.7. Cells were stratified into three phenotypic compartments (fibroblast continuum, pericyte and smooth muscle, and vascular and lymphatic endothelial). Within each compartment, cells were grouped by patient identifier, and raw integer counts were summed across cells to produce one pseudobulk replicate per patient. A minimum-cells threshold of 10 cells per patient was imposed for a patient to contribute a valid replicate. Genes with a cumulative count sum of zero across all retained replicates were excluded. PyDESeq2 fitted a negative binomial generalized linear model to the retained matrix with clinical condition as the sole design factor and Cook's distance outlier refitting enabled. A single pairwise contrast was extracted per compartment (hidradenitis suppurativa versus healthy). Raw p-values were adjusted for multiple testing using the Benjamini-Hochberg false discovery rate procedure. Genome-wide differential expression results were written to disk per compartment and form the statistical substrate for
Figure 6.
Three fibroblast-subtype-specific gene modules were then assembled to interrogate the internal heterogeneity of the fibroblast continuum, drawing on the subtype framework established by van Straalen and colleagues (2024). A CXCL13-positive immunofibroblast module comprising CXCL13, ASPN, and MMP13 was taken directly from the immunofibroblast top-marker panel. A Hippo pathway target module comprising CTGF, CYR61, and COL8A1 was taken directly from the direct YAP/TAZ-TEAD transcriptional targets panel. A SFRP4-positive myofibroblast module comprising SFRP4, COL1A1, COL1A2, COL3A1, and ACTA2 was assembled to capture SFRP4-positive myofibroblast functional identity. A fourth, pain-associated module was constructed in a data-driven manner from the results of the fibroblast compartment differential expression: all genes with an adjusted p-value below 0.05 and a positive log2 fold change that also belonged to the neuro-immune signaling or lipid mediator pillars of the two-tier ontology were included. Because the pain module is derived from the same differential expression statistics that the fibroblast compartment analyses compare against, subtype-to-pain correlations used symmetrically overlap-excluded versions of both modules: for each subtype, any gene shared between that subtype's module and the pain module was removed from both sides of the pairwise correlation. The full pain module (without overlap removal) was retained separately for disease-state tests and for visualization.
Module scoring was performed on the fibroblast continuum only. Raw integer counts were normalized to 10,000 counts per cell and log1p-transformed. Per-cell module scores were then computed with Scanpy's score_genes function using its default parameters (25 expression bins, 50 control genes sampled per bin). Single-cell TRPA1 expression was extracted directly from the log1p-normalized matrix and stored as a per-cell covariate. Three continuous cell-level variables (the CXCL13-positive immunofibroblast score, the full pain module score, and TRPA1 expression) were min-max scaled into the unit interval, and two composite co-activation metrics were computed as the element-wise product of the scaled variables: a general co-activation index (CXCL13-positive score full pain score) and a TRPA1 co-activation index (CXCL13-positive score TRPA1 expression).
A patient-level statistical battery was then executed to quantify the disease-state and subtype-resolved patterns. First, single-cell scores were aggregated to patient-level means to correct for pseudoreplication, and Pearson and Spearman correlations between each overlap-excluded subtype module and the pain module were computed across all patients and within the HS subset alone. A sensitivity analysis repeated these correlations excluding patients contributing fewer than 15 fibroblasts. Second, patient-level module scores for each of the three subtype modules were compared between HS and healthy donors using two-sided Mann-Whitney U tests, with rank-biserial correlation reported as the effect size. Third, cell-level enrichment of TRPA1-expressing fibroblasts in HS versus healthy cohorts was tested by a two-sided Fisher's exact test. Fourth, to test whether TRPA1-expressing cells preferentially occupied the CXCL13-positive immunofibroblast niche, the enrichment of TRPA1-positive cells in the top quartile of the CXCL13-positive immunofibroblast score distribution was evaluated by a one-sided Fisher's exact test. Fifth, per-patient TRPA1-positive cell penetrance was compared between HS and healthy donors via Mann-Whitney U testing.
For targeted visualizations in
Figure 6, the fibroblast compartment differential expression results were ranked by the absolute value of the log2 fold change among genes passing an adjusted p-value threshold of 0.05, and the top 44 ranked genes were retained. Pseudobulk counts for these genes were aggregated per patient, normalized to one million counts per cell (CPM) with log1p transformation, and exported for plotting. In a parallel visualization workflow, the full 134-gene curated panel was overlaid on the genome-wide fibroblast, pericyte and smooth muscle, and endothelial volcano plots, identifying significantly regulated targets defined by an adjusted p-value below 0.05 and an absolute log2 fold change greater than 1.
4.9. Pathway Enrichment, Druggable Proteome Intersection, and Precision Pharmacology
To map the biological pathways dysregulated in HS fibroblasts and translate them into actionable therapeutic targets, the fibroblast compartment differential expression results were submitted to a multiple-step translational analysis.
Pathway enrichment was performed on significantly upregulated genes in HS fibroblasts, defined as those with a Benjamini-Hochberg adjusted p-value below 0.05 and a log2 fold change above 0.5. The resulting gene list was submitted to the Enrichr web service via its REST API (Xie et al. 2021; Kuleshov et al. 2016; Chen et al. 2013) and queried against two annotation databases: GO Biological Process 2023 and KEGG 2021 Human. Enriched terms with a Benjamini-Hochberg adjusted p-value below 0.1, as returned by the Enrichr service, were retained. For
Figure 7a and
Figure 7b, the top fifteen GO Biological Process terms and the top fifteen KEGG terms were selected by ascending adjusted p-value. For
Figure 7c and
Figure 7d, the genes overlapping with the IL-17 signaling pathway KEGG term were extracted from the Enrichr output and matched against the fibroblast PyDESeq2 results by uppercase gene symbol to anchor each pathway gene with its log2 fold change, base mean, and Benjamini-Hochberg adjusted p-value, sorted in descending order of log2 fold change.
The full fibroblast PyDESeq2 result matrix was then intersected with two target lists from the Human Protein Atlas (Wishart et al. 2006; Uhlén et al. 2015): the complete FDA-druggable proteome and its G-protein-coupled receptor (GPCR) subset. Gene symbols in both matrices were harmonized to uppercase form prior to intersection to prevent case-sensitive join failures. The intersected datasets formed the substrate for
Figure 7e (all FDA-druggable targets) and
Figure 7f (GPCR targets).
Precision pharmacology analysis was then executed on the intersected FDA-druggable and GPCR target sets. Targets passing a Benjamini-Hochberg adjusted p-value below 0.05 and an absolute log2 fold change above 0.5 were retained from both datasets and pooled into a single target pool (GPCR targets retained first, with any remaining non-GPCR FDA targets added next, deduplicated on gene symbol).
The target pool was then intersected with the Drug-Gene Interaction Database (Freshour et al. 2021). Two safety-oriented filters were applied to the DGIdb interaction table before merging: interactions annotated as antineoplastic (the anti_neoplastic flag set to True) were removed, and drugs whose names contained 'CHEMBL' (an identifier for pre-clinical compounds without assigned proprietary names) were excluded. The filtered DGIdb table was inner-joined against the target pool on gene symbol, and any interaction lacking a DGIdb interaction confidence score was dropped.
To rank the candidate therapeutics, a composite edge precision score was computed for each retained drug-target interaction. This score integrates the magnitude of the disease-state expression shift, its statistical significance, and the curated confidence of the pharmacological interaction:
The resulting edges were further filtered against a curated promiscuous compound exclusion list of small molecules and ions known to produce nuisance hits in drug-gene interaction databases: resveratrol, curcumin, quercetin, genistein, rutin, epigallocatechin gallate, zinc, copper, calcium, magnesium, and ascorbic acid. The cleaned edge set was used to compute drug-level summary scores by summing the edge precision scores across all target interactions for each drug, with FDA approval status attached from the DGIdb approved flag.
A pipeline attrition funnel was computed to document candidate drop-off across successive stages, reporting the unique drug count at each step: the total drug count in the raw DGIdb interaction table; the count remaining after the antineoplastic and CHEMBL safety filter; the count matching a differentially expressed HS fibroblast target after the pre-specified compound exclusion; the count retaining at least one DGIdb-scored interaction; and finally the count restricted to FDA-approved drugs.
The ranked candidate drugs were then stratified into three therapeutic categories for
Figure 8. Monoclonal antibody therapeutics (
Figure 8c) were identified by the International Nonproprietary Name suffix. Edges passing this filter and an adjusted p-value significance threshold below 0.05 on the underlying fibroblast differential expression were ranked by their edge precision score, and the top twelve unique drugs were retained. Steroid and hormone receptor modulators (
Figure 8d) were identified as FDA-approved drugs targeting any of NR3C1 (glucocorticoid receptor), NR3C2 (mineralocorticoid receptor), or AR (androgen receptor). Edges passing all three criteria (FDA approval, one of the three receptor targets, and an adjusted p-value below 0.05) were ranked by edge precision score, with the top four drugs per receptor target retained.
Lipid pathway enzymatic inhibitors (
Figure 8e) were identified for a pre-specified set of lipid mediator enzymes: SPHK1 (sphingosine kinase 1), ALOX5AP (5-lipoxygenase activating protein), and PTGES (prostaglandin E synthase). Because pharmacological inhibitors for these specific targets are predominantly investigational, this panel required a separate lookup against the raw DGIdb interaction table. By applying only the antineoplastic safety filter and bypassing the strict FDA approval requirements of the main edge vault, we were able to successfully retrieve these experimental compounds. For each enzyme, interactions annotated as an inhibitor, antagonist, blocker, or suppressor were prioritized. If no such annotations were present, the search defaulted to all available interactions. The surviving interactions were ranked first by their DGIdb interaction score and then by FDA approval status, retaining the top three unique drugs per enzyme.