Doubletdetection

Latest version: v4.2

Safety actively analyzes 693883 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 4

2.5

- Improves installation process through one `pip install` command and removes `requirements.txt`
- Adds documentation
- Uses sparse matrices for raw counts in the backend for speedups
- Uses `scanpy` for log normalization and PCA and optionally clustering
- New `use_phenograph` option to disable PhenoGraph and use Louvain as implemented in `scanpy` (much faster)
- Adds binary verbose option. Set to `True` to turn on informational messages (previous default behavior).
- Replaces tsne plot with umap and no longer clusters data, just visualizes doublets on the umap
- With new scanpy integration, doubletdetection requires at least Python 3.6.

2.4.1

Minor release updating the front README to reflect the work's DOI.

2.4

- Adds random state parameter for PCA, tSNE, synthetic doublet creation in BoostClassifer - closes 106
- Adds random state parameter for PCA, tSNE in tsne plot
- tsne plot returns PhenoGraph communities - closes 109
- tsne plot accepts array-like through sklearn check array - closes 104
- improves readability of threshold plot - closes 102
- notebook uses voter threshold of 0.8 (non-default)

2.3

We noticed floating point rounding errors were masking distinction between very high p-values that were in fact different. The method now calculates and works with the log p-values internally, and makes them available via the `all_log_p_values_` attribute.

Due to the problems with the un-logged p-values, `all_p_values_` is deprecated, and will be removed in v3.0. We encourage all users to avoid using it, and instead exponentiate `all_log_p_values_` (with care!) as needed.

To help understand the significance of different p and voter thresholds, we have added `plot.threshold` to provide a visualization of their interaction.

2.2.1

* Correct labels for ambiguous cells
Filling accidentally assigned a true value to cells that were never clustered. This properly assigns these cells a `np.nan` label.

* Correct `np.ma.fill`ing and `np.nan` handling in plot.py.

2.2

* Moved all installation requirements to txt file and out of setup.py.
Be sure to follow updated instructions on README. This should make it easier for anaconda users to install.

* Stores reused normalization calculations across iterations for improved performance.
When `normalizer=None`, uses internal sped up normalization. Otherwise reverts to user passed normalization.
Default normalization function moved to plot.py; necessary for tsne plot.

* Ensures `.labels_` is `np.nan` for cells that fail to join a cluster when `n_iters == 1`.
Closes 68.

Page 2 of 4

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.