Integrate layers using one or multiple integration method(s)
Source:R/do_integrate.R
DoIntegrate.Rd
Integrate layers of a Seurat object using one or more integration methods.
Available integration methods are listed at the bottom of this page.
DoIntegrate()
works best with SeuratIntegrate's methods.
Usage
DoIntegrate(
object,
...,
use.hvg = TRUE,
use.future = TRUE,
future.globals.size = getOption("future.globals.maxSize")
)
Arguments
- object
A Seurat object
- ...
one or more integration method call(s) to correct batch effects with. Must be of the form
package::MethodIntegration()
. It is recommended to use::
because it is safer in case of namespace collision or if the package is not attached nor loaded. Don't forget the parentheses.- use.hvg
whether to use highly variable genes.
FALSE
causes all the features present in the assay to be used.- use.future
whether to use future to run integrations in a background session. Useful when python-based algorithms are invoked.
- future.globals.size
maximum allowed size (in bytes) of global variables to export. By default, uses the value of the option "future.globals.maxSize". If it is
NULL
, thrice the size of the Seurat object is used. Inoperative whenuse.future = FALSE
Details
Each call to an integration method require parentheses. Parameter
values specific to each method can be enclosed between these brackets,
although the defaults arguments should be good enough for most cases. Note
that for each integration method, the argument values specified in
its call supersede DoIntegrate
's internal computations. For instance,
DoIntegrate(seu,
SeuratIntegrate::CombatIntegration(features = Features(seu)),
Seurat::CCAIntegration(),
use.hvg = TRUE)
forces ComBat but not CCA to use all features instead of the variable ones.
Note
The desired value of parameters use.hvg
, use.future
and
future.globals.size
can be different for each method called. Hence,
they accept vectors with more than one element. They must be in the same
order as the integration method calls.
This unconventional way of calling methods presents a few advantages:
With a single call to DoIntegrate
, you can perform multiple
integrations at once, while preserving the flexibility of an individual
method call by fine-tuning integration-specific parameters.