Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/api/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import scanpy as sc
```

```{note}
Additional functionality is available in the broader {doc}`ecosystem <../ecosystem>`, with some tools being wrapped in the {mod}`scanpy.external` module.
Additional functionality is available across the broader [scverse ecosystem](https://scverse.org/packages/#ecosystem), with some tools wrapped in the {mod}`scanpy.external` module.
```

(array-support)=
Expand Down
5 changes: 3 additions & 2 deletions docs/community.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
# Community

Scanpy is a community driven project. There are multiple channels for users and developers to communicate and connect.
Scanpy is a community driven project embedded in the [scverse consortium](https://scverse.org).
There are multiple channels for users and developers to communicate and connect.

## [Discourse](https://discourse.scverse.org)

The scverse Discourse forum is place to go to ask usage questions and for longer form discussions around the project.
The scverse Discourse forum is the place to ask usage questions and for longer form discussions around the project.

## [Github Issue Tracker](https://github.com/scverse/scanpy/issues)

Expand Down
112 changes: 0 additions & 112 deletions docs/ecosystem.md

This file was deleted.

8 changes: 1 addition & 7 deletions docs/external/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,7 @@

```{warning}
We are no longer accepting new tools into `scanpy.external`.
Instead, please submit your tool to the [scverse ecosystem package listing](https://scverse.org/packages/#ecosystem).
```

```{note}
For tools that integrate well with scanpy and anndata, see:
* The [scverse ecosystem](https://scverse.org/packages/#ecosystem)
* Scanpy's ecosystem {doc}`ecosystem page <../ecosystem>`
For tools that integrate well with scanpy and anndata, or to submit your own, see the [scverse ecosystem](https://scverse.org/packages/#ecosystem).
```

Import Scanpy's wrappers to external tools as:
Expand Down
22 changes: 10 additions & 12 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,24 +38,24 @@ Need help? Reach out on our forum to get your questions answered!

Find a bug? Interested in improving scanpy? Checkout our GitHub for the latest developments.
:::

:::{grid-item-card} GPU acceleration {octicon}`rocket;1em;`
:link: https://rapids-singlecell.readthedocs.io

Working with millions of cells and have a GPU available?
[rapids-singlecell][rsc] mirrors the scanpy API with order-of-magnitude speedups on core preprocessing, neighbors, embedding, and clustering steps.
:::
::::

[rsc]: https://rapids-singlecell.readthedocs.io

**Other resources**

* Follow changes in the {ref}`release notes <release-notes>`.
* Find tools that harmonize well with anndata & Scanpy at [scverse.org/packages/](https://scverse.org/packages/)
* Discover tools that build on or complement scanpy in the [scverse ecosystem](https://scverse.org/packages/#ecosystem), and follow scverse-wide news at [scverse.org/blog](https://scverse.org/blog/).
* Check out our {ref}`contribution guide <contribution-guide>` for development practices.
* Consider citing [Genome Biology (2018)] along with original {doc}`references <references>`.

## News

```{include} news.md
:start-after: '<!-- marker: after prelude -->'
:end-before: '<!-- marker: before old news -->'
```

{ref}`(past news) <News>`

% put references first so all references are resolved

% NO! there is a particular meaning to this sequence
Expand All @@ -70,10 +70,8 @@ usage-principles
how-to/index
api/index
external/index
ecosystem
release-notes/index
community
news
dev/index
contributors
references
Expand Down
7 changes: 7 additions & 0 deletions docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,13 @@ For instructions on how to work with the code, see the {ref}`contribution guide

[on github]: https://github.com/scverse/scanpy

## GPU acceleration

If you have a GPU, consider [rapids-singlecell][], which mirrors the scanpy API with order-of-magnitude speedups.
See its [documentation][rapids-singlecell] for installation and usage instructions.

[rapids-singlecell]: https://rapids-singlecell.readthedocs.io

## Docker

If you're using [Docker][], you can use e.g. the image [gcfntnu/scanpy][] from Docker Hub.
Expand Down
67 changes: 0 additions & 67 deletions docs/news.md

This file was deleted.

1 change: 1 addition & 0 deletions docs/release-notes/4100.docs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Highlighting rapids-singlecell for GPU users & cleanup documentation.
7 changes: 2 additions & 5 deletions docs/tutorials/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ plotting/index
## Trajectory inference

```{seealso}
For more powerful tools for analysing single cell dynamics, check out the Scverse ecosystem packages:
For more powerful tools for analysing single cell dynamics, check out the scverse ecosystem packages:

* [CellRank](https://cellrank.readthedocs.io)
* [Dynamo](https://dynamo-release.readthedocs.io/en/latest/)
Expand All @@ -35,9 +35,6 @@ For more powerful tools for analysing single cell dynamics, check out the Scvers
trajectories/index
```

## Spatial data


## Experimental

```{toctree}
Expand All @@ -53,7 +50,7 @@ A number of older tutorials can be found at:
* The [`scanpy_usage`](https://github.com/scverse/scanpy_usage) repository

```{seealso}
Scanpy used to have tutorials for its (now deprecated) spatial data functionality.x
Scanpy used to have tutorials for its (now deprecated) spatial data functionality.
For up-to-date tutorials on working with spatial data, see:

* SquidPy {doc}`squidpy:notebooks/tutorials/index`
Expand Down
28 changes: 12 additions & 16 deletions docs/usage-principles.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,15 @@

Import Scanpy as:

```
```python
import scanpy as sc
```

## Workflow

The typical workflow consists of subsequent calls of data analysis tools
in `sc.tl`, e.g.:
The typical workflow consists of subsequent calls of data analysis tools in `sc.tl`, e.g.:

```
```python
sc.tl.umap(adata, **tool_params) # embed a neighborhood graph of the data using UMAP
```

Expand All @@ -20,7 +19,7 @@ Each of these calls adds annotation to an expression matrix *X*,
which stores *n_obs* observations (cells) of *n_vars* variables (genes).
For each tool, there typically is an associated plotting function in `sc.pl`:

```
```python
sc.pl.umap(adata, **plotting_params)
```

Expand All @@ -41,24 +40,21 @@ Scanpy is based on {mod}`anndata`, which provides the {class}`~anndata.AnnData`
:width: 300px
```

At the most basic level, an {class}`~anndata.AnnData` object `adata` stores
a data matrix `adata.X`, annotation of observations
`adata.obs` and variables `adata.var` as `pd.DataFrame` and unstructured
annotation `adata.uns` as `dict`. Names of observations and
variables can be accessed via `adata.obs_names` and `adata.var_names`,
respectively. {class}`~anndata.AnnData` objects can be sliced like
dataframes, for example, `adata_subset = adata[:, list_of_gene_names]`.
At the most basic level, an {class}`~anndata.AnnData` object `adata` stores a data matrix `adata.X`, annotation of observations
`adata.obs` and variables `adata.var` as `pd.DataFrame` and unstructured annotation `adata.uns` as `dict`.
Names of observations and variables can be accessed via `adata.obs_names` and `adata.var_names`, respectively.
{class}`~anndata.AnnData` objects can be sliced like dataframes, for example, `adata_subset = adata[:, list_of_gene_names]`.
For more, see this [blog post].

To read a data file to an {class}`~anndata.AnnData` object, call:

```
adata = sc.read(filename)
```python
adata = sc.read_h5ad(filename). # or sc.read_zarr(filename)
```

to initialize an {class}`~anndata.AnnData` object. Possibly add further annotation using, e.g., `pd.read_csv`:

```
```python
import pandas as pd
anno = pd.read_csv(filename_sample_annotation)
adata.obs['cell_groups'] = anno['cell_groups'] # categorical annotation of type pandas.Categorical
Expand All @@ -69,7 +65,7 @@ adata.obs['time'] = anno['time'] # numerical annotation of type f

To write, use:

```
```python
adata.write_h5ad(filename)
adata.write_zarr(filename)
adata.write_csvs(filename)
Expand Down
2 changes: 1 addition & 1 deletion notebooks
Loading