Integrate paired RNA and ATAC data using scglue.
The current implementation supports one Seurat object containing one RNA
assay and one ChromatinAssay, and folds the modality embeddings back to the
original cells by averaging the paired RNA/ATAC embeddings.
Usage
GLUE_integrate(
srt_merge = NULL,
batch = NULL,
append = TRUE,
srt_list = NULL,
assay = NULL,
do_normalization = NULL,
normalization_method = "LogNormalize",
do_HVF_finding = TRUE,
HVF_source = "separate",
HVF_method = "vst",
nHVF = 2000,
HVF_min_intersection = 1,
HVF = NULL,
do_scaling = TRUE,
vars_to_regress = NULL,
regression_model = "linear",
scale_within_batch = FALSE,
linear_reduction = "pca",
linear_reduction_dims = 50,
linear_reduction_dims_use = NULL,
linear_reduction_params = list(),
force_linear_reduction = FALSE,
nonlinear_reduction = "umap",
nonlinear_reduction_dims = c(2, 3),
nonlinear_reduction_params = list(),
force_nonlinear_reduction = TRUE,
neighbor_metric = "euclidean",
neighbor_k = 20L,
cluster_algorithm = "louvain",
cluster_resolution = 0.6,
gene_annotation_by = c("auto", "gene_name", "gene_id"),
GLUE_params = list(),
verbose = TRUE,
seed = 11
)Arguments
- srt_merge
A merged `Seurat` object that includes the batch information.
- batch
Batch variable name.
- append
Append integrated results to
srt_merge.- srt_list
A list of
Seuratobjects to be checked and preprocessed.- assay
Assay to use.
NULLuses the default assay.- do_normalization
Whether data normalization should be performed.
- normalization_method
The normalization method to be used. Possible values are
"LogNormalize","SCT","TFIDF", and"scran".- do_HVF_finding, HVF_method, nHVF, HVF
Highly variable features.
HVF_methodis"vst","mvp","disp", or"scran".- HVF_source
The source of highly variable features. Possible values are
"global"and"separate".- HVF_min_intersection
The feature needs to be present in batches for a minimum number of times in order to be considered as highly variable.
- do_scaling
Force scaling via ScaleData.
- vars_to_regress
A vector of variable names to include as additional regression variables.
- regression_model
"linear","poisson", or"negativebinomial".- scale_within_batch
Scale within each batch. Only used by
"Uncorrected","Seurat","MNN","Harmony","BBKNN","CSS","ComBat".- linear_reduction, linear_reduction_dims, linear_reduction_dims_use, linear_reduction_params, force_linear_reduction
Linear reduction (
"pca","svd","ica","nmf","mds","glmpca").linear_reduction_dims_use = NULLuses estimated dimensions, else the first 50.- nonlinear_reduction, nonlinear_reduction_dims, nonlinear_reduction_params, force_nonlinear_reduction
Nonlinear reduction (
"umap","umap-naive","tsne","dm","phate","pacmap","trimap","largevis","fr").- neighbor_metric, neighbor_k
Neighbor graph (
"euclidean","cosine","manhattan","hamming").- cluster_algorithm, cluster_resolution
Clustering (
"louvain","slm","leiden"). Largercluster_resolutionyields fewer clusters.- gene_annotation_by
How RNA feature names are matched to gene annotation. One of
"auto","gene_name", or"gene_id".- GLUE_params
A list of parameters passed to
scglue.models.fit_SCGLUE(). Reserved keys are"adatas"and"graph".- verbose
Whether to print the message. Default is
TRUE.- seed
Random seed.
Examples
if (FALSE) { # \dontrun{
data("pbmcmultiome_sub", package = "scop")
pbmcmultiome_sub$batch <- rep(c("batch1", "batch2"), length.out = ncol(pbmcmultiome_sub))
pbmcmultiome_sub <- GLUE_integrate(
srt_merge = pbmcmultiome_sub,
batch = "batch",
GLUE_params = list(
skip_balance = TRUE,
init_kws = list(latent_dim = 20L),
fit_kws = list(max_epochs = 10L, patience = 2L, reduce_lr_patience = 1L)
)
)
} # }