Skip to content

Commit 721695c

Browse files
feat: support scvi-tools scib-metric autotune (#188)
* added option for missing group of metrics and fill in with 0.5 * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * tests fixes * tests fixes2 * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * add changlog --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 8cf4faf commit 721695c

File tree

7 files changed

+123
-114
lines changed

7 files changed

+123
-114
lines changed

CHANGELOG.md

Lines changed: 43 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -10,154 +10,157 @@ and this project adheres to [Semantic Versioning][].
1010

1111
## 0.6.0 (unreleased)
1212

13+
## 0.5.2 (2025-02-13)
14+
1315
### Added
1416

15-
- Add `progress_bar` argument to {class}`scib_metrics.benchmark.Benchmarker` {pr}`152`.
16-
- Add ability of {class}`scib_metrics.benchmark.Benchmarker` plotting code to handle missing sets of metrics {pr}`181`.
17+
- Add `progress_bar` argument to {class}`scib_metrics.benchmark.Benchmarker` {pr}`152`.
18+
- Add ability of {class}`scib_metrics.benchmark.Benchmarker` plotting code to handle missing sets of metrics {pr}`181`.
19+
- Add random score in case of aggregate metrics not selected to be used in scib autotune in scvi-tools, {pr}`188`.
1720

1821
### Changed
1922

20-
- Changed Leiden clustering now has a seed argument for reproducibility {pr}`173`.
21-
- Changed passing `None` to `bio_conservation_metrics` or `batch_correction_metrics` in {class}`scib_metrics.benchmark.Benchmarker` now implies to skip this set of metrics {pr}`181`.
23+
- Changed Leiden clustering now has a seed argument for reproducibility {pr}`173`.
24+
- Changed passing `None` to `bio_conservation_metrics` or `batch_correction_metrics` in {class}`scib_metrics.benchmark.Benchmarker` now implies to skip this set of metrics {pr}`181`.
2225

2326
### Fixed
2427

25-
- Fix neighbors connectivities in test to use new scanpy fn {pr}`170`.
26-
- Fix Kmeans test {pr}`172`.
27-
- Fix deprecation and future warnings {pr}`171`.
28-
- Fix lisi return type and docstring {pr}`182`.
28+
- Fix neighbors connectivities in test to use new scanpy fn {pr}`170`.
29+
- Fix Kmeans test {pr}`172`.
30+
- Fix deprecation and future warnings {pr}`171`.
31+
- Fix lisi return type and docstring {pr}`182`.
2932

3033
## 0.5.1 (2024-02-23)
3134

3235
### Changed
3336

34-
- Replace removed {class}`jax.random.KeyArray` with {class}`jax.Array` {pr}`135`.
37+
- Replace removed {class}`jax.random.KeyArray` with {class}`jax.Array` {pr}`135`.
3538

3639
## 0.5.0 (2024-01-04)
3740

3841
### Changed
3942

40-
- Refactor all relevant metrics to use `NeighborsResults` as input instead of sparse
41-
distance/connectivity matrices {pr}`129`.
43+
- Refactor all relevant metrics to use `NeighborsResults` as input instead of sparse
44+
distance/connectivity matrices {pr}`129`.
4245

4346
## 0.4.1 (2023-10-08)
4447

4548
### Fixed
4649

47-
- Fix KMeans. All previous versions had a bug with KMeans and ARI/NMI metrics are not reliable
48-
with this clustering {pr}`115`.
50+
- Fix KMeans. All previous versions had a bug with KMeans and ARI/NMI metrics are not reliable
51+
with this clustering {pr}`115`.
4952

5053
## 0.4.0 (2023-09-19)
5154

5255
### Added
5356

54-
- Update isolated labels to use newest scib methodology {pr}`108`.
57+
- Update isolated labels to use newest scib methodology {pr}`108`.
5558

5659
### Fixed
5760

58-
- Fix jax one-hot error {pr}`107`.
61+
- Fix jax one-hot error {pr}`107`.
5962

6063
### Removed
6164

62-
- Drop Python 3.8 {pr}`107`.
65+
- Drop Python 3.8 {pr}`107`.
6366

6467
## 0.3.3 (2023-03-29)
6568

6669
### Fixed
6770

68-
- Large scale tutorial now properly uses gpu index {pr}`92`
71+
- Large scale tutorial now properly uses gpu index {pr}`92`
6972

7073
## 0.3.2 (2023-03-13)
7174

7275
### Changed
7376

74-
- Switch to Ruff for linting/formatting {pr}`87`
75-
- Update cookiecutter template {pr}`88`
77+
- Switch to Ruff for linting/formatting {pr}`87`
78+
- Update cookiecutter template {pr}`88`
7679

7780
## 0.3.1 (2023-02-16)
7881

7982
### Changed
8083

81-
- Expose chunk size for silhouette {pr}`82`
84+
- Expose chunk size for silhouette {pr}`82`
8285

8386
## 0.3.0 (2023-02-16)
8487

8588
### Changed
8689

87-
- Rename `KmeansJax` to `Kmeans` and fix ++ initialization, use Kmeans as default in benchmarker instead of Leiden {pr}`81`.
88-
- Warn about joblib, add progress bar postfix str {pr}`80`
90+
- Rename `KmeansJax` to `Kmeans` and fix ++ initialization, use Kmeans as default in benchmarker instead of Leiden {pr}`81`.
91+
- Warn about joblib, add progress bar postfix str {pr}`80`
8992

9093
## 0.2.0 (2023-02-02)
9194

9295
### Added
9396

94-
- Allow custom nearest neighbors methods in Benchmarker {pr}`78`.
97+
- Allow custom nearest neighbors methods in Benchmarker {pr}`78`.
9598

9699
## 0.1.1 (2023-01-04)
97100

98101
### Added
99102

100-
- Add new tutorial and fix scalability of lisi {pr}`71`.
103+
- Add new tutorial and fix scalability of lisi {pr}`71`.
101104

102105
## 0.1.0 (2023-01-03)
103106

104107
### Added
105108

106-
- Add benchmarking pipeline with plotting {pr}`52` {pr}`69`.
109+
- Add benchmarking pipeline with plotting {pr}`52` {pr}`69`.
107110

108111
### Fixed
109112

110-
- Fix diffusion distance computation, affecting kbet {pr}`70`.
113+
- Fix diffusion distance computation, affecting kbet {pr}`70`.
111114

112115
## 0.0.9 (2022-12-16)
113116

114117
### Added
115118

116-
- Add kbet {pr}`60`.
117-
- Add graph connectivty metric {pr}`61`.
119+
- Add kbet {pr}`60`.
120+
- Add graph connectivty metric {pr}`61`.
118121

119122
## 0.0.8 (2022-11-18)
120123

121124
### Changed
122125

123-
- Switch to random kmeans initialization due to kmeans++ complexity issues {pr}`54`.
126+
- Switch to random kmeans initialization due to kmeans++ complexity issues {pr}`54`.
124127

125128
### Fixed
126129

127-
- Begin fixes to make kmeans++ initialization faster {pr}`49`.
130+
- Begin fixes to make kmeans++ initialization faster {pr}`49`.
128131

129132
## 0.0.7 (2022-10-31)
130133

131134
### Changed
132135

133-
- Move PCR to utils module in favor of PCR comparison {pr}`46`.
136+
- Move PCR to utils module in favor of PCR comparison {pr}`46`.
134137

135138
### Fixed
136139

137-
- Fix memory issue in `KMeansJax` by using `_kmeans_full_run` with `map` instead of `vmap` {pr}`45`.
140+
- Fix memory issue in `KMeansJax` by using `_kmeans_full_run` with `map` instead of `vmap` {pr}`45`.
138141

139142
## 0.0.6 (2022-10-25)
140143

141144
### Changed
142145

143-
- Reimplement silhouette in a memory constant way, pdist using lax scan {pr}`42`.
146+
- Reimplement silhouette in a memory constant way, pdist using lax scan {pr}`42`.
144147

145148
## 0.0.5 (2022-10-24)
146149

147150
### Added
148151

149-
- Standardize language of docstring {pr}`30`.
150-
- Use K-means++ initialization {pr}`23`.
151-
- Add pc regression and pc comparsion {pr}`16` {pr}`38`.
152-
- Lax'd silhouette {pr}`33`.
153-
- Cookicutter template sync {pr}`35`.
152+
- Standardize language of docstring {pr}`30`.
153+
- Use K-means++ initialization {pr}`23`.
154+
- Add pc regression and pc comparsion {pr}`16` {pr}`38`.
155+
- Lax'd silhouette {pr}`33`.
156+
- Cookicutter template sync {pr}`35`.
154157

155158
## 0.0.4 (2022-10-10)
156159

157160
### Added
158161

159-
- NMI/ARI metric with Leiden clustering resolution optimization {pr}`24`.
160-
- iLISI/cLISI metrics {pr}`20`.
162+
- NMI/ARI metric with Leiden clustering resolution optimization {pr}`24`.
163+
- iLISI/cLISI metrics {pr}`20`.
161164

162165
## 0.0.1 - 0.0.3
163166

docs/contributing.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,11 @@ Specify `vX.X.X` as a tag name and create a release. For more information, see [
9999

100100
Please write documentation for new or changed features and use-cases. This project uses [sphinx][] with the following features:
101101

102-
- the [myst][] extension allows to write documentation in markdown/Markedly Structured Text
103-
- [Numpy-style docstrings][numpydoc] (through the [napoloen][numpydoc-napoleon] extension).
104-
- Jupyter notebooks as tutorials through [myst-nb][] (See [Tutorials with myst-nb](#tutorials-with-myst-nb-and-jupyter-notebooks))
105-
- [Sphinx autodoc typehints][], to automatically reference annotated input and output types
106-
- Citations (like {cite:p}`Virshup_2023`) can be included with [sphinxcontrib-bibtex](https://sphinxcontrib-bibtex.readthedocs.io/)
102+
- the [myst][] extension allows to write documentation in markdown/Markedly Structured Text
103+
- [Numpy-style docstrings][numpydoc] (through the [napoloen][numpydoc-napoleon] extension).
104+
- Jupyter notebooks as tutorials through [myst-nb][] (See [Tutorials with myst-nb](#tutorials-with-myst-nb-and-jupyter-notebooks))
105+
- [Sphinx autodoc typehints][], to automatically reference annotated input and output types
106+
- Citations (like {cite:p}`Virshup_2023`) can be included with [sphinxcontrib-bibtex](https://sphinxcontrib-bibtex.readthedocs.io/)
107107

108108
See the [scanpy developer docs](https://scanpy.readthedocs.io/en/latest/dev/documentation.html) for more information
109109
on how to write documentation.
@@ -120,10 +120,10 @@ repository.
120120

121121
#### Hints
122122

123-
- If you refer to objects from other packages, please add an entry to `intersphinx_mapping` in `docs/conf.py`. Only
124-
if you do so can sphinx automatically create a link to the external documentation.
125-
- If building the documentation fails because of a missing link that is outside your control, you can add an entry to
126-
the `nitpick_ignore` list in `docs/conf.py`
123+
- If you refer to objects from other packages, please add an entry to `intersphinx_mapping` in `docs/conf.py`. Only
124+
if you do so can sphinx automatically create a link to the external documentation.
125+
- If building the documentation fails because of a missing link that is outside your control, you can add an entry to
126+
the `nitpick_ignore` list in `docs/conf.py`
127127

128128
#### Building the docs locally
129129

0 commit comments

Comments
 (0)