Identifies phenotype-associated cell subpopulations in single-cell data using regularized regression on matched bulk expression profiles.
Usage
DoScissor(
path2load_scissor_cache = NULL,
path2save_scissor_inputs = "Scissor_inputs.RData",
matched_bulk,
sc_data,
phenotype,
label_type = "scissor",
alpha = c(0.05,NULL),
cutoff = 0.2,
scissor_family = c("gaussian", "binomial", "cox"),
reliability_test = FALSE,
reliability_test.n = 10,
reliability_test.nfold = 10,
cell_evaluation = FALSE,
cell_evaluation.benchmark_data = "path_to_file.RData",
cell_evaluation.FDR = 0.05,
cell_evaluation.bootstrap_n = 100,
verbose = TRUE,
...
)Arguments
- path2load_scissor_cache
Path to precomputed Scissor inputs (RData file). If provided, skips recomputation (default: NULL).
- path2save_scissor_inputs
Path to save intermediate files (default: "Scissor_inputs.RData").
- matched_bulk
Normalized bulk expression matrix (features × samples). Column names must match
phenotypeidentifiers.- sc_data
Seurat object containing single-cell RNA-seq data.
- phenotype
Clinical outcome data. Can be: - Vector: named with sample IDs - Data frame: with row names matching bulk columns
- label_type
Character specifying phenotype label type (e.g., "SBS1", "time"), stored in
scRNA_data@misc- alpha
Parameter used to balance the effect of the l1 norm and the network-based penalties. It can be a number or a searching vector. If alpha = NULL, a default searching vector is used. The range of alpha is between 0 and 1. A larger alpha lays more emphasis on the l1 norm.
- cutoff
(default: 0.2). When
alpha=NULL, the cutoff is used to determine the optimal alpha. Higher values increase specificity.- scissor_family
Model family for outcome type: - "gaussian": Continuous outcomes - "binomial": Binary outcomes (default) - "cox": Survival outcomes
- reliability_test
Logical to perform stability assessment when
scissor_alphais specified as a value between 0 and 1.(default: TRUE).- reliability_test.n
Number of CV folds for reliability test (default: 10).
- reliability_test.nfold
Cross-validation folds for reliability test (default: 10).
- cell_evaluation
Logical to perform cell evaluation (default: FALSE).
- cell_evaluation.benchmark_data
Path to benchmark data (RData file).
- cell_evaluation.FDR
FDR threshold for cell evaluation (default: 0.05).
- cell_evaluation.bootstrap_n
Number of bootstrap iterations for cell evaluation (default: 100).
- verbose
Logical to print progress messages (default: TRUE).
- ...
Additional arguments passed to
Scissor.v5.optimized.
Value
A list containing:
- scRNA_data
A Seurat object with screened cells containing metadata:
- scissor
"Positive"/"Negative"/"Neutral" classification
- label_type
Outcome label used
- scissor_result
Raw Scissor results
- reliability_result
If reliability_test=TRUE, contains:
- statistic
A value between 0 and 1
- p
p-value of the test statistic
- AUC_test_real
10 values of AUC for real data
- AUC_test_back
A list of AUC for background data
- cell_evaluation
If cell_evaluation=TRUE, contains:
- evaluation_res
A data.frame with some supporting information for each Scissor selected cell
LICENSE
Licensed under the GNU General Public License version 3 (GPL-3.0). A copy of the license is available at https://www.gnu.org/licenses/gpl-3.0.en.html.
References
Sun D, Guan X, Moran AE, Wu LY, Qian DZ, Schedin P, et al. Identifying phenotype-associated subpopulations by integrating bulk and single-cell sequencing data. Nat Biotechnol. 2022 Apr;40(4):527–38.
See also
Other screen_method:
DoDEGAS(),
DoscAB(),
DoscPAS(),
DoscPP()
Other scissor:
Scissor.v5.optimized()