Skip to content
Huwenbo Shi edited this page Jun 11, 2026 · 3 revisions

Overview of scEPS

The scEPS software package implements the following functionalities:

  1. Estimate scEPS statistics at each individual cell neighborhood
  2. Cluster cell neighborhoods into approximately independent blocks
  3. Aggregate scEPS statistics for groups of cell neighborhoods
  4. Calculate the correlation between scEPS statistics and gene expression

We provided detaile documentations for each of these functionalities on the relevant wiki page (see right hand side). Below we provide a general overview of a scEPS workflow.

Typical scEPS workflow

Step 0a. Obtain gene-level MAGMA association statistics, using misc/run_magma.sh

Step 0b. Preprocess single-cell RNA-seq data, using misc/preprocess_scdata.py

Step 1. Estimate scEPS $d$, $\omega^2_{gwas}$, $\omega^2_{ctrl}$, $\omega^2_{rest}$, and $\omega^2_{overall}$ statistics for each individual cell neighborhood, using sceps.py

Step 2. Cluster cell neighborhoods into approximately independent blocks for statistical block bootstrap, using sceps_cluster_neighborhood.py

Step 3. Aggregate scEPS statistics at individual cell neighborhoods into cell types, using sceps_aggregate.py

Step 4. (optional) Calculate the correlation between scEPS statistics and gene expression, using sceps_corr.py

Recommended directory structure

We recommend using the following directory structure for a typical scEPS analysis.

    DISEASE/
    ├── step_0a/
    │   ├── out/
    │   └── run_magma.sh
    ├── step_0b/
    │   ├── out/
    │   └── run_preprocess.sh
    ├── step1/
    │   ├── out/
    │   └── run_step1.sh
    ├── step2/
    │   ├── out/
    │   └── run_step2.sh
    ├── step3/
    │   ├── out/
    │   └── step3.sh
    ├─── step4/
    │   ├── step4_out/
    │   └── run_step4.sh

If the user chooses to perform separate scEPS analysis for each cell type in the single cell data during step 1, the user may organize the analysis as follows:

    DISEASE/
    ├── step_0a/
    │   ├── out/
    │   └── run_magma.sh
    ├── step_0b/
    │   ├── out/
    │   └── run_preprocess.sh
    ├── step1/
    │   ├── out_celltype1/
    │   ├── out_celltype2/
    │   ├── out_celltype3/
    │   ├── run_step1_celltype1.sh
    │   ├── run_step1_celltype2.sh
    │   └── run_step1_celltype3.sh
    ├── step2/
    │   ├── out/
    │   └── run_step2.sh
    ├── step3/
    │   ├── out/
    │   └── step3.sh
    ├─── step4/
    │   ├── step4_out/
    │   └── run_step4.sh