The quality of the sequenced reads was assessed with FastQC and QoRTs. Unless stated otherwise, plots involving high- throughput sequencing data were created using R and ggplot2.
Raw reads were quality checked with FastQC v0.11.7 (http://www.bioinformatics.babraham.ac.uk/projects/fastqc/). Reads were aligned to the mouse reference genome (GRCm38.p6) using STAR v2.6.0c with default parameters. Gene abundances were calculated with featureCounts v1.6.2 using composite gene models from Gencode release vM17 . Principle component analysis was performed using the plotPCA function from DESeq2 v1.34.0 . Differentially expressed genes were determined with DESeq2 v1.34.0 using Wald tests (q < 0.05). Gene set enrichment analysis was performed using fgsea v1.20.0 with Hallmark, Reactome, and KEGG gene sets from the Broad Institute’s MSigDB collections , ; genes were ranked by the DESeq2 Wald statistic. Only pathways with an adjusted P value < 0.05 were considered enriched. Over-representation testing of gene ontology terms (GO) was performed using clusterProfiler v4.2.2 (q < 0.05) . Expression heatmaps were generated using variance-stabilized data, with the values centered and scaled by row. Bulk CD8 expression data from GEO GSE126974 was processed in the same way.
Reads were aligned to the mouse reference genome (GRCm38) with BWA-backtrack . Post alignment filtering was done with samtools v1.879 and Broad Institute’s Picard tools (http://broadinstitute.github.io/picard/) to remove unmapped reads, improperly paired reads, nonunique reads, and duplicates. To identify regions of open chromatin, peak calling was performed with MACS2 v2.2.7.180 . Only peaks with FDR values smaller than 0.01 were retained. A unified peak atlas was created from all samples, as well as from previously published chromatin accessibility data (GSE126974). An atlas of accessible peaks was generated with DiffBind v3.4.1181 , which was used for downstream analyses. Regions where the chromatin accessibility changed between different conditions were identified with DESeq2 v1.34.0, and only Benjamini–Hochberg corrected P values (FDR) < 0.05 were considered statistically significant.
For identifying TF motifs enriched in differentially accessible peaks, we utilized HOMER via marge v 0.0.4.9999 . HOMER was run separately on hyper- or hypo-accessible peaks with the flags -size given and -mask. Motifs enriched in hyper- or hypo-accessible peaks were determined by comparing the rank differences (based on P value).
Publicly available datasets were retrieved from GEO (GSE206325, GSE149652, GSE224528), along with corresponding metadata including cell identity. For GEO accessions GSE206325 and GSE149652, size-factor normalized log-counts were obtained via scran v1.30.0 and scater v1.30.1 using functions computeSumFactors() logNormCounts(), respectively. Dimensionality reduction was produced via scater::runUMAP. Expression plots were created with Seurat v 4.2.0 FeaturePlot(), and percentage of expressed genes were retrieved via dittoSeq v1.14.0 dittoDotPlot().
| Software | Version | Authors | URL |
|---|---|---|---|
| STAR | v2.6.0c | Dobin et al. | GitHub |
| featureCounts | v1.6.2 | Liao et al. | Subread |
| R | v4.1.0 | R Core Team | CRAN |
| DESeq2 | v1.34.0 | Love et al. | Bioconductor |
| ggplot2 | v3.4.1 | Wickham | CRAN |
| pheatmap | v1.0.12 | Kolde | CRAN |
| fgsea | v1.20.0 | Korotkevich et al. | Bioconductor |
| clusterProfiler | v4.2.2 | Guangchuang et al. | Bioconductor |
| BWA | v0.7.17 | Li et al. | Bio-BWA |
| samtools | v1.8 | Danecek et al. | HTSlib |
| Picard tools | v2.18.9 | Broad Institute | GitHub |
| MACS | v2.1.1 | Zhang et al. | GitHub |
| DiffBind | v3.4.11 | Stark and Brown | Bioconductor |
| ChIPseeker | v1.30.3 | Wang et al. | Bioconductor |
| deepTools | v3.1.0 | Ramírez et al. | Documentation |
| bigWigMerge | UCSC KentUtils | Kuhn et al. | GitHub |
| IGV | - | Robinson et al. | Documentation |
| profileplyr | v1.10.2 | Carroll and Barrows | Bioconductor |
| ComplexHeatmap | v2.15.1 | Gu | Bioconductor |
| HOMER | v4.10-0 | Heinz et al. | HOMER |
| marge | v0.0.4 | Amezquita | GitHub |
| scran | v1.30.0 | Lun et al. | Bioconductor |
| scater | v1.30.1 | McCarthy et al. | Bioconductor |
| Seurat | v4.2.0 | Hao et al. | GitHub |
| DittoSeq | v1.14.0 | Bunis et al. | Bioconductor |
