The repository includes R functions for 18 differential state (DS) analysis methods (multisubjectDSanalysis_wrapper_code.R). The repository also includes benchmarking codes for reproducing all analyses in the "Benchmarking methods for detecting differential states between conditions from multi-subject single-cell RNA-seq data" paper. The functions have been tested using the following software versions: R v4.1.0 nebula v1.1.7 muscat v1.6.0 MAST v1.18.0 ROTS v1.20.0 Limma v3.48.0 edgeR v3.34.0 DEseq2 v1.32.0 Seurat v4.0.2 The code uses muscat (https://www.nature.com/articles/s41467-020-19894-4) to perform the pseudo-bulk aggregation. The sum aggregation approach is more preferable to the mean aggregation. The code for MAST_RE has been adapted from https://github.com/kdzimm/PseudoreplicationPaper Update (Oct 3, 2022): We added a useful script for visualizing expression values of pseudobulk-aggregated data as a beeswarm plot (viz_pseudobulk_as_beeswarm.R). The script will also generate the pseudo-bulk data from data stored in a Seurat object. Update (Oct 3, 2022): We added a useful script that shows an example on how to run pseudo-bulk DS analysis with ROTS (sum aggregation) for a Seurat object (example_pseudobulk_analysis.R). To cite our work: Sini Junttila, Johannes Smolander, Laura L Elo, Benchmarking methods for detecting differential states between conditions from multi-subject single-cell RNA-seq data, Briefings in Bioinformatics, Volume 23, Issue 5, September 2022, bbac286, https://doi.org/10.1093/bib/bbac286