11. Session info

The versions this tutorial was run with.

Python

import session_info2

session_info2.session_info(dependencies=True)

scanpy prints the same report via sc.logging.print_header().

Package

Version

Python

3.12.3

scanpy

1.12

anndata

0.12.19

numpy

2.4.6

scipy

1.18.0

pandas

2.2.2

scikit-learn

1.9.0

statsmodels

0.14.6

matplotlib

3.11.1

seaborn

0.13.2

adjustText

1.4.0

networkx

3.6.1

python-igraph

1.0.0

leidenalg

0.12.0

liana

1.8.1

decoupler

2.2.0

intratalkerpy

74fa5bb

pycrosstalker

a057b01

deltacorrpy

bb249bd

The last three are installed from git, so they are pinned by commit rather than by version:

pip install git+https://github.com/CostaLab/IntraTalkerpy.git@74fa5bb
pip install git+https://github.com/CostaLab/pyCrossTalkeR.git@a057b01
pip install git+https://github.com/vckraemer/deltacorrpy.git@bb249bd

deltacorrpy is pulled in by intratalkerpy; it provides the partial correlation kernel that project_perturbation_in_embedding (step 9) runs on.

R

The R half — the IntraTalker/CrossTalkeR integration of step 4 and the Sankey figures of step 5 — was run with:

sessionInfo()

Package

Version

R

4.6.0 (x86_64-pc-linux-gnu)

Seurat

5.5.0

SeuratObject

5.4.0

CrossTalkeR

2.0.0

LR2TF

0.1.0

IntraTalker

0.1.0

Matrix

1.7.5

igraph

2.3.1

ggraph

2.2.2

ggplot2

4.0.3

ggalluvial

0.12.6

dplyr

1.2.1

tidyr

1.3.2

scales

1.4.0

colorspace

2.1.2

colorBlindness

0.1.9

oce

1.8.3

Randomness

Everything that draws random numbers is seeded in the page where it runs:

Step

Seed

Fixes

Communication communities

seed=12

the Leiden partition and both spring layouts

KO simulations

np.random.seed(15037), reset inside the receptor loop

the neighbour subsampling of the embedding projection

The MSC trajectory comes ready to use with the object of step 8, so the diffusion map and the pseudotime are the same on every run. The R half is deterministic given its input CSVs.