Skip to contents

This function performs scPP screening on single-cell data using matched bulk data and phenotype information. It supports binary, continuous, and survival phenotype types.

Usage

DoscPP(
  matched_bulk,
  sc_data,
  phenotype,
  label_type = "scPP",
  phenotype_class = c("Binary", "Continuous", "Survival"),
  ref_group = 0,
  Log2FC_cutoff = 0.585,
  estimate_cutoff = 0.2,
  probs = 0.2
)

Arguments

matched_bulk

Bulk expression data (genes × samples) where: - Column names must match phenotype row names

sc_data

Seurat object containing preprocessed single-cell data: - Normalized counts in RNA assay

phenotype

Data frame or tibble or named vector with: - Rownames matching matched_bulk columns - For survival: must contain time and status columns

label_type

Character specifying phenotype label type (e.g., "SBS1"), stored in scRNA_data@misc

phenotype_class

Analysis type (case-sensitive): - "Binary": Case-control studies (e.g., tumor/normal) - "Continuous": Quantitative traits (e.g., drug response) - "Survival": Time-to-event data (requires time/status columns)

ref_group

Reference group or baseline for binary comparisons, e.g. "Normal" for Tumor/Normal studies and 0 for 0/1 case-control studies. (default: 0)

Log2FC_cutoff

Minimum log2 fold-change for binary markers (default: 0.585)

estimate_cutoff

Effect size threshold for continuous traits (default: 0.2)

probs

Quantile cutoff for cell classification (default: 0.2)

Value

A list containing:

scRNA_data

Seurat object with added metadata:

ScPP

"Positive"/"Negative"/"Neutral" classification

gene_list

List of genes used for screening

AUC

A data.frame with area under the ROC curve:

AUCup

AUC for positive

AUCdown

AUC for negative

Algorithm Steps

  1. Data Validation: Checks sample alignment between bulk and phenotype data

  2. Marker Selection: Identifies phenotype-associated genes from bulk data

  3. Single-cell Screening: Projects bulk markers onto single-cell data

  4. Cell Classification: Categorizes cells based on phenotype association

Reference

WangX-Lab/ScPP [Internet]. [cited 2025 Aug 31]. Available from: https://github.com/WangX-Lab/ScPP

See also

Other screen_method: DoscPAS()

Examples

if (FALSE) { # \dontrun{
# Binary phenotype analysis
res <- DoscPP(
  matched_bulk = bulk_data,
  sc_data = seurat_obj,
  phenotype = ms_data,
  label_type = "SBS1",
  phenotype_class = "Binary"
)

# Survival analysis
surv_res <- DoscPP(
  sc_data = seurat_obj,
  matched_bulk = bulk_data,
  phenotype = surv_df,
  label_type = "OS_status",
  phenotype_class = "Survival"
)
} # }