# Case study: Il1rn knockout bone marrow This tutorial reproduces the results of [*IntraTalker – Modelling Intracellular Signalling in Cellular Crosstalk*](https://www.biorxiv.org/content/10.64898/2026.07.17.739174v1) on the murine bone marrow scRNA-seq data of Villatoro et al. (Il1rn KO vs. WT). The tutorial walks the full pipeline: ligand–receptor inference, transcription factor activities, the receptome, communication communities, and *in silico* receptor knockout simulations that recover **Il1r1** as a driver of the Adipo-CAR → osteolineage transition in mesenchymal stromal cells. :::{admonition} This pipeline uses both Python and R :class: important IntraTalkerPy covers the transcription factor and perturbation modules. The **IntraTalker/CrossTalkeR integration** runs in R ([LR2TF](https://github.com/CostaLab/LR2TF) + [CrossTalkeR](https://github.com/CostaLab/CrossTalkeR)). The two sides never share objects in memory — they exchange **CSV / RDS files on disk**. Each crossing is documented in a *Handoff* box listing exactly which files pass, so you can run either half on its own as long as those files exist. ::: ```{toctree} :maxdepth: 1 :hidden: 01_setup ``` ## Workflow Overview | # | Step | Language | Produces | |---|------|----------|----------| | 1 | [Introduction and setup](01_setup.md) | Python + **R** | environment, input data | | 2 | [Ligand–receptor inference](02_ligand_receptor.md) | Python | `{KO,WT}_lr_ready.csv` | | 3 | [Regulon + TF activity](03_tf_activity.md) | Python | `mouse_dorothea_AB.csv`, TF activity scores | | 4 | [IntraTalker + CrossTalkeR2](04_intratalker_crosstalker.md) | **R** | `result_TF_object.RDS`, `LR_data_final.Rds`, edge table | | 5 | [Sankey figures](05_sankey_plots.md) | **R** | Plotting | | 6 | [Communication communities](06_communities.md) | Python | Plotting | | 7 | [Receptome construction](07_receptome.md) | Python | `MSCs_receptome.csv` | | 8 | [The MSC trajectory object](08_trajectory.md) | Python | `MSCs_diffmap_{WT,KO}_subset.h5ad` | | 9 | [Ridge models + KO simulations](09_perturbation.md) | Python | coefficient matrices, delta embeddings | | 10 | [Differential pseudotime + ranking](10_receptor_ranking.md) | Python | `receptor_scores.csv`, Plotting | After the setup, the analysis falls into two halves that can be run on their own. Steps 2–6 alternate between Python and R; steps 7–10 are all Python. Each language switch is called out on the page where it happens. The package versions every step was run with are listed under [Session info](11_session_info.md). ## Inter- and Intracellular Communication **Steps 2–6.** Infer the ligand–receptor interactions and the transcription factor activities, combine both into the intra- and intercellular network with IntraTalker and CrossTalkeR2, and read that network out as Sankey figures and communication communities. This half is self-contained: if the cell–cell communication analysis is all you are after, you can stop after [step 6](06_communities.md). ```{toctree} :maxdepth: 1 :hidden: 02_ligand_receptor 03_tf_activity 04_intratalker_crosstalker 05_sankey_plots 06_communities ``` ## Gene Expression Perturbations **Steps 7–10.** Build the receptome, learn receptor to target gene models on the MSC trajectory, knock the receptors out *in silico*, and rank them by how far they move the cells along pseudotime. Everything here runs in Python, but it starts from the network of the first half: the receptome is built from the intracellular networks and the differential ligand–receptor table exported from [step 4](04_intratalker_crosstalker.md). If you already have `MSCs_receptome.csv` and the MSC trajectory object from Zenodo, you can jump straight to [step 8](08_trajectory.md). ```{toctree} :maxdepth: 1 :hidden: 07_receptome 08_trajectory 09_perturbation 10_receptor_ranking 11_session_info ``` ## Citation If you use IntraTalkerPy, please cite: > Klöker V, Nagai JS, Feng Z, Mavrommatis L, Hermanns L, Moscoso JMJ, Ruiz M, Kuppe C, Costa IG. > *IntraTalker – Modelling Intracellular Signalling in Cellular Crosstalk.* bioRxiv (2026). > doi: [10.64898/2026.07.17.739174](https://www.biorxiv.org/content/10.64898/2026.07.17.739174v1) The data reanalysed in this case study is from [Villatoro et al. 2023](https://doi.org/10.1038/s41467-022-35700-9).