| Integration_SCP | R Documentation | 
Integrate single-cell RNA-seq data using various integration methods.
Integration_SCP(
  srtMerge = NULL,
  batch,
  append = TRUE,
  srtList = NULL,
  assay = NULL,
  integration_method = "Uncorrected",
  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,
  seed = 11,
  ...
)
| srtMerge | A merged Seurat object that includes the batch information. | 
| batch | A character string specifying the batch variable name. | 
| append | Logical, if TRUE, the integrated data will be appended to the original Seurat object (srtMerge). | 
| srtList | A list of Seurat objects to be checked and preprocessed. | 
| assay | The name of the assay to be used for downstream analysis. | 
| integration_method | A character string specifying the integration method to use.
Supported methods are:  | 
| do_normalization | A logical value indicating whether data normalization should be performed. | 
| normalization_method | The normalization method to be used. Possible values are "LogNormalize", "SCT", and "TFIDF". Default is "LogNormalize". | 
| do_HVF_finding | A logical value indicating whether highly variable feature (HVF) finding should be performed. Default is TRUE. | 
| HVF_source | The source of highly variable features. Possible values are "global" and "separate". Default is "separate". | 
| HVF_method | The method for selecting highly variable features. Default is "vst". | 
| nHVF | The number of highly variable features to select. Default is 2000. | 
| 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. The default value is 1. | 
| HVF | A vector of highly variable features. Default is NULL. | 
| do_scaling | A logical value indicating whether to perform scaling. If TRUE, the function will force to scale the data using the ScaleData function. | 
| vars_to_regress | A vector of variable names to include as additional regression variables. Default is NULL. | 
| regression_model | The regression model to use for scaling. Options are "linear", "poisson", or "negativebinomial" (default is "linear"). | 
| scale_within_batch | Whether to scale data within each batch. Only valid when the  | 
| linear_reduction | The linear dimensionality reduction method to use. Options are "pca", "svd", "ica", "nmf", "mds", or "glmpca" (default is "pca"). | 
| linear_reduction_dims | The number of dimensions to keep after linear dimensionality reduction (default is 50). | 
| linear_reduction_dims_use | The dimensions to use for downstream analysis. If NULL, all dimensions will be used. | 
| linear_reduction_params | A list of parameters to pass to the linear dimensionality reduction method. | 
| force_linear_reduction | A logical value indicating whether to force linear dimensionality reduction even if the specified reduction is already present in the Seurat object. | 
| nonlinear_reduction | The nonlinear dimensionality reduction method to use. Options are "umap","umap-naive", "tsne", "dm", "phate", "pacmap", "trimap", "largevis", or "fr" (default is "umap"). | 
| nonlinear_reduction_dims | The number of dimensions to keep after nonlinear dimensionality reduction. If a vector is provided, different numbers of dimensions can be specified for each method (default is c(2, 3)). | 
| nonlinear_reduction_params | A list of parameters to pass to the nonlinear dimensionality reduction method. | 
| force_nonlinear_reduction | A logical value indicating whether to force nonlinear dimensionality reduction even if the specified reduction is already present in the Seurat object. | 
| neighbor_metric | The distance metric to use for finding neighbors. Options are "euclidean", "cosine", "manhattan", or "hamming" (default is "euclidean"). | 
| neighbor_k | The number of nearest neighbors to use for finding neighbors (default is 20). | 
| cluster_algorithm | The clustering algorithm to use. Options are "louvain", "slm", or "leiden" (default is "louvain"). | 
| cluster_resolution | The resolution parameter to use for clustering. Larger values result in fewer clusters (default is 0.6). | 
| seed | An integer specifying the random seed for reproducibility. Default is 11. | 
| ... | Additional arguments to be passed to the integration method function. | 
A Seurat object.
Seurat_integrate scVI_integrate MNN_integrate fastMNN_integrate Harmony_integrate Scanorama_integrate BBKNN_integrate CSS_integrate LIGER_integrate Conos_integrate ComBat_integrate Standard_SCP
data("panc8_sub")
panc8_sub <- Integration_SCP(
  srtMerge = panc8_sub, batch = "tech",
  integration_method = "Uncorrected"
)
CellDimPlot(panc8_sub, group.by = c("tech", "celltype"))
panc8_sub <- Integration_SCP(
  srtMerge = panc8_sub, batch = "tech",
  integration_method = "Uncorrected",
  HVF_min_intersection = 5
)
CellDimPlot(panc8_sub, group.by = c("tech", "celltype"))
panc8_sub <- Integration_SCP(
  srtMerge = panc8_sub, batch = "tech",
  integration_method = "Uncorrected",
  HVF_min_intersection = 5, scale_within_batch = TRUE
)
CellDimPlot(panc8_sub, group.by = c("tech", "celltype"))
panc8_sub <- Integration_SCP(
  srtMerge = panc8_sub, batch = "tech",
  integration_method = "Seurat"
)
CellDimPlot(panc8_sub, group.by = c("tech", "celltype"))
panc8_sub <- Integration_SCP(
  srtMerge = panc8_sub, batch = "tech",
  integration_method = "Seurat",
  FindIntegrationAnchors_params = list(reduction = "rpca")
)
CellDimPlot(panc8_sub, group.by = c("tech", "celltype"))
## Not run: 
integration_methods <- c(
  "Uncorrected", "Seurat", "scVI", "MNN", "fastMNN", "Harmony",
  "Scanorama", "BBKNN", "CSS", "LIGER", "Conos", "ComBat"
)
for (method in integration_methods) {
  panc8_sub <- Integration_SCP(
    srtMerge = panc8_sub, batch = "tech",
    integration_method = method,
    linear_reduction_dims_use = 1:50,
    nonlinear_reduction = "umap"
  )
  print(CellDimPlot(panc8_sub,
    group.by = c("tech", "celltype"),
    reduction = paste0(method, "UMAP2D"),
    xlab = "", ylab = "", title = method,
    legend.position = "none", theme_use = "theme_blank"
  ))
}
nonlinear_reductions <- c("umap", "tsne", "dm", "phate", "pacmap", "trimap", "largevis", "fr")
panc8_sub <- Integration_SCP(
  srtMerge = panc8_sub, batch = "tech",
  integration_method = "Seurat",
  linear_reduction_dims_use = 1:50,
  nonlinear_reduction = nonlinear_reductions
)
for (nr in nonlinear_reductions) {
  print(CellDimPlot(panc8_sub,
    group.by = c("tech", "celltype"),
    reduction = paste0("Seurat", nr, "2D"),
    xlab = "", ylab = "", title = nr,
    legend.position = "none", theme_use = "theme_blank"
  ))
}
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.