# scanpy.pp.combat¶

scanpy.pp.combat(adata, key='batch', covariates=None, inplace=True)

ComBat function for batch effect correction [Johnson07] [Leek12] [Pedersen12].

Corrects for batch effects by fitting linear models, gains statistical power via an EB framework where information is borrowed across genes. This uses the implementation combat.py [Pedersen12].

Parameters
adata : AnnDataAnnData

Annotated data matrix

key : strstr (default: 'batch')

Key to a categorical annotation from obs that will be used for batch effect removal.

covariates : Collection[str], None (default: None)

Additional covariates besides the batch variable such as adjustment variables or biological condition. This parameter refers to the design matrix X in Equation 2.1 in [Johnson07] and to the mod argument in the original combat function in the sva R package. Note that not including covariates may introduce bias or lead to the removal of biological signal in unbalanced designs.

inplace : boolbool (default: True)

Whether to replace adata.X or to return the corrected data

Return type

AnnData, ndarray, NoneUnion[AnnData, ndarray, None]

Returns

Depending on the value of inplace, either returns the corrected matrix or or modifies adata.X.