Skip to content

Commit 51ccbfd

Browse files
authored
Prep release notes (#2196)
* Update release notes (including some old ones) * More updates to release notes * Tutorial links + zulip link * Tutorial links + zulip link * Fix up doc index page * Group release notes * Update news * Update ecosystem (+ add release notes) * Expand on 100 contributors * More rewording of contributor milestone * dammit
1 parent 19d2ab2 commit 51ccbfd

10 files changed

Lines changed: 138 additions & 76 deletions

File tree

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
[![Conda](https://img.shields.io/conda/dn/conda-forge/scanpy?logo=Anaconda)](https://anaconda.org/conda-forge/scanpy)
55
[![Docs](https://readthedocs.com/projects/icb-scanpy/badge/?version=latest)](https://scanpy.readthedocs.io)
66
[![Build Status](https://dev.azure.com/theislab/scanpy/_apis/build/status/theislab.scanpy?branchName=master)](https://dev.azure.com/theislab/scanpy/_build)
7+
![Discourse topics](https://img.shields.io/discourse/posts?color=yellow&logo=discourse&server=https%3A%2F%2Fdiscourse.scverse.org)
8+
[![Chat](https://img.shields.io/badge/zulip-join_chat-%2367b08f.svg)](https://scverse.zulipchat.com)
79

810
# Scanpy – Single-Cell Analysis in Python
911

docs/api.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -446,6 +446,11 @@ Collections of useful measurements for evaluating results.
446446
New methods that are in early development which are not (yet)
447447
integrated in Scanpy core.
448448

449+
```{eval-rst}
450+
.. module:: scanpy.experimental.pp
451+
.. currentmodule:: scanpy
452+
```
453+
449454
```{eval-rst}
450455
.. autosummary::
451456
:toctree: generated/

docs/ecosystem.md

Lines changed: 50 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -23,74 +23,96 @@ Interactive manifold viewers.
2323
- [cirrocumulus](https://cirrocumulus.readthedocs.io/) via direct reading of `.h5ad` {small}`Broad Inst.`
2424
- [cell browser](https://cells.ucsc.edu/) via exporing through {func}`~scanpy.external.exporting.cellbrowser` {small}`UCSC`
2525
- [SPRING](https://github.com/AllonKleinLab/SPRING) via exporting through {func}`~scanpy.external.exporting.spring_project` {small}`Harvard Med`
26+
- [vitessce](http://vitessce.io) for purely browser based viewing of zarr formatted AnnData files {smaller}`Harvard Med`
2627

2728
## Portals
2829

2930
- the [Gene Expression Analysis Resource](https://umgear.org/) {small}`U Maryland`
3031
- the [Galaxy Project](https://humancellatlas.usegalaxy.eu) for the Human Cell Atlas [\[tweet\]](https://twitter.com/ExpressionAtlas/status/1151797848469626881) {small}`U Freiburg`
3132
- the [Expression Atlas](https://www.ebi.ac.uk/gxa/sc/help.html) {small}`EMBL-EBI`
3233

33-
## RNA velocity
34+
## Modalities
35+
36+
### RNA velocity
3437

3538
- [scVelo](https://scvelo.org) {small}`Helmholtz Munich`
3639

37-
## Fate mapping
40+
### Spatial Transcriptomics Tools
3841

39-
- [CellRank](http://cellrank.org) {small}`Helmholtz Munich`
42+
- [squidpy](https://squidpy.readthedocs.io/en/stable/) {small}`Helmholtz Munich`
4043

41-
> CellRank is a toolkit to uncover cellular dynamics based on scRNA-seq data with
42-
> RNA velocity annotation by detecting initial and terminal populations, inferring
43-
> fate potentials and uncovering gene expression trends towards specific
44-
> terminal populations.
44+
> Squidpy is a comprehensive toolkit for working with spatial single cell omics data.
4545
46-
## Differential expression
46+
- [PASTE](https://github.com/raphael-group/paste) {small}`Princeton`
4747

48-
- [diffxpy](https://github.com/theislab/diffxpy) {small}`Helmholtz Munich`
48+
> PASTE is a computational method to align and integrate spatial transcriptomics data across adjacent tissue slices by leveraging both gene expression similarity and spatial distances between spots.
4949
50-
## Data integration
50+
### Multimodal integration
5151

52-
- [scanaroma](https://github.com/brianhie/scanorama) {small}`MIT`
52+
- [MUON](https://muon.readthedocs.io/en/latest/) and [MuData](https://mudata.readthedocs.io/en/latest/) {small}`EMBL/ DKFZ`
5353

54-
## Modeling perturbations
54+
> MUON, and it's associated data structure MuData are designed to organise, analyse, visualise, and exchange multimodal data.
55+
> MUON enables a range of analyses for ATAC and CITE-seq, from data preprocessing to flexible multi-omics alignment.
5556
56-
- [scGen](https://github.com/theislab/scgen) / [trVAE](https://github.com/theislab/trvae) {small}`Helmholtz Munich`
57+
### Adaptive immune receptor repertoire (AIRR)
58+
59+
- [scirpy](https://github.com/icbi-lab/scirpy) {small}`Medical University of Innsbruck`
60+
61+
> scirpy is a scanpy extension to expore single-cell T-cell receptor (TCR) and B-cell receptor (BCR) repertoires.
62+
63+
- [dandelion](https://github.com/zktuong/dandelion) {small}`University of Cambridge`
64+
65+
> dandelion is a single-cell BCR-seq network analysis package that integrates with transcriptomic data analyzed via scanpy.
66+
67+
### Long reads
68+
69+
- [Swan](https://freese.gitbook.io/swan/tutorials/data_processing) {small}`UC Irvine`
70+
71+
> Swan is a Python library designed for the analysis and visualization of transcriptomes, especially with long-read transcriptomes in mind.
72+
> Users can add transcriptomes from different datasets and explore distinct splicing and expression patterns across datasets.
73+
74+
## Analysis methods
5775

58-
## scvi-tools
76+
### scvi-tools
5977

6078
- [scvi-tools](https://github.com/YosefLab/scvi-tools) {small}`Berkeley`
6179

6280
> scvi-tools hosts deep generative models (DGM) for end-to-end analysis of single-cell
6381
> omics data (e.g., scVI, scANVI, totalVI). It also contains several primitives to build novel DGMs.
6482
65-
## Adaptive immune receptor repertoire (AIRR)
83+
### Fate mapping
6684

67-
- [scirpy](https://github.com/icbi-lab/scirpy) {small}`Medical University of Innsbruck`
85+
- [CellRank](http://cellrank.org) {small}`Helmholtz Munich`
6886

69-
> scirpy is a scanpy extension to expore single-cell T-cell receptor (TCR) and B-cell receptor (BCR) repertoires.
87+
> CellRank is a toolkit to uncover cellular dynamics based on scRNA-seq data with
88+
> RNA velocity annotation by detecting initial and terminal populations, inferring
89+
> fate potentials and uncovering gene expression trends towards specific
90+
> terminal populations.
7091
71-
- [dandelion](https://github.com/zktuong/dandelion) {small}`University of Cambridge`
92+
### Differential expression
7293

73-
> dandelion is a single-cell BCR-seq network analysis package that integrates with transcriptomic data analyzed via scanpy.
94+
- [diffxpy](https://github.com/theislab/diffxpy) {small}`Helmholtz Munich`
95+
96+
### Data integration
7497

75-
## Feature selection
98+
- [scanaroma](https://github.com/brianhie/scanorama) {small}`MIT`
99+
100+
### Modeling perturbations
101+
102+
- [scGen](https://github.com/theislab/scgen) / [trVAE](https://github.com/theislab/trvae) {small}`Helmholtz Munich`
103+
104+
### Feature selection
76105

77106
- [triku 🦔](https://gitlab.com/alexmascension/triku) {small}`Biodonostia Health Research Institute`
78107
- [CIARA](https://github.com/ScialdoneLab/CIARA_python) {small}`Helmholtz Munich`
79108

80109
> CIARA is an algorithm for feature selection, that aims for the identification of rare cell types via scRNA-Seq data in scanpy.
81110
82-
## Annotation/ Enrichment Analysis
111+
### Annotation/ Enrichment Analysis
83112

84113
Analyses using curated prior knowledge
85114

86-
87115
- [decoupler](https://github.com/saezlab/decoupler-py) is a collection of footprint enrichment methods that allows to infer transcription factor or pathway activities. {small}`Institute for Computational Biomedicine, Heidelberg University`
88116
- [Cubé](https://github.com/connerlambden/Cube) {small}`Harvard University`
89117

90118
> Intuitive Nonparametric Gene Network Search Algorithm that learns from existing biological pathways & multiplicative gene interference patterns.
91-
92-
## Spatial Transcriptomics Tools
93-
94-
- [PASTE](https://github.com/raphael-group/paste) {small}`Princeton`
95-
96-
> PASTE is a computational method to align and integrate spatial transcriptomics data across adjacent tissue slices by leveraging both gene expression similarity and spatial distances between spots.

docs/index.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
```{include} ../README.md
2-
:end-line: 15
2+
:end-line: 17
33
```
44

55
```{eval-rst}
@@ -18,15 +18,17 @@
1818
* Get started by browsing {doc}`tutorials <tutorials>`, {doc}`usage principles <usage-principles>` or the main {doc}`API <api>`.
1919
* Follow changes in the {ref}`release notes <release-notes>`.
2020
* Find tools that harmonize well with anndata & Scanpy via the {doc}`external API <external>` and the {doc}`ecosystem page <ecosystem>`.
21+
* Check out our {ref}`contributing guide <contribution-guide>` for development practices.
2122
* Consider citing [Genome Biology (2018)] along with original {doc}`references <references>`.
2223

2324
# News
2425

2526
```{include} news.md
26-
:start-line: 2
27-
:end-line: 22
27+
:start-line: 9
28+
:end-line: 32
2829
```
2930

31+
{ref}`(past news) <News>`
3032
# Latest additions
3133

3234
```{include} release-notes/release-latest.md

docs/news.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,35 @@
1+
(News)=
2+
13
# News
24

35
```{eval-rst}
46
.. role:: small
57
68
```
79

10+
## Scanpy hits 100 contributors! {small}`2022-03-31`
11+
12+
[100 people have contributed to Scanpy's source code!](https://github.com/theislab/scanpy/graphs/contributors)
13+
14+
Of course, contributions to the project are not limited to direct modification of the source code.
15+
Many others have improved the project by building on top of it, participating in development discussions, helping others with usage, or by showing off what it's helped them accomplish.
16+
17+
Thanks to all our contributors for making this project possible!
18+
19+
## New community channels {small}`2022-03-31`
20+
21+
We've moved our forums and have a new publicly available chat!
22+
23+
* Our discourse forum has migrated to a joint scverse forum ([discourse.scverse.org](https://discourse.scverse.org)).
24+
* Our private developer Slack has been replaced by a public Zulip chat ([scverse.zulipchat.com](https://scverse.zulipchat.com)).
25+
26+
## Toolkit for spatial (squidpy) and multimodal (muon) published {small}`2022-02-01`
27+
28+
Two large toolkits extending our ecosystem to new modalities have had their manuscripts published!
29+
30+
* [Muon](https://muon.readthedocs.io/), a framework for multimodal has been published in [Genome Biology](https://genomebiology.biomedcentral.com/articles/10.1186/s13059-021-02577-8).
31+
* [Squidpy](https://squidpy.readthedocs.io/) a toolkit for working with spatial single cell data has been published in [Nature Methods](https://www.nature.com/articles/s41592-021-01358-2).
32+
833
## scVelo on the cover of Nature Biotechnology {small}`2020-12-01`
934

1035
Scanpy's counterpart for RNA velocity, [scVelo](http://scvelo.org/), made it on the cover of [Nature Biotechnology](https://www.nature.com/nbt/volumes/38/issues/12) \[[tweet](https://twitter.com/NatureBiotech/status/1334647540030070792)\].

docs/release-notes/1.8.0.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
- Standardized and expanded available arguments to the `sc.pl.rank_genes_groups*` family of functions. {pr}`1529` {smaller}`F Ramirez` {smaller}`I Virshup`
1818
\- See examples sections of {func}`~scanpy.pl.rank_genes_groups_dotplot` and {func}`~scanpy.pl.rank_genes_groups_matrixplot` for demonstrations.
1919
- {func}`scanpy.tl.tsne` now supports the metric argument and records the passed parameters {pr}`1854` {smaller}`I Virshup`
20+
- {func}`scanpy.external.pl.scrublet_score_distribution` now uses same API as other scanpy functions for saving/ showing plots {pr}`1741` {smaller}`J Manning`
2021

2122
```{rubric} Ecosystem
2223
```
@@ -48,6 +49,7 @@
4849
- Fixed handling of `gene_symbols` argument in a number of `sc.pl.rank_genes_groups*` functions {pr}`1529` {smaller}`F Ramirez` {smaller}`I Virshup`
4950
- Fixed handling of `use_raw` for `sc.tl.rank_genes_groups` when no `.raw` is present {pr}`1895` {smaller}`I Virshup`
5051
- {func}`scanpy.pl.rank_genes_groups_violin` now works for `raw=False` {pr}`1669` {smaller}`M van den Beek`
52+
- {func}`scanpy.pl.dotplot` now uses `smallest_dot` argument correctly {pr}`1771` {smaller}`S Flemming`
5153

5254
```{rubric} Development processes
5355
```

docs/release-notes/1.8.3.md

Lines changed: 0 additions & 19 deletions
This file was deleted.

docs/release-notes/1.9.0.md

Lines changed: 38 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,50 @@
1-
### 1.9.0 {small}`the future`
1+
### 1.9.0 {small}`2022-04-01`
2+
3+
```{rubric} Tutorials
4+
```
5+
6+
- New tutorial on the usage of Pearson Residuals: {tutorial}`tutorial_pearson_residuals` {smaller}`J Lause, G Palla`
7+
- [Materials](https://github.com/theislab/scanpy-tutorials/tree/master/scanpy_workshop) and [recordings](https://www.youtube.com/playlist?list=PL4rcQcNPLZxWQQH7LlRBMkAo5NWuHX1e3) for Scanpy workshops by Maren Büttner
8+
9+
```{rubric} Experimental module
10+
```
11+
12+
- Added {mod}`scanpy.experimental` module! Currently contains functionality related to pearson residuals in {mod}`scanpy.experimental.pp` {pr}`1715` {smaller}`J Lause, G Palla, I Virshup`. This includes:
13+
14+
- {func}`~scanpy.experimental.pp.normalize_pearson_residuals` for Pearson Residuals normalization
15+
- {func}`~scanpy.experimental.pp.highly_variable_genes` for HVG selection with Pearson Residuals
16+
- {func}`~scanpy.experimental.pp.normalize_pearson_residuals_pca` for Pearson Residuals normalization and dimensionality reduction with PCA
17+
- {func}`~scanpy.experimental.pp.recipe_pearson_residuals` for Pearson Residuals normalization, HVG selection and dimensionality reduction with PCA
218

319
```{rubric} Features
420
```
521

622
- {func}`~scanpy.tl.filter_rank_genes_groups` now allows to filter with absolute values of log fold change {pr}`1649` {smaller}`S Rybakov`
7-
- {func}`~scanpy.pl.embedding_density` now allows more than 10 groups {pr}`1936` {smaller}`A Wolf`
8-
- {func}`~scanpy.logging.print_versions` now uses `session_info` {pr}`2089` {smaller}`P Angerer` {smaller}`I Virshup`
923
- `_choose_representation` now subsets the provided representation to n_pcs, regardless of the name of the provided representation (should affect mostly {func}`~scanpy.pp.neighbors`) {pr}`2179` {smaller}`I Virshup` {smaller}`PG Majev`
10-
- Embedding plots now have a `dimensions` argument, which lets users select which dimensions of their embedding to plot and uses the same broadcasting rules as other arguments {pr}`1538` {smaller}`I Virshup`
24+
- {func}`scanpy.external.pp.scrublet` (and related functions) can now be used on `AnnData` objects containing multiple batches {pr}`1965` {smaller}`J Manning`
1125
- Number of variables plotted with {func}`~scanpy.pl.pca_loadings` can now be controlled with `n_points` argument. Additionally, variables are no longer repeated if the anndata has less than 30 variables {pr}`2075` {smaller}`Yves33`
26+
- Dask arrays now work with {func}`scanpy.pp.normalize_total` {pr}`1663` {smaller}`G Buckley, I Virshup`
27+
- {func}`~scanpy.pl.embedding_density` now allows more than 10 groups {pr}`1936` {smaller}`A Wolf`
1228
- Embedding plots can now pass `colorbar_loc` to specify the location of colorbar legend, or pass `None` to not show a colorbar {pr}`1821` {smaller}`A Schaar` {smaller}`I Virshup`
29+
- Embedding plots now have a `dimensions` argument, which lets users select which dimensions of their embedding to plot and uses the same broadcasting rules as other arguments {pr}`1538` {smaller}`I Virshup`
30+
- {func}`~scanpy.logging.print_versions` now uses `session_info` {pr}`2089` {smaller}`P Angerer` {smaller}`I Virshup`
1331

14-
```{rubric} Experimental module
32+
```{rubric} Ecosystem
1533
```
1634

17-
- Added {mod}`scanpy.experimental` module!
35+
Multiple packages have been added to our ecosystem page, including:
36+
37+
- [decoupler](https://github.com/saezlab/decoupler-py) a for footprint analysis and pathway enrichement {pr}`2186` {smaller}`PB Mompel`
38+
- [dandelion](https://github.com/zktuong/dandelion) for B-cell receptor analysis {pr}`1953` {smaller}`Z Tuong`
39+
- [CIARA](https://github.com/ScialdoneLab/CIARA_python) a feature selection tools for identifying rare cell types {pr}`2175` {smaller}`M Stock`
40+
41+
```{rubric} Bug fixes
42+
```
1843

19-
- Added {func}`scanpy.experimental.pp.normalize_pearson_residuals` for Pearson Residuals normalization {pr}`1715` {smaller}`J Lause, G Palla, I Virshup`
20-
- Added {func}`scanpy.experimental.pp.normalize_pearson_residuals_pca` for Pearson Residuals normalization and PCA {pr}`1715` {smaller}`J Lause, G Palla, I Virshup`
21-
- Added {func}`scanpy.experimental.pp.highly_variable_genes` for HVG selection with Pearson Residuals {pr}`1715` {smaller}`J Lause, G Palla, I Virshup`
22-
- Added {func}`scanpy.experimental.pp.normalize_pearson_residuals_pca` for Pearson Residuals normalization and dimensionality reduction with PCA {pr}`1715` {smaller}`J Lause, G Palla, I Virshup`
23-
- Added {func}`scanpy.experimental.pp.recipe_pearson_residuals` for Pearson Residuals normalization, HVG selection and dimensionality reduction with PCA {pr}`1715` {smaller}`J Lause, G Palla, I Virshup`
44+
- Fixed finding variables with `use_raw=True` and `basis=None` in {func}`scanpy.pl.scatter` {pr}`2027` {smaller}`E Rice`
45+
- Fixed {func}`scanpy.external.pp.scrublet` to address {issue}`1957` {smaller}`FlMai` and ensure raw counts are used for simulation
46+
- Functions in {mod}`scanpy.datasets` no longer throw `OldFormatWarnings` when using `anndata` `0.8` {pr}`2096` {smaller}`I Virshup`
47+
- Fixed use of {func}`scanpy.pp.neighbors` with `method='rapids'`: RAPIDS cuML no longer returns a squared Euclidean distance matrix, so we should not square-root the kNN distance matrix. {pr}`1828` {smaller}`M Zaslavsky`
48+
- Removed `pytables` dependency by implementing `read_10x_h5` with `h5py` due to installation errors on Windows {pr}`2064`
49+
- Fixed bug in {func}`scanpy.external.pp.hashsolo` where default value was set improperly {pr}`2190` {smaller}`B Reiz`
50+
- Fixed bug in {func}`scanpy.pl.embedding` functions where an error could be raised when there were missing values and large numbers of categories {pr}`2187` {smaller}`I Virshup`

docs/release-notes/index.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,17 @@
55
```{include} release-latest.md
66
```
77

8+
## Version 1.8
9+
10+
```{include} /release-notes/1.8.2.md
11+
```
12+
13+
```{include} /release-notes/1.8.1.md
14+
```
15+
16+
```{include} /release-notes/1.8.0.md
17+
```
18+
819
## Version 1.7
920

1021
```{include} /release-notes/1.7.2.md

docs/release-notes/release-latest.md

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,3 @@
33

44
```{include} /release-notes/1.9.0.md
55
```
6-
7-
## Version 1.8
8-
9-
10-
```{include} /release-notes/1.8.3.md
11-
```
12-
13-
```{include} /release-notes/1.8.2.md
14-
```
15-
16-
```{include} /release-notes/1.8.1.md
17-
```
18-
19-
```{include} /release-notes/1.8.0.md
20-
```

0 commit comments

Comments
 (0)