Human datasets and computational analysis: Prdm16_pos antigen-presenting cells
Description
Prdm16-dependent antigen-presenting cells induce tolerance to gut antigens
This repository contains all code and computational analysis for the human datasets associated with the above paper. Items are organized as follows:
2024-03-13/contains human lymph node raw sequencing data (our primary data).Human_Node_Analysis/contains all code in R to process finalized datasets, ultimately generating Figures 5b-c, and ExtData Fig 10a.OUTPUT/contains final RDS files as output by each workflow, to use as input for each Analysis script. A reader may choose to skip the majority of the above workflow, and only download these files to immediately generate the Figures and/or further explore the data.
In general, a reader can follow the A_import scripts to create initial Seurat objects, B_integrate scripts to integrate separate sequencing runs, C_annotate scripts to assign finalized cell types, and D_analysis scripts to generate all plots. Each workflow ostensibly only requires establishing certain library dependencies, as well as filepaths for INPUT and OUTPUT directories.
Please note, several of the Integration scripts are particularly computationally intensive. These were successfully run by allocating 512 Gb of memory within our university’s supercomputing environment.
As emphasized within code annotations, this entire workflow is run with R 4.3.2 and Seurat 5.1.0— our computation makes use of that FindClusters implementation, a shared nearest neighbor modularity optimization based clustering algorithm (Seurat 5.2 is not compatible). We specify the Leiden algorithm at these steps, which differs from the default Louvain algorithm, which offers certain computational advantages (see PMID 30914743). While results with Louvain would likely reach the same biological conclusions, the final clusters and annotations we provide here are only useful with Leiden implementation. Finally, we are grateful to our institution’s supercomputer admins, who helped establish a virtual environment with R-Reticulate, which allows for calling the Leiden algorithm (implemented in Python). Readers will similarly need to establish this dependency based on their local environment.