Classify single cells into drug-sensitive, drug-resistant, or other subpopulations based on pharmacogenomics profiles from the GDSC2 database.
Usage
scPharmIdentify(
object,
type,
cancer,
drug = NULL,
nmcs = 50,
nfeatures = 200,
cores = 1,
features = NULL,
slot = "data",
layer = NULL,
assay = "RNA",
threshold.s = -1.751302,
threshold.r = 1.518551,
tumor.cells = NULL,
normal.cells = NULL,
bulkdata = NULL,
gdscdata = NULL
)Arguments
- object
A Seurat object containing single-cell RNA-seq data.
- type
Data source type. Either
"tissue"for tumor tissue samples or"cellline"for cell line samples. When"tissue", the function identifies tumor vs adjacent normal cells using CNV analysis.- cancer
TCGA cancer type(s). A character string or vector specifying cancer type(s) (e.g.,
"BRCA",c("LUAD", "LUSC")). Use"pan"for pan-cancer analysis.- drug
Drug name to analyze. If
NULL(default), all drugs from GDSC2 project will be analyzed.- nmcs
Number of MCA components to compute. Default: 50.
- nfeatures
Number of genes for cell identity signature. Default: 200.
- cores
Number of CPU cores for parallel processing. Default: 1.
- features
Character vector of gene names to use. If
NULL, all features are used.- slot
Slot name for Seurat V4 data access. Default:
"data".- layer
Layer name for Seurat V5 data access. If
NULL, usesslotvalue.- assay
Assay to use. Default:
"RNA".- threshold.s
Threshold for labeling sensitive cells. Cells with NES below this value are classified as sensitive. Default: -1.751302.
- threshold.r
Threshold for labeling resistant cells. Cells with NES above this value are classified as resistant. Default: 1.518551.
- tumor.cells
Character vector of known tumor cell barcodes. If provided when
type="tissue", CNV-based detection is skipped.- normal.cells
Character vector of known normal cell barcodes. Used as reference for CNV analysis when provided.
- bulkdata
Bulk RNA-seq data for cell lines. If
NULL, uses built-inscPharm::bulkdata.- gdscdata
GDSC pharmacogenomics data. If
NULL, uses built-inscPharm::gdscdata.
Value
A Seurat object with pharmacological annotations added to metadata:
- cell.label
Cell type: "tumor" or "adjacent"
- scPharm_label_DRUGID_DRUGNAME
Drug response: "sensitive", "resistant", or "other"
- scPharm_nes_DRUGID_DRUGNAME
Normalized enrichment score for the drug
Details
The function performs the following steps:
For tissue samples: identifies tumor cells via CNV analysis (or uses provided annotations)
Computes Multiple Correspondence Analysis (MCA) for dimensionality reduction
Generates cell identity gene signatures
Correlates gene expression with drug response (AUC) across cell lines
Performs GSEA to score each cell's drug response profile
Classifies cells based on NES thresholds
References
Tian P, Zheng J, et al. scPharm: identifying pharmacological subpopulations of single cells for precision medicine in cancers. 2023.
Examples
if (FALSE) { # \dontrun{
# Basic usage
result <- scPharmIdentify(seurat_obj, type = "tissue", cancer = "LUAD")
# With known tumor cells
result <- scPharmIdentify(seurat_obj, type = "tissue", cancer = "LUAD",
tumor.cells = tumor_barcodes)
# Specific drug analysis
result <- scPharmIdentify(seurat_obj, type = "cellline", cancer = "BRCA",
drug = "Erlotinib")
} # }