Integrated time-series analysis and high-content CRISPR screening delineate the dynamics of macrophage immune regulation
This repository contains the code and software specifications used to create the results and figures for the manuscript Integrated time-series analysis and high-content CRISPR screening delineate the dynamics of macrophage immune regulation by Traxler, Reichl et al. published in Cell Systems (2025).
How to cite?
Traxler, Reichl et al., Integrated time-series analysis and high-content CRISPR screening delineate the dynamics of macrophage immune regulation, Cell Systems (2025), https://doi.org/10.1016/j.cels.2025.101346
Website: http://macrophage-regulation.bocklab.org/
The README's structure follows the generated and analyzed datasets and thereby the main figures of the manuscript. Each dataset consists of multiple analyses, performed in order, and the used software, which are linked to the respective file within the repository.
- Code (
src/*) is provided as interactive notebooks, including the last outputs, and helper scripts written inRorPython- Notebooks are structured using
Markdown, start with a short description of the goal, input, output, followed by loading of libraries and helper functions, configurations and data loading steps, and subsequent code for the respective analyses - Input paths have to be adapted at the top of the notebooks as they might differ after data download from GEO
- CROP-seq analyses often contain configs at the start to decide analysis parameters or whcih data to use e.g., if only mixscape (perturbed) cells or all cells should be used for the analysis
- A permanent record of the code can be found on Zenodo 10.5281/zenodo.15262545
- Notebooks are structured using
- Data is deposited at GEO as SuperSeries GSE263763. Each dataset has it's own GEO SubSeries, linked in the respective section.
- Software (
envs/*.yaml) is documented as conda environment specification files, exported using env_export.sh, in three different flavors:fromHistory, reflects the installtion history (linked environment file)noBuild, includes the explicit version but not build informationall, contains all package information (name, version, build)
- Configurations (
config/*) contain parameters or paths used in workflows or for visualization purposes - Metadata (
metadata/*) are bulk RNA-seq and ATAC-seq annotations and metadata used in the processing, analysis and visualization - External resources used are linked at the respective analysis step.
- Results with stochastic elements that might not be reproducible with a seed are provided in
results_stochastic/
Related to Figures 1, 2, S1, S2, and Table S1. Raw & count data as GEO Series GSE263759.
- RNA-seq preprocessing with Snakemake workflow rna-seq-star-deseq2 (v1.2.0)
- Resources are downloaded automatically by the workflow according to the provided configuration file
- Genome browser track visualizations with our Snakemake workflow genome_tracks (v2.0.1)
- The 12 column BED file annotation of the
mm10genome used for the annotation of the tracks from UCSC was used. Select assembly:mm10, track:NCBI RefSeq, table:refFlatand output format:BED.
- The 12 column BED file annotation of the
- Quality control and processing using limma.yaml
- Unsupervised analysis using python.yaml
- Differential expression analysis using limma.yaml
- Time series analysis using python.yaml
- Enrichment analysis using enrichment_analysis.yaml
Related to Figures 1, 2, S1, S2, and Table S2. Raw & count data as GEO Series GSE263758.
- ATAC-seq preprocessing and unsupervised analysis with our Snakemake workflow atacseq_pipeline (v0.1.0)
- All required resources are provided on Zenodo
- Genome browser track visualizations with our Snakemake workflow genome_tracks (v2.0.1)
- The 12 column BED file annotation of the
mm10genome used for the annotation of the tracks from UCSC was used. Select assembly:mm10, track:NCBI RefSeq, table:refFlatand output format:BED.
- The 12 column BED file annotation of the
- Differential accessibility analysis using limma.yaml
- Time series analysis using python.yaml
- Enrichment analysis
- Preparation using atac_analysis.yaml
- Genomic region enrichment analysis with our Snakemake workflow enrichment_analysis
- Aggregation using enrichment_analysis.yaml
- Get, using limma.yaml, and quantify promoter regions, using atac_analysis.yaml, for integrative analysis (INT) of gene-promoter pairs
Related to Figures 3, S3-5, and Table S3.
- Processing, integration and differential analysis using limma.yaml
- Unsupervised analysis using python.yaml
- Correlation analysis using python.yaml
- Time series analysis using python.yaml
- Enrichment analysis using enrichment_analysis.yaml
- Transcription factor binding site motif enrichment analysis using rcistarget.yaml
- As database we used
mm10__refseq-r80__500bp_up_and_100bp_down_tss.mc9nr.featherfrom Aerts lab cistarget resources
- As database we used
Related to Figures 4, S6-8, Table S4, and S6. Raw & count data as GEO Series GSE263760.
- Processing and unsupervised analysis of all cells using Seurat.yaml
- For cell cycle scoring human-mouse homologs from Mouse Genome Informatics (MGI) were used
- Mixscape perturbation analysis of all cells simultaneously using Seurat.yaml
- Mixscape perturbation analysis of each condition separately using Seurat.yaml
- Processing and unsupervised analysis of only Mixscape selected (perturbed) cells using Seurat.yaml
- Unsupervised analysis of surface protein expression with our Snakemake workflow unsupervised_analysis (v0.2.0)
- Differential expression analysis within conditions between KOs and within KOs between conditions using Seurat.yaml
- Enrichment analysis using enrichment_analysis.yaml
Related to Figures 5, 6, S9-12, Table S5, and S6. Raw & count data as GEO Series GSE263761.
- Processing and unsupervised analysis of all cells using Seurat.yaml
- For cell cycle scoring human-mouse homologs from Mouse Genome Informatics (MGI) were used
- Mixscape perturbation analysis of all cells simultaneously using Seurat.yaml
- Mixscape perturbation analysis of each condition separately using Seurat.yaml
- Processing and unsupervised analysis of only Mixscape selected (perturbed) cells using Seurat.yaml
- Unsupervised analysis of surface protein expression with our Snakemake workflow unsupervised_analysis (v0.2.0)
- Differential expression analysis within conditions between KOs and within KOs between conditions using Seurat.yaml
- Enrichment analysis using enrichment_analysis.yaml
- Cross-prediction similarity graph
- Integrative analysis of Listeria bulk results with CROP-seq KO150 results using enrichment_analysis.yaml
Related to Figures 5 and S10.
- qPCR data
- qPCR standard curves for pimer efficiency determination
- CRISPR-based Ep300 knockout untreated plate 1, plate 2, and IFN-b pre-treated qPCR measurements
- Small molecule inhibtion of Ep300 untreated and IFN-b pre-treated qPCR measurements
- Processing and analysis of qPCR measurements using tidyverse.yaml
- Visualization of qPCR results using tidyverse.yaml
- Figure 1 - RNA-seq & ATAC-seq unsupervised and differential analyses using plot_env.yaml
- Figure 2 - RNA-seq & ATAC-seq time series and enrichment analyses using plot_env.yaml
- Figure 3 - Integrative analysis of RNA-seq and ATAC-seq using plot_env.yaml
- Figures 3, 4, and 5 volcano plots using enhancedVolcano.yaml
- Figure 4 - Proof-of-concept CROP-seq KO15 screen using Seurat.yaml
- Figure 5 - Upscaled CROP-seq KO150 screen using Seurat.yaml
- Figure 6 part 1/2 - Integrative analysis across time points using Seurat.yaml
- Figure 6 part 2/2 - Integrative analysis with Listeria time series using plot_env.yaml
- Supplementary Figures for RNA-seq & ATAC-seq time series using plot_env.yaml
- Supplementary Figures for RNA-seq & ATAC-seq time series volcano plots using enhancedVolcano.yaml
- Supplementary Figures for Integrative analysis of RNA-seq and ATAC-seq using plot_env.yaml
- Supplementary Figures for Proof-of-concept CROP-seq KO15 screen using Seurat.yaml
- Supplementary Figures for Proof-of-concept CROP-seq KO15 screen volcano plots using enhancedVolcano.yaml
- Supplementary Figures for Proof-of-concept CROP-seq KO15 screen Euler diagrams using plot_env.yaml
- Supplementary Figures for Upscaled CROP-seq KO150 screen using Seurat.yaml
- Supplementary Figures for Upscaled CROP-seq KO150 screen volcano plots using enhancedVolcano.yaml
- Supplementary Figures for Upscaled CROP-seq KO150 screen Euler diagrams using plot_env.yaml
- Tables S1-5 using python.yaml
We generalized and expanded most of these analyses to Snakemake workflows in an effort to augment multi-omics research by streamlining bioinformatics analyses into modules and recipes. For more details and instructions check out the project's repository here: MrBiomics.