diff --git a/pytometry/plotting/_histogram.py b/pytometry/plotting/_histogram.py index 700eccc..08ba643 100644 --- a/pytometry/plotting/_histogram.py +++ b/pytometry/plotting/_histogram.py @@ -1,3 +1,5 @@ +from typing import Tuple + import numpy as np import seaborn as sns from anndata import AnnData @@ -11,12 +13,12 @@ # Plot data. Choose between Area, Height both(default) def plotdata( adata: AnnData, - key="signal_type", + key: str = "signal_type", normalize: str = None, - cofactor=10, - figsize=(15, 6), - option="area", - save="", + cofactor: float = 10, + figsize: Tuple[float, float] = (15, 6), + option: str = "area", + save: str = "", **kwargs, ): """Creating histogram plot from Anndata object. diff --git a/pytometry/plotting/_scatter_density.py b/pytometry/plotting/_scatter_density.py index 2214109..299959b 100644 --- a/pytometry/plotting/_scatter_density.py +++ b/pytometry/plotting/_scatter_density.py @@ -1,3 +1,5 @@ +from typing import List, Optional, Union + import datashader as ds import matplotlib.pyplot as plt import numpy as np @@ -5,22 +7,24 @@ import scanpy as sc from anndata import AnnData from datashader.mpl_ext import dsshow +from matplotlib.axes import Axes +from matplotlib.colors import Colormap def scatter_density( adata: AnnData, - x="FSC-A", - y="SSC-A", - x_label="FSC-A", - y_label="SSC-A", - x_scale="linear", - y_scale="linear", - x_lim=[-2 * 1e4, 3 * 1e5], - y_lim=[-2 * 1e4, 3 * 1e5], - ax=None, - cmap="jet", - vmin=None, - vmax=None, + x: str = "FSC-A", + y: str = "SSC-A", + x_label: str = "FSC-A", + y_label: str = "SSC-A", + x_scale: str = "linear", + y_scale: str = "linear", + x_lim: List[float] = [-2 * 1e4, 3 * 1e5], + y_lim: List[float] = [-2 * 1e4, 3 * 1e5], + ax: Optional[Axes] = None, + cmap: Union[str, List, Colormap] = "jet", + vmin: Optional[float] = None, + vmax: Optional[float] = None, ): """Plots the cell density across two adata.obs. diff --git a/pytometry/preprocessing/_process_data.py b/pytometry/preprocessing/_process_data.py index 0ffce56..7db590c 100644 --- a/pytometry/preprocessing/_process_data.py +++ b/pytometry/preprocessing/_process_data.py @@ -33,8 +33,8 @@ def create_comp_mat(spillmat: pd.DataFrame, relevant_data: str = "") -> pd.DataF def find_indexes( adata: AnnData, var_key: str = None, - key_added="signal_type", - data_type="facs", + key_added: str = "signal_type", + data_type: str = "facs", inplace: bool = True, ) -> Optional[AnnData]: """Find channels of interest for computing compensation. @@ -186,10 +186,10 @@ def compensate( def split_signal( adata: AnnData, - var_key=None, - key="signal_type", - option="area", - data_type="facs", + var_key: Optional[str] = None, + key: str = "signal_type", + option: str = "area", + data_type: str = "facs", inplace: bool = True, ) -> Optional[AnnData]: """Method to filter out height or area data. diff --git a/pytometry/tools/_normalization.py b/pytometry/tools/_normalization.py index 799fd4c..77a005e 100644 --- a/pytometry/tools/_normalization.py +++ b/pytometry/tools/_normalization.py @@ -1,5 +1,3 @@ -# from typing import Optional - import numpy as np from anndata import AnnData from scipy import interpolate @@ -26,14 +24,7 @@ def normalize_arcsinh(adata: AnnData, cofactor: float, inplace: bool = True): return None if inplace else adata -def normalize_logicle( - adata, - t=262144, - m=4.5, - w=0.5, - a=0, - inplace: bool = True, -): +def normalize_logicle(adata, t=262144, m=4.5, w=0.5, a=0, inplace=True): """Logicle transformation. Args: @@ -126,7 +117,7 @@ def normalize_logicle( return None if inplace else adata -def _scale(value, p) -> float: +def _scale(value: float, p: dict) -> float: """Scale helper function. Args: @@ -194,7 +185,7 @@ def _scale(value, p) -> float: return -1 -def _solve(b, w) -> float: +def _solve(b: float, w: float) -> float: """Helper function for biexponential transformation. Args: @@ -214,7 +205,7 @@ def _solve(b, w) -> float: # based on RTSAFE from Numerical Recipes 1st Edition # bracket the root - d_lo = 0 + d_lo = 0.0 d_hi = b # bisection first step @@ -269,7 +260,7 @@ def _solve(b, w) -> float: return -1 -def _seriesBiexponential(p, value) -> float: +def _seriesBiexponential(p: dict, value: float) -> float: """Helper function to compute biex trafo. Args: @@ -295,7 +286,7 @@ def normalize_biExp( width=-10.0, positive=4.418540, max_value=262144.000029, - inplace: bool = True, + inplace=True, ): """Biexponential transformation. @@ -491,7 +482,7 @@ def _generate_biex_lut( return positive, values -def _log_root(b, w) -> float: +def _log_root(b: float, w: float) -> float: """Helper function. Args: @@ -502,10 +493,10 @@ def _log_root(b, w) -> float: float: Solution to interpolation """ # Code adopted from FlowKit Python package - x_lo = 0 + x_lo = 0.0 x_hi = b d = (x_lo + x_hi) / 2 - dx = abs(int(x_lo - x_hi)) + dx = abs(int(x_lo - x_hi)) # type: float dx_last = dx fb = -2 * np.log(b) + w * b f = 2.0 * np.log(d) + w * b + fb