Skip to content

Commit

Permalink
Prep release notes (#2196)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
ivirshup authored Apr 1, 2022
1 parent 19d2ab2 commit 51ccbfd
Show file tree
Hide file tree
Showing 10 changed files with 138 additions and 76 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
[![Conda](https://img.shields.io/conda/dn/conda-forge/scanpy?logo=Anaconda)](https://anaconda.org/conda-forge/scanpy)
[![Docs](https://readthedocs.com/projects/icb-scanpy/badge/?version=latest)](https://scanpy.readthedocs.io)
[![Build Status](https://dev.azure.com/theislab/scanpy/_apis/build/status/theislab.scanpy?branchName=master)](https://dev.azure.com/theislab/scanpy/_build)
![Discourse topics](https://img.shields.io/discourse/posts?color=yellow&logo=discourse&server=https%3A%2F%2Fdiscourse.scverse.org)
[![Chat](https://img.shields.io/badge/zulip-join_chat-%2367b08f.svg)](https://scverse.zulipchat.com)

# Scanpy – Single-Cell Analysis in Python

Expand Down
5 changes: 5 additions & 0 deletions docs/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -446,6 +446,11 @@ Collections of useful measurements for evaluating results.
New methods that are in early development which are not (yet)
integrated in Scanpy core.

```{eval-rst}
.. module:: scanpy.experimental.pp
.. currentmodule:: scanpy
```

```{eval-rst}
.. autosummary::
:toctree: generated/
Expand Down
78 changes: 50 additions & 28 deletions docs/ecosystem.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,74 +23,96 @@ Interactive manifold viewers.
- [cirrocumulus](https://cirrocumulus.readthedocs.io/) via direct reading of `.h5ad` {small}`Broad Inst.`
- [cell browser](https://cells.ucsc.edu/) via exporing through {func}`~scanpy.external.exporting.cellbrowser` {small}`UCSC`
- [SPRING](https://github.com/AllonKleinLab/SPRING) via exporting through {func}`~scanpy.external.exporting.spring_project` {small}`Harvard Med`
- [vitessce](http://vitessce.io) for purely browser based viewing of zarr formatted AnnData files {smaller}`Harvard Med`

## Portals

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

## RNA velocity
## Modalities

### RNA velocity

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

## Fate mapping
### Spatial Transcriptomics Tools

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

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

- [diffxpy](https://github.com/theislab/diffxpy) {small}`Helmholtz Munich`
> 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.
## Data integration
### Multimodal integration

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

## Modeling perturbations
> MUON, and it's associated data structure MuData are designed to organise, analyse, visualise, and exchange multimodal data.
> MUON enables a range of analyses for ATAC and CITE-seq, from data preprocessing to flexible multi-omics alignment.
- [scGen](https://github.com/theislab/scgen) / [trVAE](https://github.com/theislab/trvae) {small}`Helmholtz Munich`
### Adaptive immune receptor repertoire (AIRR)

- [scirpy](https://github.com/icbi-lab/scirpy) {small}`Medical University of Innsbruck`

> scirpy is a scanpy extension to expore single-cell T-cell receptor (TCR) and B-cell receptor (BCR) repertoires.
- [dandelion](https://github.com/zktuong/dandelion) {small}`University of Cambridge`

> dandelion is a single-cell BCR-seq network analysis package that integrates with transcriptomic data analyzed via scanpy.
### Long reads

- [Swan](https://freese.gitbook.io/swan/tutorials/data_processing) {small}`UC Irvine`

> Swan is a Python library designed for the analysis and visualization of transcriptomes, especially with long-read transcriptomes in mind.
> Users can add transcriptomes from different datasets and explore distinct splicing and expression patterns across datasets.
## Analysis methods

## scvi-tools
### scvi-tools

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

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

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

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

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

### Data integration

## Feature selection
- [scanaroma](https://github.com/brianhie/scanorama) {small}`MIT`

### Modeling perturbations

- [scGen](https://github.com/theislab/scgen) / [trVAE](https://github.com/theislab/trvae) {small}`Helmholtz Munich`

### Feature selection

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

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

Analyses using curated prior knowledge


- [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`
- [Cubé](https://github.com/connerlambden/Cube) {small}`Harvard University`

> Intuitive Nonparametric Gene Network Search Algorithm that learns from existing biological pathways & multiplicative gene interference patterns.
## Spatial Transcriptomics Tools

- [PASTE](https://github.com/raphael-group/paste) {small}`Princeton`

> 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.
8 changes: 5 additions & 3 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
```{include} ../README.md
:end-line: 15
:end-line: 17
```

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

# News

```{include} news.md
:start-line: 2
:end-line: 22
:start-line: 9
:end-line: 32
```

{ref}`(past news) <News>`
# Latest additions

```{include} release-notes/release-latest.md
Expand Down
25 changes: 25 additions & 0 deletions docs/news.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,35 @@
(News)=

# News

```{eval-rst}
.. role:: small
```

## Scanpy hits 100 contributors! {small}`2022-03-31`

[100 people have contributed to Scanpy's source code!](https://github.com/theislab/scanpy/graphs/contributors)

Of course, contributions to the project are not limited to direct modification of the source code.
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.

Thanks to all our contributors for making this project possible!

## New community channels {small}`2022-03-31`

We've moved our forums and have a new publicly available chat!

* Our discourse forum has migrated to a joint scverse forum ([discourse.scverse.org](https://discourse.scverse.org)).
* Our private developer Slack has been replaced by a public Zulip chat ([scverse.zulipchat.com](https://scverse.zulipchat.com)).

## Toolkit for spatial (squidpy) and multimodal (muon) published {small}`2022-02-01`

Two large toolkits extending our ecosystem to new modalities have had their manuscripts published!

* [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).
* [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).

## scVelo on the cover of Nature Biotechnology {small}`2020-12-01`

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)\].
Expand Down
2 changes: 2 additions & 0 deletions docs/release-notes/1.8.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
- Standardized and expanded available arguments to the `sc.pl.rank_genes_groups*` family of functions. {pr}`1529` {smaller}`F Ramirez` {smaller}`I Virshup`
\- See examples sections of {func}`~scanpy.pl.rank_genes_groups_dotplot` and {func}`~scanpy.pl.rank_genes_groups_matrixplot` for demonstrations.
- {func}`scanpy.tl.tsne` now supports the metric argument and records the passed parameters {pr}`1854` {smaller}`I Virshup`
- {func}`scanpy.external.pl.scrublet_score_distribution` now uses same API as other scanpy functions for saving/ showing plots {pr}`1741` {smaller}`J Manning`

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

```{rubric} Development processes
```
Expand Down
19 changes: 0 additions & 19 deletions docs/release-notes/1.8.3.md

This file was deleted.

49 changes: 38 additions & 11 deletions docs/release-notes/1.9.0.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,50 @@
### 1.9.0 {small}`the future`
### 1.9.0 {small}`2022-04-01`

```{rubric} Tutorials
```

- New tutorial on the usage of Pearson Residuals: {tutorial}`tutorial_pearson_residuals` {smaller}`J Lause, G Palla`
- [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

```{rubric} Experimental module
```

- 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:

- {func}`~scanpy.experimental.pp.normalize_pearson_residuals` for Pearson Residuals normalization
- {func}`~scanpy.experimental.pp.highly_variable_genes` for HVG selection with Pearson Residuals
- {func}`~scanpy.experimental.pp.normalize_pearson_residuals_pca` for Pearson Residuals normalization and dimensionality reduction with PCA
- {func}`~scanpy.experimental.pp.recipe_pearson_residuals` for Pearson Residuals normalization, HVG selection and dimensionality reduction with PCA

```{rubric} Features
```

- {func}`~scanpy.tl.filter_rank_genes_groups` now allows to filter with absolute values of log fold change {pr}`1649` {smaller}`S Rybakov`
- {func}`~scanpy.pl.embedding_density` now allows more than 10 groups {pr}`1936` {smaller}`A Wolf`
- {func}`~scanpy.logging.print_versions` now uses `session_info` {pr}`2089` {smaller}`P Angerer` {smaller}`I Virshup`
- `_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`
- 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`
- {func}`scanpy.external.pp.scrublet` (and related functions) can now be used on `AnnData` objects containing multiple batches {pr}`1965` {smaller}`J Manning`
- 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`
- Dask arrays now work with {func}`scanpy.pp.normalize_total` {pr}`1663` {smaller}`G Buckley, I Virshup`
- {func}`~scanpy.pl.embedding_density` now allows more than 10 groups {pr}`1936` {smaller}`A Wolf`
- 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`
- 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`
- {func}`~scanpy.logging.print_versions` now uses `session_info` {pr}`2089` {smaller}`P Angerer` {smaller}`I Virshup`

```{rubric} Experimental module
```{rubric} Ecosystem
```

- Added {mod}`scanpy.experimental` module!
Multiple packages have been added to our ecosystem page, including:

- [decoupler](https://github.com/saezlab/decoupler-py) a for footprint analysis and pathway enrichement {pr}`2186` {smaller}`PB Mompel`
- [dandelion](https://github.com/zktuong/dandelion) for B-cell receptor analysis {pr}`1953` {smaller}`Z Tuong`
- [CIARA](https://github.com/ScialdoneLab/CIARA_python) a feature selection tools for identifying rare cell types {pr}`2175` {smaller}`M Stock`

```{rubric} Bug fixes
```

- Added {func}`scanpy.experimental.pp.normalize_pearson_residuals` for Pearson Residuals normalization {pr}`1715` {smaller}`J Lause, G Palla, I Virshup`
- Added {func}`scanpy.experimental.pp.normalize_pearson_residuals_pca` for Pearson Residuals normalization and PCA {pr}`1715` {smaller}`J Lause, G Palla, I Virshup`
- Added {func}`scanpy.experimental.pp.highly_variable_genes` for HVG selection with Pearson Residuals {pr}`1715` {smaller}`J Lause, G Palla, I Virshup`
- 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`
- 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`
- Fixed finding variables with `use_raw=True` and `basis=None` in {func}`scanpy.pl.scatter` {pr}`2027` {smaller}`E Rice`
- Fixed {func}`scanpy.external.pp.scrublet` to address {issue}`1957` {smaller}`FlMai` and ensure raw counts are used for simulation
- Functions in {mod}`scanpy.datasets` no longer throw `OldFormatWarnings` when using `anndata` `0.8` {pr}`2096` {smaller}`I Virshup`
- 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`
- Removed `pytables` dependency by implementing `read_10x_h5` with `h5py` due to installation errors on Windows {pr}`2064`
- Fixed bug in {func}`scanpy.external.pp.hashsolo` where default value was set improperly {pr}`2190` {smaller}`B Reiz`
- 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`
11 changes: 11 additions & 0 deletions docs/release-notes/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,17 @@
```{include} release-latest.md
```

## Version 1.8

```{include} /release-notes/1.8.2.md
```

```{include} /release-notes/1.8.1.md
```

```{include} /release-notes/1.8.0.md
```

## Version 1.7

```{include} /release-notes/1.7.2.md
Expand Down
15 changes: 0 additions & 15 deletions docs/release-notes/release-latest.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,3 @@

```{include} /release-notes/1.9.0.md
```

## Version 1.8


```{include} /release-notes/1.8.3.md
```

```{include} /release-notes/1.8.2.md
```

```{include} /release-notes/1.8.1.md
```

```{include} /release-notes/1.8.0.md
```

0 comments on commit 51ccbfd

Please sign in to comment.