Skip to contents

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, uses slot value.

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-in scPharm::bulkdata.

gdscdata

GDSC pharmacogenomics data. If NULL, uses built-in scPharm::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:

  1. For tissue samples: identifies tumor cells via CNV analysis (or uses provided annotations)

  2. Computes Multiple Correspondence Analysis (MCA) for dimensionality reduction

  3. Generates cell identity gene signatures

  4. Correlates gene expression with drug response (AUC) across cell lines

  5. Performs GSEA to score each cell's drug response profile

  6. 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")
} # }