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 .github/workflows/make-tutorials-json.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
filter: blob:none
fetch-depth: 0
Expand Down
2 changes: 1 addition & 1 deletion .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ version: 2
build:
os: ubuntu-24.04
tools:
python: "3.12"
python: "3.14"
jobs:
create_environment:
- asdf plugin add uv
Expand Down
27 changes: 18 additions & 9 deletions docs/notebooks/anndata_getting_started.ipynb

Large diffs are not rendered by default.

131 changes: 87 additions & 44 deletions docs/notebooks/basic-scrna-tutorial.ipynb

Large diffs are not rendered by default.

212 changes: 126 additions & 86 deletions docs/notebooks/scverse_data_backed.ipynb

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/notebooks/scverse_data_interoperability.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.12"
"version": "3.13.13"
}
},
"nbformat": 4,
Expand Down
152 changes: 50 additions & 102 deletions docs/notebooks/tutorial_axes_anndata_mudata.ipynb

Large diffs are not rendered by default.

60 changes: 27 additions & 33 deletions docs/notebooks/tutorial_concatenation_anndata_mudata.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,11 @@
{
"data": {
"text/plain": [
"['pbmc10k_multiome',\n",
" 'brain9k_multiome',\n",
"['pbmc3k_multiome',\n",
" 'pbmc10k_multiome',\n",
" 'brain3k_multiome',\n",
" 'pbmc5k_citeseq',\n",
" 'pbmc3k_multiome']"
" 'brain9k_multiome']"
]
},
"execution_count": 2,
Expand Down Expand Up @@ -96,15 +96,15 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/home/runner/miniconda3/envs/tutorials/lib/python3.12/site-packages/mudatasets/core.py:203: UserWarning: Dataset is in the 10X .h5 format and can't be loaded as backed.\n",
"/home/runner/miniconda3/envs/tutorials/lib/python3.13/site-packages/mudatasets/core.py:203: UserWarning: Dataset is in the 10X .h5 format and can't be loaded as backed.\n",
" warn(\"Dataset is in the 10X .h5 format and can't be loaded as backed.\")\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/runner/miniconda3/envs/tutorials/lib/python3.12/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
"/home/runner/miniconda3/envs/tutorials/lib/python3.13/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
" from .autonotebook import tqdm as notebook_tqdm\n"
]
},
Expand All @@ -119,18 +119,12 @@
"name": "stderr",
"output_type": "stream",
"text": [
"/home/runner/miniconda3/envs/tutorials/lib/python3.12/site-packages/anndata/_core/anndata.py:1813: UserWarning: Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n",
"/home/runner/miniconda3/envs/tutorials/lib/python3.13/site-packages/anndata/_core/anndata.py:1880: UserWarning: Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n",
" utils.warn_names_duplicates(\"var\")\n",
"/home/runner/miniconda3/envs/tutorials/lib/python3.12/site-packages/anndata/_core/anndata.py:1813: UserWarning: Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n",
" utils.warn_names_duplicates(\"var\")\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/runner/miniconda3/envs/tutorials/lib/python3.12/site-packages/mudata/_core/mudata.py:947: UserWarning: var_names are not unique. To make them unique, call `.var_names_make_unique`.\n",
" warnings.warn(\n"
"/home/runner/miniconda3/envs/tutorials/lib/python3.13/site-packages/anndata/_core/anndata.py:1880: UserWarning: Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n",
" utils.warn_names_duplicates(\"var\")\n",
"/home/runner/miniconda3/envs/tutorials/lib/python3.13/site-packages/mudata/_core/mudata.py:565: UserWarning: var_names are not unique. To make them unique, call `.var_names_make_unique`.\n",
" self._update_attr_legacy(attr, axis, join_common, **kwargs)\n"
]
}
],
Expand All @@ -150,18 +144,18 @@
"<pre>MuData object with n_obs × n_vars = 5247 × 33570\n",
" var:\t&#x27;gene_ids&#x27;, &#x27;feature_types&#x27;, &#x27;genome&#x27;, &#x27;pattern&#x27;, &#x27;read&#x27;, &#x27;sequence&#x27;\n",
" 2 modalities\n",
" rna:\t5247 x 33538\n",
" rna:\t5247 × 33538\n",
" var:\t&#x27;gene_ids&#x27;, &#x27;feature_types&#x27;, &#x27;genome&#x27;, &#x27;pattern&#x27;, &#x27;read&#x27;, &#x27;sequence&#x27;\n",
" prot:\t5247 x 32\n",
" prot:\t5247 × 32\n",
" var:\t&#x27;gene_ids&#x27;, &#x27;feature_types&#x27;, &#x27;genome&#x27;, &#x27;pattern&#x27;, &#x27;read&#x27;, &#x27;sequence&#x27;</pre>"
],
"text/plain": [
"MuData object with n_obs × n_vars = 5247 × 33570\n",
" var:\t'gene_ids', 'feature_types', 'genome', 'pattern', 'read', 'sequence'\n",
" 2 modalities\n",
" rna:\t5247 x 33538\n",
" rna:\t5247 × 33538\n",
" var:\t'gene_ids', 'feature_types', 'genome', 'pattern', 'read', 'sequence'\n",
" prot:\t5247 x 32\n",
" prot:\t5247 × 32\n",
" var:\t'gene_ids', 'feature_types', 'genome', 'pattern', 'read', 'sequence'"
]
},
Expand Down Expand Up @@ -235,18 +229,18 @@
"<pre>MuData object with n_obs × n_vars = 300 × 1032\n",
" var:\t&#x27;gene_ids&#x27;, &#x27;feature_types&#x27;, &#x27;genome&#x27;, &#x27;pattern&#x27;, &#x27;read&#x27;, &#x27;sequence&#x27;\n",
" 2 modalities\n",
" prot:\t300 x 32\n",
" prot:\t300 × 32\n",
" var:\t&#x27;gene_ids&#x27;, &#x27;feature_types&#x27;, &#x27;genome&#x27;, &#x27;pattern&#x27;, &#x27;read&#x27;, &#x27;sequence&#x27;\n",
" rna:\t300 x 1000\n",
" rna:\t300 × 1000\n",
" var:\t&#x27;gene_ids&#x27;, &#x27;feature_types&#x27;, &#x27;genome&#x27;, &#x27;pattern&#x27;, &#x27;read&#x27;, &#x27;sequence&#x27;</pre>"
],
"text/plain": [
"MuData object with n_obs × n_vars = 300 × 1032\n",
" var:\t'gene_ids', 'feature_types', 'genome', 'pattern', 'read', 'sequence'\n",
" 2 modalities\n",
" prot:\t300 x 32\n",
" prot:\t300 × 32\n",
" var:\t'gene_ids', 'feature_types', 'genome', 'pattern', 'read', 'sequence'\n",
" rna:\t300 x 1000\n",
" rna:\t300 × 1000\n",
" var:\t'gene_ids', 'feature_types', 'genome', 'pattern', 'read', 'sequence'"
]
},
Expand All @@ -270,18 +264,18 @@
"<pre>MuData object with n_obs × n_vars = 400 × 1015\n",
" var:\t&#x27;gene_ids&#x27;, &#x27;feature_types&#x27;, &#x27;genome&#x27;, &#x27;pattern&#x27;, &#x27;read&#x27;, &#x27;sequence&#x27;\n",
" 2 modalities\n",
" prot:\t400 x 15\n",
" prot:\t400 × 15\n",
" var:\t&#x27;gene_ids&#x27;, &#x27;feature_types&#x27;, &#x27;genome&#x27;, &#x27;pattern&#x27;, &#x27;read&#x27;, &#x27;sequence&#x27;\n",
" rna:\t400 x 1000\n",
" rna:\t400 × 1000\n",
" var:\t&#x27;gene_ids&#x27;, &#x27;feature_types&#x27;, &#x27;genome&#x27;, &#x27;pattern&#x27;, &#x27;read&#x27;, &#x27;sequence&#x27;</pre>"
],
"text/plain": [
"MuData object with n_obs × n_vars = 400 × 1015\n",
" var:\t'gene_ids', 'feature_types', 'genome', 'pattern', 'read', 'sequence'\n",
" 2 modalities\n",
" prot:\t400 x 15\n",
" prot:\t400 × 15\n",
" var:\t'gene_ids', 'feature_types', 'genome', 'pattern', 'read', 'sequence'\n",
" rna:\t400 x 1000\n",
" rna:\t400 × 1000\n",
" var:\t'gene_ids', 'feature_types', 'genome', 'pattern', 'read', 'sequence'"
]
},
Expand Down Expand Up @@ -543,14 +537,14 @@
"text/html": [
"<pre>MuData object with n_obs × n_vars = 700 × 1687\n",
" 2 modalities\n",
" rna:\t700 x 1655\n",
" prot:\t700 x 32</pre>"
" rna:\t700 × 1655\n",
" prot:\t700 × 32</pre>"
],
"text/plain": [
"MuData object with n_obs × n_vars = 700 × 1687\n",
" 2 modalities\n",
" rna:\t700 x 1655\n",
" prot:\t700 x 32"
" rna:\t700 × 1655\n",
" prot:\t700 × 32"
]
},
"execution_count": 19,
Expand Down Expand Up @@ -954,7 +948,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.12"
"version": "3.13.13"
},
"vscode": {
"interpreter": {
Expand Down
2 changes: 1 addition & 1 deletion environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: tutorials
channels:
- conda-forge
dependencies:
- python=3.12
- python=3.13
- jupyter-cache
- ipykernel
- ipython
Expand Down
75 changes: 75 additions & 0 deletions tutorial-registry/tutorials/rapids-singlecell-gpu/icon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 18 additions & 0 deletions tutorial-registry/tutorials/rapids-singlecell-gpu/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: GPU-accelerated single-cell analysis with rapids-singlecell
description: |
This tutorial demonstrates a complete single-cell RNA-seq workflow on the GPU
using rapids-singlecell as a drop-in replacement for scanpy, covering
preprocessing, clustering, batch correction, and differential expression.
link: https://rapids-singlecell.readthedocs.io/en/latest/notebooks/01_basic_workflow.html
image: icon.svg
primary_category: scRNA-seq
order: 80
tags:
- preprocessing
- quality control
- visualization
- differential expression
packages:
- rapids-singlecell
authors:
- Intron7
2 changes: 1 addition & 1 deletion tutorial-registry/validate.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ def make_output(
json.dump(result, sys.stdout, indent=2)


def main(schema_file: Path, meta_dir: Path, categories_file: Path, *, outdir: Path | None = None):
def main(schema_file: Path, meta_dir: Path, categories_file: Path, *, outdir: Path | None = None) -> None:
"""Validate and create output directory."""
tutorials = list(validate_tutorials(schema_file, meta_dir))
categories = load_categories(categories_file)
Expand Down