diff --git a/tutorial-registry/categories.yml b/tutorial-registry/categories.yml
index ffb7b99..e4258b4 100644
--- a/tutorial-registry/categories.yml
+++ b/tutorial-registry/categories.yml
@@ -16,6 +16,10 @@
description: |
Tutorials for analyzing single-cell B-cell and T-cell receptor sequencing data
+- Cell-cell communication:
+ description: |
+ Infer and analyse interactions between cells
+
- Surface proteins:
description: |
CITE-seq analyses
diff --git a/tutorial-registry/schema.json b/tutorial-registry/schema.json
index 60ae5d1..5bd9b14 100644
--- a/tutorial-registry/schema.json
+++ b/tutorial-registry/schema.json
@@ -31,6 +31,7 @@
"scRNA-seq",
"Spatial",
"Adaptive immune cell receptor",
+ "Cell-cell communication",
"Surface proteins",
"ATAC-seq",
"Multimodal",
diff --git a/tutorial-registry/tutorials/decoupler-single-cell-enrichment/icon.png b/tutorial-registry/tutorials/decoupler-single-cell-enrichment/icon.png
new file mode 100644
index 0000000..f9032ef
Binary files /dev/null and b/tutorial-registry/tutorials/decoupler-single-cell-enrichment/icon.png differ
diff --git a/tutorial-registry/tutorials/decoupler-single-cell-enrichment/meta.yaml b/tutorial-registry/tutorials/decoupler-single-cell-enrichment/meta.yaml
new file mode 100644
index 0000000..9c0bf99
--- /dev/null
+++ b/tutorial-registry/tutorials/decoupler-single-cell-enrichment/meta.yaml
@@ -0,0 +1,18 @@
+name: Single-cell enrichment analysis
+description: |
+ Score transcription factor and pathway activities per cell, then compare them across cell types.
+link: https://decoupler.readthedocs.io/en/latest/notebooks/scell/rna_sc.html
+image: icon.png
+primary_category: scRNA-seq
+order: 25
+modality:
+ - RNA
+tags:
+ - functional analysis
+ - visualization
+packages:
+ - decoupler
+ - scanpy
+ - anndata
+authors:
+ - PauBadiaM
diff --git a/tutorial-registry/tutorials/liana-ligand-receptor/icon.png b/tutorial-registry/tutorials/liana-ligand-receptor/icon.png
new file mode 100644
index 0000000..a203df0
Binary files /dev/null and b/tutorial-registry/tutorials/liana-ligand-receptor/icon.png differ
diff --git a/tutorial-registry/tutorials/liana-ligand-receptor/meta.yaml b/tutorial-registry/tutorials/liana-ligand-receptor/meta.yaml
new file mode 100644
index 0000000..cbd892b
--- /dev/null
+++ b/tutorial-registry/tutorials/liana-ligand-receptor/meta.yaml
@@ -0,0 +1,18 @@
+name: Cell-cell communication with LIANA+
+description: |
+ Infer ligand-receptor interactions between cell types and aggregate the methods into a consensus ranking.
+link: https://liana-py.readthedocs.io/en/latest/notebooks/basic_usage.html
+image: icon.png
+primary_category: Cell-cell communication
+order: 10
+modality:
+ - RNA
+tags:
+ - functional analysis
+ - visualization
+packages:
+ - liana
+ - scanpy
+ - anndata
+authors:
+ - dbdimitrov
diff --git a/tutorial-registry/tutorials/pertpy-crispr-perturbation-efficacy/icon.svg b/tutorial-registry/tutorials/pertpy-crispr-perturbation-efficacy/icon.svg
new file mode 100644
index 0000000..0ca3d53
--- /dev/null
+++ b/tutorial-registry/tutorials/pertpy-crispr-perturbation-efficacy/icon.svg
@@ -0,0 +1,4 @@
+
diff --git a/tutorial-registry/tutorials/pertpy-crispr-perturbation-efficacy/meta.yaml b/tutorial-registry/tutorials/pertpy-crispr-perturbation-efficacy/meta.yaml
new file mode 100644
index 0000000..18eab13
--- /dev/null
+++ b/tutorial-registry/tutorials/pertpy-crispr-perturbation-efficacy/meta.yaml
@@ -0,0 +1,19 @@
+name: Perturbation efficacy in pooled CRISPR screens
+description: |
+ Find which cells in a pooled CRISPR screen were effectively perturbed, with Mixscape and Mixscale.
+link: https://pertpy.readthedocs.io/en/latest/tutorials/notebooks/perturbation_efficacy.html
+image: icon.svg
+primary_category: scRNA-seq
+order: 110
+modality:
+ - RNA
+tags:
+ - perturbation
+ - quality control
+ - visualization
+packages:
+ - pertpy
+ - scanpy
+ - anndata
+authors:
+ - Zethson
diff --git a/tutorial-registry/tutorials/pertpy-perturbation-distances/icon.svg b/tutorial-registry/tutorials/pertpy-perturbation-distances/icon.svg
new file mode 100644
index 0000000..0ca3d53
--- /dev/null
+++ b/tutorial-registry/tutorials/pertpy-perturbation-distances/icon.svg
@@ -0,0 +1,4 @@
+
diff --git a/tutorial-registry/tutorials/pertpy-perturbation-distances/meta.yaml b/tutorial-registry/tutorials/pertpy-perturbation-distances/meta.yaml
new file mode 100644
index 0000000..3f3ed39
--- /dev/null
+++ b/tutorial-registry/tutorials/pertpy-perturbation-distances/meta.yaml
@@ -0,0 +1,20 @@
+name: Quantifying perturbation effects with distances
+description: |
+ Measure how strongly a perturbation shifts cells with point-cloud distance metrics and permutation tests.
+link: https://pertpy.readthedocs.io/en/latest/tutorials/notebooks/distances.html
+image: icon.svg
+primary_category: scRNA-seq
+order: 90
+modality:
+ - RNA
+tags:
+ - perturbation
+ - visualization
+packages:
+ - pertpy
+ - scanpy
+ - anndata
+authors:
+ - stefanpeidli
+ - Lilly-May
+ - Zethson
diff --git a/tutorial-registry/tutorials/pertpy-perturbation-space/icon.svg b/tutorial-registry/tutorials/pertpy-perturbation-space/icon.svg
new file mode 100644
index 0000000..0ca3d53
--- /dev/null
+++ b/tutorial-registry/tutorials/pertpy-perturbation-space/icon.svg
@@ -0,0 +1,4 @@
+
diff --git a/tutorial-registry/tutorials/pertpy-perturbation-space/meta.yaml b/tutorial-registry/tutorials/pertpy-perturbation-space/meta.yaml
new file mode 100644
index 0000000..faeb0a4
--- /dev/null
+++ b/tutorial-registry/tutorials/pertpy-perturbation-space/meta.yaml
@@ -0,0 +1,19 @@
+name: Perturbation spaces
+description: |
+ Summarize all cells of a perturbation into a single point, to compare whole perturbations rather than cells.
+link: https://pertpy.readthedocs.io/en/latest/tutorials/notebooks/perturbation_space.html
+image: icon.svg
+primary_category: scRNA-seq
+order: 100
+modality:
+ - RNA
+tags:
+ - perturbation
+ - visualization
+packages:
+ - pertpy
+ - scanpy
+ - anndata
+authors:
+ - Lilly-May
+ - Zethson
diff --git a/tutorial-registry/tutorials/scirpy-bcr/icon.svg b/tutorial-registry/tutorials/scirpy-bcr/icon.svg
new file mode 100644
index 0000000..12a5085
--- /dev/null
+++ b/tutorial-registry/tutorials/scirpy-bcr/icon.svg
@@ -0,0 +1,146 @@
+
+
+
+
diff --git a/tutorial-registry/tutorials/scirpy-bcr/meta.yaml b/tutorial-registry/tutorials/scirpy-bcr/meta.yaml
new file mode 100644
index 0000000..dea2de9
--- /dev/null
+++ b/tutorial-registry/tutorials/scirpy-bcr/meta.yaml
@@ -0,0 +1,20 @@
+name: B-cell receptor analysis with scirpy
+description: |
+ Quality control, clonotype definition, somatic hypermutation and isotype usage in 5k B cells.
+link: https://scirpy.scverse.org/en/latest/tutorials/tutorial_5k_bcr.html
+image: icon.svg
+primary_category: Adaptive immune cell receptor
+order: 20
+modality:
+ - AIRR
+ - RNA
+tags:
+ - quality control
+ - preprocessing
+ - visualization
+packages:
+ - scirpy
+ - mudata
+ - anndata
+authors:
+ - grst
diff --git a/tutorial-registry/tutorials/snapatac2-multiome/icon.svg b/tutorial-registry/tutorials/snapatac2-multiome/icon.svg
new file mode 100644
index 0000000..6bd807c
--- /dev/null
+++ b/tutorial-registry/tutorials/snapatac2-multiome/icon.svg
@@ -0,0 +1,40 @@
+
+
diff --git a/tutorial-registry/tutorials/snapatac2-multiome/meta.yaml b/tutorial-registry/tutorials/snapatac2-multiome/meta.yaml
new file mode 100644
index 0000000..113e6c4
--- /dev/null
+++ b/tutorial-registry/tutorials/snapatac2-multiome/meta.yaml
@@ -0,0 +1,20 @@
+name: Single-cell multiome analysis with SnapATAC2
+description: |
+ Analyze paired ATAC and gene expression from a 10x multiome experiment in a joint embedding.
+link: https://snapatac2.scverse.org/tutorials/modality.html
+image: icon.svg
+primary_category: Multimodal
+order: 10
+modality:
+ - ATAC
+ - RNA
+tags:
+ - multimodal
+ - data integration
+ - preprocessing
+packages:
+ - snapatac2
+ - scanpy
+ - anndata
+authors:
+ - kaizhang
diff --git a/tutorial-registry/tutorials/snapatac2-pbmc/icon.svg b/tutorial-registry/tutorials/snapatac2-pbmc/icon.svg
new file mode 100644
index 0000000..6bd807c
--- /dev/null
+++ b/tutorial-registry/tutorials/snapatac2-pbmc/icon.svg
@@ -0,0 +1,40 @@
+
+
diff --git a/tutorial-registry/tutorials/snapatac2-pbmc/meta.yaml b/tutorial-registry/tutorials/snapatac2-pbmc/meta.yaml
new file mode 100644
index 0000000..9d0ef6e
--- /dev/null
+++ b/tutorial-registry/tutorials/snapatac2-pbmc/meta.yaml
@@ -0,0 +1,19 @@
+name: Standard scATAC-seq pipeline with SnapATAC2
+description: |
+ From fragment file to annotated clusters on 5k PBMCs: quality control, dimension reduction, clustering.
+link: https://snapatac2.scverse.org/tutorials/pbmc.html
+image: icon.svg
+primary_category: ATAC-seq
+order: 5
+modality:
+ - ATAC
+tags:
+ - quality control
+ - preprocessing
+ - cell-type annotation
+ - visualization
+packages:
+ - snapatac2
+ - anndata
+authors:
+ - kaizhang
diff --git a/tutorial-registry/tutorials/spatialdata-intro/icon.svg b/tutorial-registry/tutorials/spatialdata-intro/icon.svg
new file mode 100644
index 0000000..728efc5
--- /dev/null
+++ b/tutorial-registry/tutorials/spatialdata-intro/icon.svg
@@ -0,0 +1,108 @@
+
+
diff --git a/tutorial-registry/tutorials/spatialdata-intro/meta.yaml b/tutorial-registry/tutorials/spatialdata-intro/meta.yaml
new file mode 100644
index 0000000..3cb2f62
--- /dev/null
+++ b/tutorial-registry/tutorials/spatialdata-intro/meta.yaml
@@ -0,0 +1,17 @@
+name: Introduction to SpatialData
+description: |
+ A tour of the SpatialData object: images, labels, points, shapes, tables and coordinate systems.
+link: https://spatialdata.scverse.org/en/stable/tutorials/notebooks/notebooks/examples/intro.html
+image: icon.svg
+primary_category: Data structures
+order: 60
+modality:
+ - spatial
+tags:
+ - data structures
+ - visualization
+packages:
+ - spatialdata
+ - anndata
+authors:
+ - LucaMarconato
diff --git a/tutorial-registry/tutorials/spatialdata-xenium/icon.svg b/tutorial-registry/tutorials/spatialdata-xenium/icon.svg
new file mode 100644
index 0000000..728efc5
--- /dev/null
+++ b/tutorial-registry/tutorials/spatialdata-xenium/icon.svg
@@ -0,0 +1,108 @@
+
+
diff --git a/tutorial-registry/tutorials/spatialdata-xenium/meta.yaml b/tutorial-registry/tutorials/spatialdata-xenium/meta.yaml
new file mode 100644
index 0000000..0ba3e9a
--- /dev/null
+++ b/tutorial-registry/tutorials/spatialdata-xenium/meta.yaml
@@ -0,0 +1,20 @@
+name: Reading Xenium data with SpatialData
+description: |
+ Read a 10x Genomics Xenium experiment and explore transcripts, cell boundaries and morphology images.
+link: https://spatialdata.scverse.org/en/stable/tutorials/notebooks/notebooks/examples/technology_xenium.html
+image: icon.svg
+primary_category: Spatial
+order: 5
+modality:
+ - spatial
+ - RNA
+tags:
+ - data structures
+ - preprocessing
+ - visualization
+packages:
+ - spatialdata
+ - spatialdata-io
+authors:
+ - LucaMarconato
+ - giovp