
Integrate layers using one or multiple integration method(s)
Source:R/do_integrate.R
      DoIntegrate.RdIntegrate 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. - FALSEcauses 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 when- use.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.