opendvp.pp.scimap_rescale#
- scimap_rescale(adata, gate=None, log=True, imageid='imageid', failed_markers=None, method='all', verbose=True, random_state=0, gmm_components=3)#
- Parameters:
- adata (AnnData Object, required):
An annotated data object that contains single-cell expression data.
- gate (DataFrame, optional):
A pandas DataFrame where the first column lists markers, and subsequent columns contain gate values for each image in the dataset. Column names must correspond to unique
imageididentifiers, and the marker column must be named “markers”. If a single column of gate values is provided for a dataset with multiple images, the same gate will be uniformly applied to all images. In this case, ensure that the columns are named exactly “markers” and “gates”. If no gates are provided for specific markers, the function attempts to automatically determine gates using a Gaussian Mixture Model (GMM).Note: If you have used
napariGater(), the gates are stored withinadata.uns['gates']. You can directly passadata.uns['gates']to use these pre-defined gates.- log (bool, optional):
If
True, the data inadata.raw.Xwill be log-transformed (using log1p) before gate application. This transformation is recommended when automatic gate identification through GMM is performed, as it helps in normalizing data distributions.- imageid (str, optional):
The name of the column in
adatathat contains Image IDs. This is necessary for matching manual gates specified in thegateDataFrame to their respective images.- failed_markers (dict, optional):
A dictionary mapping
imageidto markers that failed quality control. This allows for the exclusion of specific markers from the analysis based on prior visual inspection or other criteria. The dictionary can useallas a key to specify markers that failed across all images.- method (str, optional):
Specifies the gating strategy:
allto pool data from all images for GMM application, orby_imageto apply GMM separately for each image.allmay introduce batch effects, whileby_imagerequires sufficient variation within each image to distinguish negative from positive populations effectively.- random_state (int, optional):
The seed used by the random number generator for GMM. Ensures reproducibility of results.
- verbose (bool, optional):
If
True, detailed progress updates and diagnostic messages will be printed during the function’s execution.- gmm_components (int, optional):
Number of components to use in the Gaussian Mixture Model for automatic gating. Must be at least 2. Gate will be placed between the highest two components. Default is 3.
- Returns:
The input
adataobject with updated expression data (adata.X) after rescaling. The gates applied, either provided manually or determined automatically, are stored withinadata.uns['gates'].- Return type:
Examples
# Example with manual gates manual_gate = pd.DataFrame({"marker": ["CD3D", "KI67"], "gate": [7, 8]}) adata = dvp.pp.scimap_rescale(adata, gate=manual_gate, failed_markers={"all": ["CD20", "CD21"]}) # Importing gates from a CSV manual_gate = pd.read_csv("manual_gates.csv") adata = dvp.pp.scimap_rescale(adata, gate=manual_gate, failed_markers={"all": ["CD20", "CD21"]}) # Running without manual gates to use GMM for automatic gate determination adata = dvp.pp.scimap_rescale(adata, gate=None, failed_markers={"all": ["CD20", "CD21"]})