This function performs scPP screening on single-cell data using matched bulk data and phenotype information. It supports binary, continuous, and survival phenotype types.
Arguments
- matched_bulk
Bulk expression data (genes × samples) where: - Column names must match
phenotyperow names- sc_data
Seurat object containing preprocessed single-cell data: - Normalized counts in
RNAassay- phenotype
Data frame or tibble or named vector with: - Rownames matching
matched_bulkcolumns - 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
A numeric value indicating the quantile cutoff for cell classification. This parameter can also be a numeric vector, in which case an optimal threshold will be selected based on the AUC and enrichment score.(default: 0.2)
- verbose
Logical indicating whether to print progress messages. Default:
TRUE.- ...
For future update.
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:
- scPP_AUCup
AUC for positive
- scPP_AUCdown
AUC for negative
Algorithm Steps
Data Validation: Checks sample alignment between bulk and phenotype data
Marker Selection: Identifies phenotype-associated genes from bulk data
Single-cell Screening: Projects bulk markers onto single-cell data
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:
DoDEGAS(),
DoScissor(),
DoscAB(),
DoscPAS()
Other scPP:
Check0VarRows(),
ScPP.optimized()
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"
)
} # }