Last updated: 2026-01-27

Checks: 6 1

Knit directory: paed-airway-allTissues/

This reproducible R Markdown analysis was created with workflowr (version 1.7.1). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.


The R Markdown is untracked by Git. To know which version of the R Markdown file created these results, you’ll want to first commit it to the Git repo. If you’re still working on the analysis, you can ignore this warning. When you’re finished, you can run wflow_publish to commit the R Markdown file and build the HTML.

Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it’s best to always run the code in an empty environment.

The command set.seed(20230811) was run prior to running the code in the R Markdown file. Setting a seed ensures that any results that rely on randomness, e.g. subsampling or permutations, are reproducible.

Great job! Recording the operating system, R version, and package versions is critical for reproducibility.

Nice! There were no cached chunks for this analysis, so you can be confident that you successfully produced the results during this run.

Great job! Using relative paths to the files within your workflowr project makes it easier to run your code on other machines.

Great! You are using Git for version control. Tracking code development and connecting the code version to the results is critical for reproducibility.

The results in this page were generated with repository version 378760b. See the Past versions tab to see a history of the changes made to the R Markdown and HTML files.

Note that you need to be careful to ensure that all relevant files for the analysis have been committed to Git prior to generating the results (you can use wflow_publish or wflow_git_commit). workflowr only checks the R Markdown file, but you know if there are other scripts or data files that it depends on. Below is the status of the Git repository when the results were generated:


Ignored files:
    Ignored:    .DS_Store
    Ignored:    .RData
    Ignored:    .Rhistory
    Ignored:    .Rproj.user/
    Ignored:    analysis/.DS_Store
    Ignored:    analysis/naiveB_top10_markers_whitebg.png
    Ignored:    data/.DS_Store
    Ignored:    data/RDS/
    Ignored:    figure/.DS_Store
    Ignored:    output/.DS_Store
    Ignored:    output/CAM_results/
    Ignored:    output/CSV/.DS_Store
    Ignored:    output/CSV_v2/.DS_Store
    Ignored:    output/CSV_v2/Adenoids/.DS_Store
    Ignored:    output/CSV_v2/BAL/.DS_Store
    Ignored:    output/CSV_v2/Bronchial_brushings/.DS_Store
    Ignored:    output/CSV_v2/Nasal_brushings/.DS_Store
    Ignored:    output/CSV_v2/Tonsils/.DS_Store
    Ignored:    output/DGE/.DS_Store
    Ignored:    output/DGE/RUVseq_TonsilAtlas/.DS_Store
    Ignored:    output/DGE/RUVseq_TonsilAtlas_k1/
    Ignored:    output/DGE/RUVseq_earlyAIR_Tonsils/.DS_Store
    Ignored:    output/DGE/Tonsils/RUV_Tonsils_Double negative T/
    Ignored:    output/RDS/
    Ignored:    output/plots/

Untracked files:
    Untracked:  All_metadata_combinedplots.Rhistory
    Untracked:  analysis/03_Batch_Integration.Rmd
    Untracked:  analysis/Age_proportions.Rmd
    Untracked:  analysis/Age_proportions_AllBatches.Rmd
    Untracked:  analysis/All_Batches_QCExploratory_v2.Rmd
    Untracked:  analysis/All_Umaps_and_marker_plots.Rmd
    Untracked:  analysis/All_metadata.Rmd
    Untracked:  analysis/Annotation_BAL.Rmd
    Untracked:  analysis/Annotation_Bronchial_brushings.Rmd
    Untracked:  analysis/Annotation_Nasal_brushings.Rmd
    Untracked:  analysis/BatchCorrection_Adenoids.Rmd
    Untracked:  analysis/BatchCorrection_Nasal_brushings.Rmd
    Untracked:  analysis/BatchCorrection_Tonsils.Rmd
    Untracked:  analysis/Batch_Integration_&_Downstream_analysis.Rmd
    Untracked:  analysis/Batch_correction_&_Downstream.Rmd
    Untracked:  analysis/Cell_cycle_regression.Rmd
    Untracked:  analysis/Clustering_Tonsils_v2.Rmd
    Untracked:  analysis/Cross-tissue_analysis.Rmd
    Untracked:  analysis/DGE_RUVSeq_Adenoids.Rmd
    Untracked:  analysis/DGE_RUVSeq_Bronchial_brushings.Rmd
    Untracked:  analysis/DGE_RUVSeq_Nasal_brushings.Rmd
    Untracked:  analysis/DGE_earlyAIR_tAtlas_Naïve_Bcells_Adenoids.Rmd
    Untracked:  analysis/DGE_earlyAIR_tAtlas_Naïve_Bcells_activated.Rmd
    Untracked:  analysis/DGE_earlyAIR_tAtlas_Plasma_Bcells.Rmd
    Untracked:  analysis/DGE_earlyAIR_vs_TonsilAtlas.Rmd
    Untracked:  analysis/Explore_census.Rmd
    Untracked:  analysis/Lineage_subclustering_Bcells.Rmd
    Untracked:  analysis/Lineage_subclustering_Myeloid_cells.Rmd
    Untracked:  analysis/Lineage_subclustering_Tcells.Rmd
    Untracked:  analysis/Lineages_subclustering.Rmd
    Untracked:  analysis/Master_metadata.Rmd
    Untracked:  analysis/Pediatric_Vs_Adult_Atlases.Rmd
    Untracked:  analysis/Preprocessing_Batch1_Nasal_brushings.Rmd
    Untracked:  analysis/Preprocessing_Batch2_Tonsils.Rmd
    Untracked:  analysis/Preprocessing_Batch3_Adenoids.Rmd
    Untracked:  analysis/Preprocessing_Batch4_Bronchial_brushings.Rmd
    Untracked:  analysis/Preprocessing_Batch5_Nasal_brushings.Rmd
    Untracked:  analysis/Preprocessing_Batch6_BAL.Rmd
    Untracked:  analysis/Preprocessing_Batch7_Bronchial_brushings.Rmd
    Untracked:  analysis/Preprocessing_Batch8_Adenoids.Rmd
    Untracked:  analysis/Preprocessing_Batch9_Tonsils.Rmd
    Untracked:  analysis/TonsilsVsAdenoids.Rmd
    Untracked:  analysis/cell_cycle_regression.R
    Untracked:  analysis/testing_age_all.Rmd
    Untracked:  code/DGE_utils.R
    Untracked:  code/pseudobulk_analysis.R
    Untracked:  data/Cell_labels_Gunjan_v2/
    Untracked:  data/Cell_labels_Mel/
    Untracked:  data/Cell_labels_Mel_v2/
    Untracked:  data/Cell_labels_Mel_v3/
    Untracked:  data/Cell_labels_modified_Gunjan/
    Untracked:  data/Gene_sets/
    Untracked:  data/Hs.c2.cp.reactome.v7.1.entrez.rds
    Untracked:  data/Raw_feature_bc_matrix/
    Untracked:  data/cell_labels_Mel_v4_Dec2024/
    Untracked:  data/celltypes_Mel_GD_v3.xlsx
    Untracked:  data/celltypes_Mel_GD_v4_no_dups.xlsx
    Untracked:  data/celltypes_Mel_modified.xlsx
    Untracked:  data/celltypes_Mel_v2.csv
    Untracked:  data/celltypes_Mel_v2.xlsx
    Untracked:  data/celltypes_Mel_v2_MN.xlsx
    Untracked:  data/celltypes_for_mel_MN.xlsx
    Untracked:  data/col_palette.xlsx
    Untracked:  data/earlyAIR_sample_sheets_combined.xlsx
    Untracked:  figure/DGE_Tonsils_CD8.Rmd/
    Untracked:  metadata_export.rds
    Untracked:  metadata_export1.rds
    Untracked:  naiveB_top10_markers.png
    Untracked:  naiveB_top10_markers_whitebg.png
    Untracked:  output/CSV/All_tissues.propeller.xlsx
    Untracked:  output/CSV/Bronchial_brushings/
    Untracked:  output/CSV/Bronchial_brushings_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/
    Untracked:  output/CSV/G000231_Neeland_Adenoids.propeller.xlsx
    Untracked:  output/CSV/G000231_Neeland_Bronchial_brushings.propeller.xlsx
    Untracked:  output/CSV/G000231_Neeland_Nasal_brushings.propeller.xlsx
    Untracked:  output/CSV/G000231_Neeland_Tonsils.propeller.xlsx
    Untracked:  output/CSV/Nasal_brushings/
    Untracked:  output/CSV_v3/B_cell_lineage/
    Untracked:  output/DGE/Adenoids/
    Untracked:  output/DGE/Adenoids_B_memory/
    Untracked:  output/DGE/Adenoids_CD4/
    Untracked:  output/DGE/Adenoids_CD8/
    Untracked:  output/DGE/Adenoids_Cycling_GCB/
    Untracked:  output/DGE/Adenoids_IFN/
    Untracked:  output/DGE/Bronchial_brushings/
    Untracked:  output/DGE/DGE_Age_summary_BAL.xlsx
    Untracked:  output/DGE/Nasal_brushings/
    Untracked:  output/DGE/RUV/
    Untracked:  output/DGE/RUVseq_earlyAIR_Adenoids/
    Untracked:  output/DGE/RUVseq_earlyAIR_Bronchial_brushings/
    Untracked:  output/DGE/RUVseq_earlyAIR_Nasal_brushings/
    Untracked:  output/DGE/TonsilAtlas/
    Untracked:  output/DGE/Tonsils/DGE_Age_summary_Tonsils.xlsx
    Untracked:  output/DGE/Tonsils/RUVTonsils_Memory B cells/
    Untracked:  output/DGE/Tonsils/RUV_Tonsils_Memory B cells/
    Untracked:  output/DGE/Tonsils/Tonsils_Naïve B cells/
    Untracked:  output/DGE/Tonsils_CD4/
    Untracked:  output/DGE/Tonsils_CD8/
    Untracked:  output/DGE/Tonsils_IFN/
    Untracked:  paed_sub_L1_cells.rds

Unstaged changes:
    Deleted:    02_QC_exploratoryPlots.Rmd
    Deleted:    02_QC_exploratoryPlots.html
    Modified:   analysis/00_AllBatches_overview.Rmd
    Modified:   analysis/01_QC_emptyDrops.Rmd
    Modified:   analysis/02_QC_exploratoryPlots.Rmd
    Modified:   analysis/Adenoids.Rmd
    Modified:   analysis/Adenoids_v2.Rmd
    Modified:   analysis/Age_modeling.Rmd
    Modified:   analysis/Age_modelling_Adenoids.Rmd
    Modified:   analysis/Age_modelling_Tonsils.Rmd
    Modified:   analysis/AllBatches_QCExploratory.Rmd
    Modified:   analysis/BAL.Rmd
    Modified:   analysis/BAL_v2.Rmd
    Modified:   analysis/Bronchial_brushings.Rmd
    Modified:   analysis/Bronchial_brushings_v2.Rmd
    Modified:   analysis/DGE_TonsilAtlas.Rmd
    Modified:   analysis/DGE_Tonsils_CD8.Rmd
    Modified:   analysis/DGE_analysis_George.Rmd
    Modified:   analysis/DGE_earlyAIR_tAtlas_CD4_TCM.Rmd
    Modified:   analysis/DGE_earlyAIR_tAtlas_CD4_TFH.Rmd
    Modified:   analysis/DGE_earlyAIR_tAtlas_CD4_TN.Rmd
    Modified:   analysis/DGE_earlyAIR_tAtlas_CD8_TF.Rmd
    Modified:   analysis/DGE_earlyAIR_tAtlas_CD8_TN.Rmd
    Modified:   analysis/DGE_earlyAIR_tAtlas_DZtoLZ_GCB.Rmd
    Modified:   analysis/DGE_earlyAIR_tAtlas_Memory_Bcells.Rmd
    Modified:   analysis/DGE_earlyAIR_tAtlas_Naïve_Bcells.Rmd
    Modified:   analysis/Nasal_brushings.Rmd
    Modified:   analysis/Nasal_brushings_v2.Rmd
    Modified:   analysis/Subclustering_Adenoids.Rmd
    Modified:   analysis/Subclustering_BAL.Rmd
    Modified:   analysis/Subclustering_Bronchial_brushings.Rmd
    Modified:   analysis/Subclustering_Nasal_brushings.Rmd
    Modified:   analysis/Subclustering_Tonsils.Rmd
    Modified:   analysis/Tonsils.Rmd
    Modified:   analysis/Tonsils_v2.Rmd
    Modified:   analysis/index.Rmd
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/REACTOME-cluster-limma-c0.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/REACTOME-cluster-limma-c1.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/REACTOME-cluster-limma-c10.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/REACTOME-cluster-limma-c11.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/REACTOME-cluster-limma-c12.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/REACTOME-cluster-limma-c13.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/REACTOME-cluster-limma-c14.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/REACTOME-cluster-limma-c15.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/REACTOME-cluster-limma-c16.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/REACTOME-cluster-limma-c17.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/REACTOME-cluster-limma-c2.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/REACTOME-cluster-limma-c3.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/REACTOME-cluster-limma-c4.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/REACTOME-cluster-limma-c5.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/REACTOME-cluster-limma-c6.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/REACTOME-cluster-limma-c7.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/REACTOME-cluster-limma-c8.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/REACTOME-cluster-limma-c9.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/up-cluster-limma-c0.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/up-cluster-limma-c1.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/up-cluster-limma-c10.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/up-cluster-limma-c11.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/up-cluster-limma-c12.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/up-cluster-limma-c13.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/up-cluster-limma-c14.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/up-cluster-limma-c15.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/up-cluster-limma-c16.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/up-cluster-limma-c17.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/up-cluster-limma-c2.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/up-cluster-limma-c3.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/up-cluster-limma-c4.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/up-cluster-limma-c5.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/up-cluster-limma-c6.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/up-cluster-limma-c7.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/up-cluster-limma-c8.csv
    Modified:   output/CSV/BAL_Marker_gene_clusters.limmaTrendRNA_snn_res.0.4/up-cluster-limma-c9.csv
    Modified:   output/CSV_v2/G000231_Neeland_Nasal_brushings.propeller.xlsx
    Modified:   output/DGE/RUVseq_TonsilAtlas/DGE_RUVSeq_Age_TonsilAtlas.xlsx
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/CD4 TCM/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/CD4 TCM/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/CD4 TCM/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/CD4 TFH/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/CD4 TFH/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/CD4 TFH/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/CD4 TN/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/CD4 TN/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/CD4 TN/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/CD4 Treg-eff/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/CD4 Treg-eff/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/CD4 Treg-eff/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/CD4 Treg/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/CD4 Treg/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/CD4 Treg/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/CD4 effector/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/CD4 effector/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/CD4 effector/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/CD8 TF/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/CD8 TF/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/CD8 TF/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/CD8 TN/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/CD8 TN/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/CD8 TN/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Cycling GCB/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Cycling GCB/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Cycling GCB/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/DGE_RUVSeq_Age_Tonsils.xlsx
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/DGE_RUVSeq_Tonsils_all_results.rds
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/DZ G2Mphase/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/DZ G2Mphase/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/DZ G2Mphase/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/DZ GCB/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/DZ GCB/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/DZ GCB/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/DZ early  Sphase/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/DZ early  Sphase/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/DZ early  Sphase/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/DZ late Sphase/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/DZ late Sphase/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/DZ late Sphase/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/DZtoLZ GCB transition/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/DZtoLZ GCB transition/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/DZtoLZ GCB transition/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Double negative T/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Double negative T/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Double negative T/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Early GC-committed NBC/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Early GC-committed NBC/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Early GC-committed NBC/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Early MBC/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Early MBC/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Early MBC/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Early PC precursor/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Early PC precursor/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Early PC precursor/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Follicular dendritic cells/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Follicular dendritic cells/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Follicular dendritic cells/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/GC-commited metabolic activation/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/GC-commited metabolic activation/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/GC-commited metabolic activation/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Gamma delta T/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Gamma delta T/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Gamma delta T/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Memory B cells/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Memory B cells/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Memory B cells/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Monocytes_macrophages/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Monocytes_macrophages/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Monocytes_macrophages/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Naïve B cell-IFN/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Naïve B cell-IFN/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Naïve B cell-IFN/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Naïve B cells activated/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Naïve B cells activated/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Naïve B cells activated/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Naïve B cells/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Naïve B cells/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Naïve B cells/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Plasma B cells/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Plasma B cells/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Plasma B cells/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Pre-BCRi II/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Pre-BCRi II/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/Pre-BCRi II/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/T-IFN/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/T-IFN/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/T-IFN/up_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/TFH-LZ-GC/all_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/TFH-LZ-GC/down_res.csv
    Modified:   output/DGE/RUVseq_earlyAIR_Tonsils/TFH-LZ-GC/up_res.csv
    Deleted:    test

Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.


There are no past versions. Publish this analysis with wflow_publish() to start tracking its development.


Load libraries

suppressPackageStartupMessages({
  library(BiocStyle)
  library(tidyverse)
  library(here)
  library(dplyr)
  library(Seurat)
  library(clustree)
  library(paletteer)
  library(viridis)
  library(ggforce)
  library(ggridges)
  library(kableExtra)
  library(RColorBrewer)
  library(data.table)
  library(dplyr)
  library(cowplot)
  library(ggplot2)
  library(paletteer)
  library(patchwork)
  library(harmony)
  library(BiocParallel)
  library(circlize)
  library(presto)
  library(gtools)
})

T and NK cells

paed_sub <- readRDS(here("output/RDS/Lineages_RDS_combined/SEU_T_NK_Cells.rds"))

if (!"umap.sub" %in% names(paed_sub@reductions)) {
  
  paed_sub <- paed_sub |>
    FindVariableFeatures() |>
    ScaleData() |>
    RunPCA()
  
  gc()
  
paed_sub[["RNA"]]
paed_sub[["RNA"]] <- JoinLayers(paed_sub[["RNA"]])
gc()

  paed_sub <- RunUMAP(paed_sub, dims = 1:30, reduction = "pca",
                      reduction.name = "umap.sub")
  
  paed_sub <- paed_sub |>
    FindNeighbors(dims = 1:30, reduction = "pca") |>
    FindClusters(resolution = 0.5)
  gc()
  
  saveRDS(paed_sub, here("output/RDS/Lineages_RDS_combined/SEU_T_NK_Cells.rds")) 
  } else {
  message("skipping processing")
}
skipping processing
paed_sub$tissue <- factor(
  paed_sub$tissue,
  levels = c("Tonsils", "Adenoids", "Nasal_brushings",
             "Bronchial_brushings", "BAL")
)

Previous labels

Excluding counts less than 100 to avoid too many labels in the plot

#sort(table(paed_sub$cell_labels_v2), decreasing = T)

k <- names(which(table(paed_sub$cell_labels_v2) > 100))
paed_sub$cell_labels_v22 <- ifelse(
    as.character(paed_sub$cell_labels_v2) %in% k,
    as.character(paed_sub$cell_labels_v2),
    NA
)

DimPlot(
    paed_sub,
    group.by = "cell_labels_v22",
    reduction = "umap.sub",
    label = TRUE,
    repel = TRUE,
    label.size = 4.5,
    shuffle = TRUE, raster = F)

#table( paed_sub$cell_labels_v2,paed_sub$RNA_snn_res.0.5)
opt_res <- "RNA_snn_res.0.5"  
n <- nlevels(paed_sub$RNA_snn_res.0.5)
paed_sub$RNA_snn_res.0.5 <- factor(paed_sub$RNA_snn_res.0.5, levels = seq(0,n-1))
paed_sub$seurat_clusters <- NULL
paed_sub$cluster <- paed_sub$RNA_snn_res.0.5
Idents(paed_sub) <- paed_sub$cluster
DimPlot(paed_sub, reduction = "umap.sub", raster =F, repel=T, label = T)

Checking expression of known markers for CD4 T cells, CD8 T cells, NK cells, ILC, Unconventional T cells and Cycling T cells

FeaturePlot(paed_sub, 
            features = c("CD4", "CD8A", "NCAM1","KLRC1", "KIT", "TRDC", "MKI67"),
            ncol = 3,
            reduction = "umap.sub",
            raster =F, 
          # split.by = "tissue",
            repel=T, 
            label = T)

paed_sub <- FindSubCluster(paed_sub, cluster = 10, graph.name = "RNA_snn", resolution = 0.3, subcluster.name = "T_sub")
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck

Number of nodes: 5818
Number of edges: 163516

Running Louvain algorithm...
Maximum modularity in 10 random starts: 0.8544
Number of communities: 9
Elapsed time: 0 seconds
3 singletons identified. 6 final clusters.
Idents(paed_sub) <- paed_sub$T_sub
paed_sub <- FindSubCluster(paed_sub, cluster = 11, graph.name = "RNA_snn", resolution = 0.1, subcluster.name = "T_sub")
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck

Number of nodes: 4972
Number of edges: 125405

Running Louvain algorithm...
Maximum modularity in 10 random starts: 0.9281
Number of communities: 3
Elapsed time: 0 seconds
Idents(paed_sub) <- paed_sub$T_sub
paed_sub <- FindSubCluster(paed_sub, cluster = 12, graph.name = "RNA_snn", resolution = 0.2, subcluster.name = "T_sub")
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck

Number of nodes: 4447
Number of edges: 146996

Running Louvain algorithm...
Maximum modularity in 10 random starts: 0.8999
Number of communities: 4
Elapsed time: 0 seconds
Idents(paed_sub) <- paed_sub$T_sub
paed_sub <- FindSubCluster(paed_sub, cluster = 15, graph.name = "RNA_snn", resolution = 0.1, subcluster.name = "T_sub")
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck

Number of nodes: 1721
Number of edges: 48338

Running Louvain algorithm...
Maximum modularity in 10 random starts: 0.9029
Number of communities: 2
Elapsed time: 0 seconds
Idents(paed_sub) <- paed_sub$T_sub
#levels(Idents(paed_sub)) <- mixedsort(levels(Idents(paed_sub)))
#levels(paed_sub$T_sub) <- mixedsort(levels(paed_sub$T_sub))
#DimPlot(paed_sub, reduction = "umap.sub", raster =F, repel=T, label = T)

Adding CellTypist info

files  <- c(
  paeds  = here("../EarlyAir_paper/output/CellTypist_results/cellTtypist_T_NK_Paed_Covid19.csv"),
  immune = here("../EarlyAir_paper/output/CellTypist_results/cellTtypist_T_NK_Immune_low.csv"),
  lung_airway   = here("../EarlyAir_paper/output/CellTypist_results/cellTtypist_T_NK_Lung_Airway.csv"),
   lung_atlas   = here("../EarlyAir_paper/output/CellTypist_results/cellTtypist_T_NK_Lung_atlas.csv"),
  tonsil = here("../EarlyAir_paper/output/CellTypist_results/cellTtypist_T_NK_Human_Tonsil.csv")
)

for (nm in names(files)) {
  df <- read.csv(files[nm])
  paed_sub[[paste0("celltypist_", nm)]] <- df$predicted_labels
}
plot_celltype_heatmap <- function(
  seu,
  cluster_col = "T_sub",
  celltype_col,
  min_n = 100,
  title,
  scale = "row",
  fontsize = 10
) {
  seu@meta.data %>%
    dplyr::count(.data[[cluster_col]], .data[[celltype_col]]) %>%
    dplyr::filter(n >= min_n) %>%
    tidyr::pivot_wider(
      names_from = .data[[celltype_col]],
      values_from = n,
      values_fill = 0
    ) %>%
    as.data.frame() %>%
    tibble::column_to_rownames(cluster_col) %>%
    t() %>%
    pheatmap::pheatmap(
      scale = scale,
      main = title,
      fontsize = fontsize
    )
}

plot_celltype_heatmap(paed_sub,celltype_col = "celltypist_paeds",title = "CellTypist Predictions (Paed Covid Study) by Cluster")

plot_celltype_heatmap(paed_sub,celltype_col = "celltypist_immune",title = "CellTypist Predictions (Immune Low) by Cluster")

plot_celltype_heatmap(paed_sub,celltype_col = "celltypist_lung_airway",title = "CellTypist Predictions (Lung Atlas) by Cluster")

plot_celltype_heatmap( paed_sub,celltype_col = "celltypist_lung_atlas",title = "CellTypist Predictions (Lung Atlas) by Cluster")

plot_celltype_heatmap(paed_sub,celltype_col = "predicted.celltype.l2", title = "Azimuth Predictions (Tonsil Atlas) by Cluster")

plot_ct <- function(obj, col) {
  k <- names(which(table(obj[[col]][,1]) > 150))
  DimPlot(
    obj,
    group.by = col,
    reduction = "umap.sub",
    cells = colnames(obj)[obj[[col]][,1] %in% k],
    label = TRUE, repel = TRUE, label.size = 2.5,
    shuffle = TRUE, raster = FALSE
  )
}

plot_ct(paed_sub, "celltypist_paeds") + ggtitle("Paed Covid Study")

plot_ct(paed_sub, "celltypist_immune") + ggtitle("Immune low dataset")

plot_ct(paed_sub, "celltypist_lung_airway") + ggtitle("Lung Airway Study")

plot_ct(paed_sub, "celltypist_lung_atlas") + ggtitle("Lung Atlas")

plot_ct(paed_sub, "celltypist_tonsil") + ggtitle("Tonsil Atlas")

plot_ct_bar <- function(obj, col) {
  k <- names(which(table(obj[[col]][,1]) > 100))
  
  df <- obj@meta.data %>%
    filter(get(col) %in% k) %>%   
    count(cluster, !!sym(col)) %>%
    group_by(cluster) %>%
    mutate(frac = n / sum(n)) %>%
    ungroup()
  
  ggplot(df, aes(x = cluster, y = frac, fill = !!sym(col))) +
    geom_col(position = "stack") +
    scale_y_continuous(labels = scales::percent) +
    labs(x = "Cluster", y = "Fraction of cells", fill = col) +
    theme_minimal() +
    theme(axis.text.x = element_text(angle = 45, hjust = 1))
}

plot_ct_bar(paed_sub, "celltypist_paeds") + ggtitle("Paed Covid Study")

plot_ct_bar(paed_sub, "celltypist_immune") + ggtitle("Immune low dataset")

plot_ct_bar(paed_sub, "celltypist_lung_airway") + ggtitle("Lung Airway study")

plot_ct_bar(paed_sub, "celltypist_lung_atlas") + ggtitle("Lung Atlas")

plot_ct_bar(paed_sub, "celltypist_tonsil") + ggtitle("Tonsil Atlas")

Based on the prominent markers above, we subdivide the T cells into CD4 T cells, CD8 T cells, NK cells, ILC cells and Unconventional t cells, cycling T cells and Double negative T cells)

new_levels <- c(
  "0" = "CD4 T",
  "1" = "CD4 T",
  "2" = "CD4 T",
  "3" = "CD8 T",
  "4" = "CD4 T",
  "5" = "CD8 T",
  "6" = "CD8 T",
#  "6_1" = "CD8 T",
#  "6_2" = "CD4 T",
  "7" = "CD8 T",
  "8" = "CD4 T",
  "9" = "Gamma-delta T",
  "10_0" = "CD4 T",
 "10_1" = "CD4 T",
"10_2" = "CD4 T",
"10_3" = "CD4 T",
"10_4" = "CD8 T",
"10_5" = "CD4 T",
  "11_0" = "CD4 T",
  "11_1" = "CD8 T",
  "11_2" = "CD4 T",
  "12_0" = "NK cells",
  "12_1" = "MAIT cells",
  "12_2" = "NK cells",
  "12_3" = "NK cells",
  "13" = "CD4 T",
  "14" = "Double Negative T",
  "15_0" = "CD4 T",
  "15_1" = "CD8 T",
  "16" = "ILC",
  "17" = "CD4 T",
  "18" = "Cycling T",
  "19" = "Pre T"
)

paed_sub <- RenameIdents(paed_sub, new_levels)
paed_sub$cell_labels <- NULL

Level 1 labels

Idents(paed_sub) <- factor(
  Idents(paed_sub),
  levels = c(
    "Pre T","Cycling T","CD4 T","CD8 T","Gamma-delta T",
    "Double Negative T","MAIT cells","NK cells","ILC"
  )
)

paed_sub$cell_labels_l1 <- Idents(paed_sub)
DimPlot(
  paed_sub,
  reduction = "umap.sub",
  label = TRUE,
  repel = TRUE,
  label.size = 2.5, raster = F
)

Cd4 T cells

cd4_t <-  subset(paed_sub, idents = "CD4 T")
keep_cells <- paed_sub$cell_labels_l1 %in% "CD4 T"
cd4_t@assays$RNA@cells@.Data <- paed_sub@assays$RNA@cells@.Data[keep_cells, ]
cd4_t
An object of class Seurat 
18076 features across 89930 samples within 1 assay 
Active assay: RNA (18076 features, 2000 variable features)
 3 layers present: data, counts, scale.data
 4 dimensional reductions calculated: pca, umap.unintegrated, umap.l1, umap.sub
out <- here("output/RDS/Lineages_RDS_combined/SEU_CD4T_Cells.rds")

if (!file.exists(out)) {
  cd4_t <- cd4_t %>%
  FindVariableFeatures() %>%
  ScaleData() %>%
  RunPCA() 
  
  gc() 
  cd4_t <- RunUMAP(cd4_t, dims = 1:30, reduction = "pca", reduction.name = "umap.cd4T")

  meta_data_columns <- colnames(cd4_t@meta.data)
  columns_to_remove <- grep("^RNA_snn_res", meta_data_columns, value = TRUE)
  cd4_t@meta.data <- cd4_t@meta.data[, !(colnames(cd4_t@meta.data) %in% columns_to_remove)]
  resolutions <- seq(0.1, 0.5, by = 0.1)
  cd4_t <- FindNeighbors(cd4_t, dims = 1:30, reduction = "pca")
  cd4_t <- FindClusters(cd4_t, resolution = resolutions )
  
  saveRDS(cd4_t, out)

} else {
  cd4_t <- readRDS(out)
}
clustree(cd4_t, prefix = "RNA_snn_res.")

DimPlot(cd4_t, group.by = "RNA_snn_res.0.5", reduction = "umap.cd4T", label = TRUE, label.size = 2.5, repel = TRUE, raster = FALSE )

DimPlot(cd4_t, group.by = "RNA_snn_res.0.5", reduction = "umap.cd4T", label = TRUE, label.size = 2.5, repel = TRUE, raster = FALSE, split.by = "tissue" )

opt_res <- "RNA_snn_res.0.5"  
n <- nlevels(cd4_t$RNA_snn_res.0.5)
cd4_t$RNA_snn_res.0.5 <- factor(cd4_t$RNA_snn_res.0.5, levels = seq(0,n-1))
cd4_t$seurat_clusters <- NULL
cd4_t$cluster <- cd4_t$RNA_snn_res.0.5
Idents(cd4_t) <- cd4_t$cluster
k <- names(which(table(cd4_t$celltypist_paeds) > 100))
cd4_t$celltypist_paeds2 <- ifelse(cd4_t$celltypist_paeds %in% k,
                                  cd4_t$celltypist_paeds, NA)

DimPlot(
    cd4_t,
    group.by = "celltypist_paeds2",
    reduction = "umap.cd4T",
    label = TRUE,
    repel = TRUE,
    label.size = 2.5,
    shuffle = TRUE
)
plot_ct_bar(cd4_t, "celltypist_paeds")

plot_ct_bar(cd4_t, "celltypist_lung_airway")

plot_ct_bar(cd4_t, "celltypist_lung_atlas")

plot_ct_bar(cd4_t, "celltypist_immune")

#plot_ct_bar(cd4_t, "celltypist_tonsil")
plot_ct_bar(cd4_t, "predicted.celltype.l2") # Tonsil Atlas level 2 

plot_ct_bar(cd4_t, "cell_labels_v2") # previous labels

Checking for known markers-

features <- list(
  ## 1. Naïve CD4 T cells
  T_naive = c("CD4", "CCR7","SELL","LEF1"),
  ## 2. Memory CD4 T cells
  T_memory = c("IL7R","PRDM1","TCF7","TMSB10", "ITGB1", "LDHB", "MAL"),
  ## 3. Effector CD4 T cells
  T_eff = c("GZMK","KLRB1","IFNG","TNF","CCL5", "HECW2","EGLN3"),
  ## 4. Regulatory CD4 T cells
  T_reg = c("FOXP3","IL2RA","CTLA4","IKZF2")
)

for (g in features) {
  print(
    FeaturePlot(
      cd4_t,                     
      features  = g,
      reduction = "umap.cd4T",     
      raster    = FALSE,
      label     = TRUE,
      ncol = 4
      #split.by  = "tissue"
    )
  )
}

cd4_t <- FindSubCluster(cd4_t, cluster = 6, graph.name = "RNA_snn", resolution = 0.1, subcluster.name = "T_sub")
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck

Number of nodes: 4810
Number of edges: 126511

Running Louvain algorithm...
Maximum modularity in 10 random starts: 0.9164
Number of communities: 2
Elapsed time: 0 seconds
DimPlot(cd4_t, repel = T, label = T, reduction = "umap.cd4T", group.by = "T_sub")

Idents(cd4_t) <- cd4_t$T_sub

cd4_t <- FindSubCluster(cd4_t, cluster = 9, graph.name = "RNA_snn", resolution = 0.1, subcluster.name = "T_sub")
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck

Number of nodes: 3904
Number of edges: 110985

Running Louvain algorithm...
Maximum modularity in 10 random starts: 0.9284
Number of communities: 2
Elapsed time: 0 seconds
DimPlot(cd4_t, repel = T, label = T, reduction = "umap.cd4T", group.by = "T_sub")

Idents(cd4_t) <- cd4_t$T_sub
new_levels <- c(
  "0" = "CD4 T Memory",
  "1" = "CD4 T Naive",
  "2" = "CD4 T Memory",
  "3" = "CD4 T Memory",
  "4" = "CD4 T Naive",
  "5" = "CD4 T Memory",
  "6_0" = "CD4 T Effector",
 "6_1" = "CD4 T Regulatory",
  "7" = "CD4 T Regulatory",
  "8" = "CD4 T Memory",
  "9_0" = "CD4 T Effector",
  "9_1" = "CD4 T Regulatory",
  "10" = "CD4 T Naive",
  "11" = "CD4 T Memory",
  "12" = "CD4 T Memory",
  "13" = "CD4 T Memory",
  "14" = "CD4 T Naive"
)

cd4_t <- RenameIdents(cd4_t, new_levels)
cd4_t$cell_labels_l2 <- Idents(cd4_t)
DimPlot(cd4_t, raster = F, reduction = "umap.cd4T", label = T, repel = T)

Subclustering CD4 T cells clusters-

cd4_t <- FindSubCluster(cd4_t, cluster = "CD4 T Naive", graph.name = "RNA_snn", resolution = 0.1, subcluster.name = "T_sub")
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck

Number of nodes: 24759
Number of edges: 593426

Running Louvain algorithm...
Maximum modularity in 10 random starts: 0.9329
Number of communities: 4
Elapsed time: 2 seconds
1 singletons identified. 3 final clusters.
DimPlot(cd4_t, raster = F, reduction = "umap.cd4T", label = T, group.by = "T_sub", repel = T)

Idents(cd4_t) <- cd4_t$T_sub
cd4_t$cluster <- cd4_t$T_sub
cd4_t <- FindSubCluster(cd4_t, cluster = "CD4 T Memory", graph.name = "RNA_snn", resolution = 0.1, subcluster.name = "T_sub")
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck

Number of nodes: 52115
Number of edges: 1248777

Running Louvain algorithm...
Maximum modularity in 10 random starts: 0.9316
Number of communities: 4
Elapsed time: 9 seconds
DimPlot(cd4_t, raster = F, reduction = "umap.cd4T", label = T, group.by = "T_sub", repel = T)

Idents(cd4_t) <- cd4_t$T_sub
cd4_t <- FindSubCluster(cd4_t, cluster = "CD4 T Effector", graph.name = "RNA_snn", resolution = 0.1, subcluster.name = "T_sub")
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck

Number of nodes: 5419
Number of edges: 134909

Running Louvain algorithm...
Maximum modularity in 10 random starts: 0.9325
Number of communities: 2
Elapsed time: 0 seconds
DimPlot(cd4_t, raster = F, reduction = "umap.cd4T", label = T, group.by = "T_sub", repel = T)

Idents(cd4_t) <- cd4_t$T_sub
cd4_t <- FindSubCluster(cd4_t, cluster = "CD4 T Regulatory", graph.name = "RNA_snn", resolution = 0.1, subcluster.name = "T_sub")
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck

Number of nodes: 7637
Number of edges: 220702

Running Louvain algorithm...
Maximum modularity in 10 random starts: 0.9425
Number of communities: 3
Elapsed time: 0 seconds
DimPlot(cd4_t, raster = F, reduction = "umap.cd4T", label = T, group.by = "T_sub", repel = T)

Idents(cd4_t) <- cd4_t$T_sub

Renaming idents

new_levels <- c(
  "CD4 T Naive_0",
    "CD4 T Naive_1",
    "CD4 T Naive_2",
   "CD4 T Memory_0",
     "CD4 T Memory_1",
     "CD4 T Memory_2",
     "CD4 T Memory_3",
"CD4 T Effector_0",
"CD4 T Effector_1",
 "CD4 T Regulatory_0",
 "CD4 T Regulatory_1",
"CD4 T Regulatory_2"

)
Seurat::Idents(cd4_t) <- factor(
  Seurat::Idents(cd4_t),
  levels = new_levels
)

cd4_t$cell_labels_l3 <- Idents(cd4_t)
table(cd4_t$cell_labels_l3, cd4_t$tissue)
                    
                     Tonsils Adenoids Nasal_brushings Bronchial_brushings   BAL
  CD4 T Naive_0         7743     6712             228                  63    44
  CD4 T Naive_1         3368     3258             237                  41    71
  CD4 T Naive_2         2189      788               6                   8     3
  CD4 T Memory_0       13920     9514             282                  27    47
  CD4 T Memory_1        8062     9491             493                  34    79
  CD4 T Memory_2        3053     1964              60                  16    16
  CD4 T Memory_3        1447     3407             127                  42    34
  CD4 T Effector_0      1763     1165             200                  35    83
  CD4 T Effector_1        76      101             507                 877   612
  CD4 T Regulatory_0    2169     1779             286                  73    89
  CD4 T Regulatory_1     413      492             489                 151   182
  CD4 T Regulatory_2     906      571              13                   5    19
df_counts <- cd4_t@meta.data |>
  count(cell_labels_l3, tissue, name = "n")
df_totals <- df_counts |>
  group_by(cell_labels_l3) |>
  summarise(total = sum(n), .groups = "drop")

ggplot(df_counts, aes(x = cell_labels_l3, y = n, fill = tissue)) +
  geom_bar(stat = "identity", position = "stack") +
  geom_text(data = df_totals,
            aes(x = cell_labels_l3, y = total, label = total),
            vjust = -0.3, size = 3, inherit.aes = FALSE) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
  labs(x = "cluster at l3",
       y = "Number of cells",
       fill = "Tissue")

DE features of Cd4 T cells

The marker genes for this subclustering can be found here-

CD4T_population_subclusters

features.no.mt <- rownames(paed_sub)[!grepl("^MT-", rownames(paed_sub))]
gc()
             used    (Mb) gc trigger    (Mb) limit (Mb)   max used    (Mb)
Ncells    4495377   240.1    7334035   391.7         NA    7334035   391.7
Vcells 1609086948 12276.4 2453198976 18716.5     163840 2453173210 18716.3
paed_sub.markers <- FindAllMarkers(
  cd4_t,
  only.pos = TRUE,
  min.pct = 0.25,
  logfc.threshold = 0.25,
  features = features.no.mt
)
gc()
             used    (Mb) gc trigger    (Mb) limit (Mb)   max used    (Mb)
Ncells    4559676   243.6    7334035   391.7         NA    7334035   391.7
Vcells 1609249247 12277.6 3532782525 26953.0     163840 3527585484 26913.4
top10 <- paed_sub.markers %>%
    group_by(cluster) %>%
    top_n(n = 10, wt = avg_log2FC) %>%
    ungroup() %>%
    distinct(gene, .keep_all = TRUE) %>%
    arrange(cluster, desc(avg_log2FC))


best.wilcox.gene.per.cluster <- paed_sub.markers |>
  group_by(cluster) |>
  slice_max(avg_log2FC, n = 1) |>
  select(cluster, gene)
best.wilcox.gene.per.cluster
# A tibble: 12 × 2
# Groups:   cluster [12]
   cluster            gene    
   <fct>              <chr>   
 1 CD4 T Naive_0      NOG     
 2 CD4 T Naive_1      ANXA1   
 3 CD4 T Naive_2      SERPINE2
 4 CD4 T Memory_0     GNG4    
 5 CD4 T Memory_1     GPR183  
 6 CD4 T Memory_2     TSHR    
 7 CD4 T Memory_3     IFIT3   
 8 CD4 T Effector_0   IL26    
 9 CD4 T Effector_1   FOSL2   
10 CD4 T Regulatory_0 FOXP3   
11 CD4 T Regulatory_1 GZMK    
12 CD4 T Regulatory_2 RGS6    
FeaturePlot(
  cd4_t,
  features = best.wilcox.gene.per.cluster$gene,
  reduction = "umap.cd4T",
  raster = FALSE,
  repel = TRUE,
  ncol = 1,
  label = TRUE,
  split.by = "tissue"
) 

Note: CD4 T Memory_3 is potentially T-IFN

cd4_t <- ScaleData(
  cd4_t,
  features = unique(top10$gene),
  assay = "RNA",
  verbose = FALSE
)

DoHeatmap(cd4_t, features = unique(top10$gene), angle = 90) + NoLegend()

## Seurat top markers
cluster_colors <- paletteer::paletteer_d("pals::glasbey")[factor(top10$cluster)]

DotPlot(cd4_t,    
        features = unique(top10$gene),
        group.by = "cell_labels_l3",
        cols = c("azure1", "blueviolet"),
        dot.scale = 3, assay = "RNA") +
    RotatedAxis() +
    FontSize(y.text = 8, x.text = 12) +
    labs(y = element_blank(), x = element_blank()) +
    coord_flip() +
    theme(axis.text.y = element_text(color = cluster_colors)) +
    ggtitle("Top 10 marker genes per cluster (Seurat)")

marker_counts <- paed_sub.markers %>%
    filter(avg_log2FC > 1 & p_val_adj < 0.05) %>%  
    count(cluster, name = "n_markers") %>%
    arrange(desc(n_markers))

print(marker_counts)
              cluster n_markers
1    CD4 T Effector_1       184
2  CD4 T Regulatory_2       134
3    CD4 T Effector_0       102
4      CD4 T Memory_0        95
5  CD4 T Regulatory_1        88
6       CD4 T Naive_0        70
7      CD4 T Memory_3        70
8       CD4 T Naive_2        66
9      CD4 T Memory_2        64
10      CD4 T Naive_1        41
11 CD4 T Regulatory_0        39
12     CD4 T Memory_1         3
ggplot(marker_counts, aes(x = reorder(cluster, n_markers), y = n_markers)) +
    geom_col(fill = "steelblue", alpha = 0.8) +
    coord_flip() +
    labs(title = "High-confidence markers per subcluster (logFC > 1)",
         x = "Subcluster", y = "Number of markers") +
    theme_minimal()

out_markers <- here("output",
            "CSV_v3","T_cell_lineage",
            paste("Marker_genes_Reclustered_Cd4T.",opt_res, sep = ""))

dir.create(out_markers, recursive = TRUE, showWarnings = FALSE)

for (cl in unique(paed_sub.markers$cluster)) {
  cluster_data <- paed_sub.markers %>% dplyr::filter(cluster == cl)
  file_name <- here(out_markers, paste0("G000231_Neeland_", cl, ".csv"))
  if (!file.exists(file_name)) {
  write.csv(cluster_data, file = file_name)
  }
}

DE markers/gene between CD4 T sub-clusters

run_de_and_vln <- function(
  obj, ids, title_prefix,
  top_n = 10, min.pct = 0.25, logfc.threshold = 0.5,
  run_one_vs_all = TRUE, run_pairwise = TRUE,
  print_table = TRUE
) {

  res_list <- list()

  # Helper function to run DE, plot, and optionally show table
  de_plot <- function(id1, id2, comp_name) {
    res <- FindMarkers(
      obj,
      ident.1 = id1,
      ident.2 = id2,
      only.pos = TRUE,
      min.pct = min.pct,
      logfc.threshold = logfc.threshold,
      features = features.no.mt
    )

    top_genes <- res |>
      arrange(p_val_adj, desc(avg_log2FC)) |>
      head(top_n) |>
      rownames()

    res_list[[comp_name]] <<- res

    cat("\n\n####", title_prefix, ":", comp_name, "\n\n")
    print(
      VlnPlot(obj, features = top_genes, idents = unique(c(id1, id2)), pt.size = 0) +
        patchwork::plot_annotation(title = comp_name)
    )

    if (print_table) {
      print(
        kable(
          head(res, 50),
          caption = paste("Top 50 markers:", comp_name)
        )
      )
    }
  }

  # ---- One-vs-rest ----
  if (run_one_vs_all) {
    for (id in ids) {
      de_plot(id, setdiff(ids, id), paste(id, "vs_rest"))
    }
  }

  # ---- Pairwise ----
  if (run_pairwise && length(ids) > 1) {
    for (pair in combn(ids, 2, simplify = FALSE)) {
      de_plot(pair[1], pair[2], paste(pair[1], "vs", pair[2]))
    }
  }

  invisible(res_list)
}

Pairwise markers within CD4 T Naive

naive_ids <- c("CD4 T Naive_0","CD4 T Naive_1","CD4 T Naive_2")

res_all <- run_de_and_vln(
  cd4_t,
  naive_ids,
  title_prefix = "CD4 T Naive",
  run_one_vs_all = TRUE,
  run_pairwise = TRUE,
  print_table = TRUE
)

CD4 T Naive : CD4 T Naive_0 vs_rest

Top 50 markers: CD4 T Naive_0 vs_rest
p_val avg_log2FC pct.1 pct.2 p_val_adj
NOG 0 2.3721023 0.467 0.139 0
LEF1 0 0.8063011 0.775 0.631 0
SATB1 0 0.6715195 0.814 0.675 0
PDE7A 0 0.8266771 0.738 0.637 0
TRABD2A 0 1.3213376 0.468 0.275 0
FHIT 0 1.8145307 0.315 0.130 0
PECAM1 0 2.0529342 0.270 0.094 0
RASGRP2 0 0.7484927 0.730 0.637 0
RFLNB 0 1.4790741 0.395 0.218 0
OXNAD1 0 0.8409488 0.657 0.542 0
ATM 0 0.5734900 0.843 0.796 0
ACTN1 0 0.9552672 0.575 0.417 0
AIF1 0 1.8900242 0.282 0.118 0
ITGA6 0 1.3259496 0.390 0.234 0
RIN3 0 1.0287974 0.465 0.325 0
OBSCN 0 0.8626625 0.529 0.411 0
CHMP7 0 0.6602652 0.677 0.614 0
FOXP1 0 0.5250899 0.748 0.696 0
CSGALNACT1 0 1.2444958 0.305 0.176 0
PDK1 0 1.1510288 0.367 0.244 0
NOSIP 0 0.7214973 0.571 0.485 0
CAMK4 0 0.8243306 0.494 0.413 0
RCAN3 0 0.5807431 0.614 0.567 0
ABLIM1 0 0.5242259 0.616 0.574 0
NELL2 0 0.7086201 0.383 0.276 0
RNF144A 0 0.9442384 0.328 0.238 0
TMEM63A 0 0.5330424 0.593 0.541 0
LTBP3 0 0.5545770 0.546 0.481 0
NUCB2 0 0.6823880 0.406 0.328 0
ZNF609 0 0.7763345 0.390 0.321 0
CRLF3 0 0.6093957 0.486 0.445 0
BACH2 0 0.8679767 0.278 0.202 0
NAA16 0 0.9725942 0.295 0.228 0
INPP4A 0 0.5598757 0.468 0.431 0
SAP25 0 0.7768572 0.328 0.275 0
PGGHG 0 0.5543266 0.447 0.405 0
SAMD3 0 0.6603815 0.296 0.232 0
IL17RA 0 0.6666897 0.383 0.341 0
HERC3 0 0.5942640 0.407 0.369 0
LDLRAP1 0 0.5586224 0.406 0.366 0
DGKD 0 0.8178502 0.255 0.202 0
FLT3LG 0 0.5184941 0.471 0.450 0
CD55 0 0.6285506 0.348 0.307 0
SUSD3 0 0.5090834 0.422 0.403 0
TNRC6C 0 0.5457036 0.365 0.339 0
ZMYND8 0 0.6615226 0.287 0.255 0
ADPRM 0 0.6781973 0.273 0.241 0
MARCKSL1 0 0.6197628 0.297 0.266 0
ANXA2R 0 0.6542459 0.254 0.221 0
TMEM71 0 0.5843542 0.302 0.274 0

CD4 T Naive : CD4 T Naive_1 vs_rest

Top 50 markers: CD4 T Naive_1 vs_rest
p_val avg_log2FC pct.1 pct.2 p_val_adj
AHNAK 0 3.6279751 0.687 0.092 0
MAF 0 3.3865267 0.576 0.063 0
S100A4 0 2.5716562 0.617 0.178 0
CCR4 0 4.4461486 0.468 0.031 0
SYNE2 0 1.6182663 0.776 0.377 0
PYHIN1 0 2.2011354 0.493 0.111 0
KLF6 0 1.8236419 0.589 0.224 0
CRIP1 0 1.7869948 0.697 0.335 0
KLRB1 0 4.9961620 0.379 0.020 0
DUSP1 0 1.7818792 0.617 0.271 0
IL10RA 0 1.5698429 0.555 0.224 0
ANXA1 0 2.1198692 0.481 0.150 0
ATP2B4 0 1.4958171 0.549 0.229 0
GPR183 0 1.3314528 0.625 0.312 0
ITGB1 0 3.0277785 0.361 0.058 0
CASP8 0 1.1748969 0.602 0.301 0
OPTN 0 1.5411787 0.481 0.182 0
CAPN2 0 1.7202835 0.446 0.150 0
CXCR5 0 3.5957708 0.324 0.030 0
S100A11 0 2.0261629 0.410 0.118 0
PREX1 0 2.4614988 0.356 0.068 0
IKZF3 0 1.2490304 0.587 0.301 0
GPRIN3 0 1.3449576 0.522 0.237 0
ST8SIA1 0 2.8029895 0.331 0.048 0
FLNA 0 1.1141420 0.631 0.355 0
DUSP16 0 1.9318290 0.389 0.118 0
SMAD3 0 1.4055149 0.446 0.184 0
NBEAL2 0 1.8162631 0.377 0.118 0
TRIB2 0 1.0755851 0.663 0.407 0
ITGA4 0 1.3319972 0.565 0.312 0
ELOVL5 0 1.0978740 0.529 0.282 0
HNRNPLL 0 1.8366466 0.347 0.103 0
MAP3K5 0 2.1585144 0.316 0.072 0
IL2RB 0 1.3534463 0.431 0.189 0
ADAM19 0 3.9849296 0.258 0.023 0
NABP1 0 1.4854734 0.379 0.145 0
RORA 0 1.3397061 0.435 0.204 0
TIGIT 0 3.0947947 0.253 0.024 0
TRADD 0 1.6420354 0.348 0.121 0
NPDC1 0 3.5068383 0.250 0.024 0
CLDND1 0 1.4389694 0.393 0.173 0
STOM 0 2.8983131 0.253 0.040 0
IL32 0 1.0382522 0.860 0.649 0
PIEZO1 0 2.1025969 0.266 0.067 0
TP53INP1 0 2.1465369 0.254 0.061 0
CD84 0 1.6336222 0.292 0.100 0
ATXN1 0 1.6981000 0.268 0.084 0
PLP2 0 1.7621141 0.263 0.081 0
IL7R 0 0.8740955 0.866 0.722 0
FXYD5 0 0.7105736 0.947 0.822 0

CD4 T Naive : CD4 T Naive_2 vs_rest

Top 50 markers: CD4 T Naive_2 vs_rest
p_val avg_log2FC pct.1 pct.2 p_val_adj
CHI3L2 0 2.4339340 0.730 0.247 0
ID2 0 1.9345547 0.605 0.177 0
SESN3 0 1.6254290 0.728 0.303 0
GBP2 0 1.8352629 0.790 0.368 0
CD38 0 1.8368873 0.603 0.184 0
SUSD4 0 2.5924605 0.487 0.090 0
MYB 0 4.3940542 0.411 0.024 0
CHST2 0 1.9802415 0.494 0.115 0
SIRPG 0 1.1360642 0.709 0.353 0
PTGER4 0 1.6404102 0.553 0.202 0
SRGN 0 1.5189087 0.836 0.500 0
NAB2 0 2.0632024 0.432 0.100 0
NFATC1 0 1.8544503 0.527 0.201 0
DUSP2 0 2.7250682 0.440 0.117 0
SERPINE2 0 2.5754668 0.360 0.053 0
IRF4 0 4.2294455 0.327 0.035 0
EGR3 0 5.5051391 0.303 0.017 0
CTLA4 0 2.1163965 0.352 0.077 0
SNX9 0 1.9554623 0.370 0.109 0
COL6A3 0 3.6280223 0.286 0.031 0
RGS3 0 1.8262307 0.346 0.097 0
P2RX5 0 1.6994262 0.364 0.106 0
MAN1C1 0 1.1938482 0.636 0.299 0
MATK 0 1.9413785 0.275 0.067 0
MAN1A1 0 1.7443329 0.274 0.065 0
EGR1 0 2.7454152 0.279 0.072 0
C9orf16 0 1.1477649 0.571 0.254 0
IKZF2 0 1.8652699 0.252 0.062 0
BICDL1 0 1.3378200 0.576 0.268 0
FAM184A 0 1.5100587 0.302 0.089 0
CBLB 0 1.3410068 0.552 0.261 0
SREBF2 0 1.1496252 0.564 0.265 0
LDLRAD4 0 1.2244296 0.412 0.157 0
CD28 0 0.8224311 0.851 0.591 0
ID3 0 1.2842256 0.486 0.214 0
INPP5F 0 1.7732391 0.284 0.091 0
IL2RB 0 0.9986978 0.504 0.223 0
PTPN7 0 1.0226019 0.575 0.280 0
PELI1 0 1.2620958 0.336 0.117 0
CD27 0 0.7731521 0.859 0.640 0
BATF 0 1.6237304 0.338 0.124 0
HBS1L 0 1.0103618 0.715 0.414 0
PKIA 0 1.1573587 0.381 0.148 0
ETHE1 0 1.1523504 0.341 0.124 0
EPHX2 0 1.0639413 0.455 0.200 0
HIF1A 0 1.1863080 0.357 0.139 0
ACTG1 0 0.5960489 0.954 0.859 0
BTBD11 0 1.1833603 0.270 0.089 0
GBP5 0 1.3181278 0.330 0.127 0
RCC2 0 1.0078787 0.332 0.124 0

CD4 T Naive : CD4 T Naive_0 vs CD4 T Naive_1

Top 50 markers: CD4 T Naive_0 vs CD4 T Naive_1
p_val avg_log2FC pct.1 pct.2 p_val_adj
NOG 0 3.2620582 0.467 0.074 0
TRABD2A 0 2.0366885 0.468 0.170 0
PECAM1 0 4.5665918 0.270 0.017 0
ACTN1 0 1.4332199 0.575 0.323 0
LEF1 0 1.3157113 0.775 0.525 0
FHIT 0 2.4799947 0.315 0.075 0
SATB1 0 1.2464990 0.814 0.576 0
CCR7 0 0.8461482 0.809 0.679 0
AIF1 0 2.6450212 0.282 0.063 0
OXNAD1 0 0.9798236 0.657 0.500 0
ATM 0 0.6626084 0.843 0.766 0
PDE7A 0 0.8396662 0.738 0.619 0
FOXP1 0 0.8022245 0.748 0.635 0
RIN3 0 1.3649192 0.465 0.250 0
RFLNB 0 1.4723179 0.395 0.204 0
TGFBR2 0 0.8100656 0.714 0.605 0
BACH2 0 1.9639532 0.278 0.102 0
NUCB2 0 1.3431748 0.406 0.232 0
CHI3L2 0 1.8690275 0.302 0.130 0
OBSCN 0 0.9779104 0.529 0.365 0
RASGRP2 0 0.6881347 0.730 0.645 0
PDK1 0 1.3664417 0.367 0.202 0
LTBP3 0 0.9096030 0.546 0.399 0
NELL2 0 1.1272844 0.383 0.210 0
ITGA6 0 1.2452821 0.390 0.239 0
CD7 0 0.5840507 0.724 0.615 0
NOSIP 0 0.8032539 0.571 0.459 0
RGS10 0 0.9353517 0.475 0.344 0
ABLIM1 0 0.7171427 0.616 0.522 0
CHMP7 0 0.6497308 0.677 0.595 0
MAN1C1 0 1.2140333 0.343 0.205 0
PGGHG 0 1.0208995 0.447 0.321 0
CSGALNACT1 0 1.1214703 0.305 0.182 0
SAMD3 0 1.0025532 0.296 0.171 0
CHD3 0 0.5871107 0.643 0.583 0
CAMK4 0 0.7821684 0.494 0.401 0
NAA16 0 1.1943587 0.295 0.183 0
RNF144A 0 1.0142234 0.328 0.212 0
BCL11B 0 0.5058892 0.696 0.659 0
ZNF609 0 0.8584159 0.390 0.284 0
RCAN3 0 0.5260915 0.614 0.558 0
CRLF3 0 0.6559297 0.486 0.417 0
PRMT2 0 0.5105870 0.598 0.542 0
CD55 0 0.8826563 0.348 0.256 0
MAL 0 0.6103971 0.517 0.434 0
SFMBT2 0 0.9989590 0.259 0.167 0
FOXO1 0 0.5306661 0.586 0.542 0
TMEM131L 0 0.5871497 0.526 0.470 0
SAP25 0 0.8150157 0.328 0.250 0
DNMT3A 0 0.6073635 0.460 0.400 0

CD4 T Naive : CD4 T Naive_0 vs CD4 T Naive_2

Top 50 markers: CD4 T Naive_0 vs CD4 T Naive_2
p_val avg_log2FC pct.1 pct.2 p_val_adj
KLF2 0 1.3921423 0.801 0.488 0
IL7R 0 1.7465761 0.773 0.473 0
CXCR4 0 1.5025773 0.799 0.521 0
TXNIP 0 0.9874165 0.956 0.879 0
RIPOR2 0 1.0472164 0.792 0.628 0
RASGRP2 0 0.8996428 0.730 0.619 0
ZFP36L2 0 0.8496049 0.799 0.741 0
TMEM63A 0 1.2047905 0.593 0.440 0
RASA3 0 1.4453160 0.518 0.341 0
CD40LG 0 0.9725948 0.542 0.335 0
LTB 0 0.5983799 0.895 0.828 0
PDE7A 0 0.7967692 0.738 0.680 0
CDC42SE1 0 0.6782648 0.788 0.771 0
SAMHD1 0 0.9142205 0.659 0.568 0
RASSF3 0 1.4684172 0.466 0.310 0
NOG 0 1.3204539 0.467 0.291 0
ITGA6 0 1.5329811 0.390 0.222 0
RFLNB 0 1.4944949 0.395 0.251 0
TSC22D3 0 0.9398629 0.621 0.543 0
BCL9L 0 0.8624398 0.617 0.563 0
SMARCA2 0 1.0955117 0.496 0.387 0
CSGALNACT1 0 1.5791340 0.305 0.162 0
TRAF3IP3 0 0.5995746 0.744 0.721 0
EMP3 0 0.8298702 0.568 0.476 0
TLE5 0 0.8226437 0.595 0.552 0
CHMP7 0 0.6850051 0.677 0.660 0
RBL2 0 0.5570781 0.743 0.743 0
FLT3LG 0 1.1013338 0.471 0.390 0
DYRK2 0 0.7480807 0.596 0.552 0
SORL1 0 0.9582563 0.501 0.429 0
SUN2 0 0.5000645 0.761 0.737 0
RCAN3 0 0.7165800 0.614 0.589 0
KLF3 0 1.4271249 0.311 0.198 0
CAMK4 0 0.9273976 0.494 0.439 0
ADD3 0 0.7422015 0.585 0.572 0
OXNAD1 0 0.5613129 0.657 0.640 0
SIGIRR 0 0.7284239 0.564 0.536 0
SUSD3 0 1.0264081 0.422 0.355 0
INPP4A 0 0.8694615 0.468 0.404 0
S1PR1 0 0.8374800 0.472 0.405 0
ITGB7 0 1.2195467 0.312 0.223 0
STK38 0 0.7951686 0.501 0.459 0
CD47 0 0.6334843 0.599 0.618 0
P2RY8 0 1.3996263 0.255 0.164 0
ARHGEF18 0 0.9677789 0.408 0.353 0
FGD3 0 0.6665784 0.561 0.556 0
NLRP1 0 0.5217347 0.654 0.650 0
SELPLG 0 0.9050379 0.432 0.382 0
CYTH1 0 0.5671486 0.607 0.624 0
TOB1 0 1.2108978 0.341 0.275 0

CD4 T Naive : CD4 T Naive_1 vs CD4 T Naive_2

Top 50 markers: CD4 T Naive_1 vs CD4 T Naive_2
p_val avg_log2FC pct.1 pct.2 p_val_adj
AHNAK 0 3.9649436 0.687 0.104 0
IL10RA 0 3.0401503 0.555 0.123 0
CCR4 0 3.6386528 0.468 0.054 0
DUSP1 0 2.8888836 0.617 0.204 0
ANXA1 0 3.7016419 0.481 0.072 0
IL7R 0 2.4392177 0.866 0.473 0
KLF2 0 1.5348213 0.857 0.488 0
CRIP1 0 2.2971957 0.697 0.333 0
ZFP36L2 0 1.2067570 0.898 0.741 0
LTB 0 1.0808121 0.951 0.828 0
SYNE2 0 1.5139808 0.776 0.497 0
CASP8 0 1.8838991 0.602 0.275 0
MAF 0 1.5517883 0.576 0.204 0
KLRB1 0 3.7407992 0.379 0.059 0
EMP3 0 1.2845952 0.728 0.476 0
IL32 0 1.0693215 0.860 0.716 0
CXCR4 0 1.4188153 0.773 0.521 0
CAPN2 0 2.5572011 0.446 0.134 0
KLF6 0 1.8294803 0.589 0.304 0
TXNIP 0 0.8607182 0.957 0.879 0
S1PR1 0 1.3958084 0.670 0.405 0
S100A11 0 2.6946591 0.410 0.118 0
S100A4 0 1.6710471 0.617 0.342 0
SAMHD1 0 1.1041272 0.762 0.568 0
OPTN 0 2.0294359 0.481 0.196 0
ITGB1 0 3.0555914 0.361 0.092 0
CXCR5 0 2.9526163 0.324 0.061 0
RIPOR2 0 0.8885831 0.811 0.628 0
FXYD5 0 0.6287705 0.947 0.892 0
S100A10 0 1.8547375 0.532 0.287 0
TSC22D3 0 1.2077497 0.730 0.543 0
SELPLG 0 1.3830806 0.612 0.382 0
PYHIN1 0 1.5243773 0.493 0.215 0
RASA3 0 1.3986946 0.580 0.341 0
S100A6 0 1.2913626 0.642 0.447 0
NBEAL2 0 2.2735695 0.377 0.129 0
SH3BP5 0 2.7278914 0.315 0.085 0
PREX1 0 2.2471011 0.356 0.117 0
ITGB7 0 1.6779659 0.464 0.223 0
ATP2B4 0 1.4146231 0.549 0.327 0
CDC25B 0 1.4355995 0.539 0.316 0
WIPF1 0 0.6423304 0.887 0.820 0
CD40LG 0 0.8922374 0.582 0.335 0
TTC39C 0 1.2714217 0.554 0.348 0
P2RY8 0 1.8677636 0.390 0.164 0
MYO1G 0 1.8763575 0.397 0.176 0
FLNA 0 1.1221137 0.631 0.453 0
GSTK1 0 0.8891825 0.729 0.632 0
RASSF3 0 1.3370691 0.514 0.310 0
TMEM173 0 1.2395378 0.546 0.341 0

Pairwise markers within CD4 T Memory

ids <- c("CD4 T Memory_0","CD4 T Memory_1","CD4 T Memory_2", "CD4 T Memory_3" )

res_all <- run_de_and_vln(
  cd4_t,
  ids,
  title_prefix = "CD4 T Memory",
  run_one_vs_all = TRUE,
  run_pairwise = TRUE,
  print_table = TRUE
)

CD4 T Memory : CD4 T Memory_0 vs_rest

Top 50 markers: CD4 T Memory_0 vs_rest
p_val avg_log2FC pct.1 pct.2 p_val_adj
PDCD1 0 1.9655240 0.780 0.263 0
BCL6 0 1.8855284 0.645 0.203 0
TOX2 0 1.4302695 0.814 0.388 0
TRIM8 0 1.4928958 0.714 0.296 0
TIGIT 0 1.2776070 0.809 0.428 0
STK39 0 1.0370397 0.794 0.441 0
POU2AF1 0 2.0296239 0.514 0.167 0
FKBP5 0 1.1198127 0.682 0.342 0
SREBF2 0 1.0693405 0.674 0.340 0
TOX 0 1.1402844 0.592 0.264 0
RAB27A 0 0.8335340 0.721 0.401 0
CDK5R1 0 0.9169774 0.639 0.320 0
KCNK5 0 2.0641866 0.407 0.092 0
ASAP1 0 0.9832914 0.594 0.279 0
KIAA1324 0 1.5395261 0.488 0.176 0
CHI3L2 0 1.0698329 0.646 0.334 0
THADA 0 1.2527101 0.672 0.361 0
FAM43A 0 1.8348412 0.457 0.146 0
C9orf16 0 0.8918575 0.608 0.307 0
PTPN7 0 0.8072043 0.648 0.352 0
ITM2A 0 1.1157157 0.873 0.578 0
CXCR5 0 1.1839930 0.842 0.551 0
ICOS 0 0.8014014 0.801 0.513 0
NFATC1 0 1.3429053 0.561 0.273 0
RNF19A 0 0.7784412 0.708 0.420 0
ID3 0 1.4200317 0.533 0.248 0
SH2D1A 0 1.0096053 0.685 0.404 0
MAGEH1 0 1.2537573 0.529 0.249 0
RTP5 0 2.9045717 0.321 0.043 0
ST8SIA1 0 0.6913587 0.739 0.462 0
COTL1 0 0.6474749 0.811 0.535 0
ZNF703 0 1.8356918 0.373 0.100 0
DHRS7 0 0.8700134 0.561 0.290 0
CD200 0 2.7765525 0.360 0.092 0
CD82 0 1.1309979 0.545 0.278 0
SUSD6 0 0.8108144 0.589 0.323 0
TPP1 0 0.8167619 0.580 0.315 0
TBC1D4 0 0.6164270 0.702 0.437 0
SMCO4 0 1.4282104 0.415 0.151 0
IGFBP4 0 1.9058154 0.345 0.081 0
PHACTR2 0 0.7345814 0.544 0.282 0
GNG4 0 3.0674324 0.309 0.049 0
PFKFB3 0 0.8513792 0.552 0.293 0
IL21 0 1.4608631 0.382 0.126 0
P2RY8 0 1.4631231 0.442 0.186 0
H2AFZ 0 1.0229378 0.490 0.235 0
GSE1 0 1.1468844 0.421 0.166 0
PPP1CC 0 1.1002077 0.467 0.213 0
IL2RB 0 0.5747098 0.752 0.498 0
MAF 0 0.5752942 0.945 0.694 0

CD4 T Memory : CD4 T Memory_1 vs_rest

Top 50 markers: CD4 T Memory_1 vs_rest
p_val avg_log2FC pct.1 pct.2 p_val_adj
IL7R 0 2.0883990 0.731 0.352 0
VIM 0 1.3748465 0.504 0.217 0
GPR183 0 1.6776717 0.601 0.316 0
RCAN3 0 1.5286578 0.364 0.197 0
AAK1 0 1.3209103 0.486 0.323 0
CCR7 0 0.8106844 0.402 0.248 0
PDE7A 0 1.3891794 0.514 0.370 0
PLAC8 0 0.9170063 0.377 0.242 0
HELB 0 1.4314706 0.296 0.171 0
OBSCN 0 1.2877865 0.427 0.303 0
GIMAP5 0 0.9210526 0.518 0.414 0
TXNIP 0 1.0820702 0.829 0.736 0
DYRK2 0 0.9837891 0.547 0.476 0
GIMAP7 0 0.7671319 0.825 0.757 0
GIMAP4 0 0.6141508 0.780 0.744 0
ZFP36L2 0 0.7285587 0.789 0.755 0
ATM 0 0.6922899 0.708 0.723 0
FYB1 0 0.5499841 0.879 0.867 0
CYTIP 0 0.6645642 0.773 0.773 0
BTG1 0 0.7715049 0.834 0.834 0
TSC22D3 0 1.0563920 0.482 0.396 0
KLRB1 0 1.1493234 0.353 0.252 0
MGAT4A 0 1.1893421 0.322 0.231 0
JUN 0 1.4054211 0.381 0.300 0
TMEM63A 0 1.1736412 0.302 0.214 0
LDHB 0 0.6456054 0.618 0.631 0
FOS 0 0.9852987 0.549 0.523 0
CD96 0 0.8895031 0.421 0.351 0
TGFBR2 0 0.6969843 0.554 0.546 0
TRAT1 0 0.8415905 0.438 0.386 0
MAL 0 0.9146533 0.271 0.185 0
GLIPR1 0 1.1719472 0.321 0.254 0
LEPROTL1 0 0.6220475 0.581 0.605 0
CAMK4 0 1.0741012 0.297 0.222 0
TTC39C 0 0.8481541 0.417 0.369 0
DUSP1 0 0.8721728 0.521 0.506 0
OXNAD1 0 0.9610825 0.363 0.310 0
DTX1 0 1.1245088 0.282 0.213 0
ACAP1 0 0.5126373 0.642 0.692 0
SIGIRR 0 0.8065617 0.423 0.393 0
LPAR6 0 0.9537437 0.316 0.258 0
KLF6 0 0.6738820 0.519 0.525 0
GIMAP1 0 0.8118544 0.384 0.338 0
SAMHD1 0 0.6025788 0.375 0.309 0
AHNAK 0 0.8357461 0.345 0.296 0
BCL9L 0 0.7861076 0.360 0.319 0
LY9 0 0.7051504 0.444 0.433 0
TMEM173 0 0.9012315 0.321 0.279 0
CD48 0 0.5316240 0.572 0.611 0
NLRP1 0 0.6526725 0.468 0.480 0

CD4 T Memory : CD4 T Memory_2 vs_rest

Top 50 markers: CD4 T Memory_2 vs_rest
p_val avg_log2FC pct.1 pct.2 p_val_adj
PRDM1 0 4.4157990 0.533 0.028 0
TENT5C 0 2.5106941 0.624 0.153 0
TNFRSF1B 0 2.2626289 0.750 0.296 0
CTLA4 0 1.5489647 0.734 0.311 0
CEP128 0 1.8760232 0.692 0.294 0
DUSP16 0 1.3432249 0.680 0.295 0
CCND2 0 1.3324064 0.668 0.284 0
RCSD1 0 1.0066931 0.610 0.235 0
RGS1 0 1.6452329 0.572 0.215 0
LGMN 0 2.0538512 0.509 0.154 0
OGDH 0 0.9248956 0.772 0.427 0
LAG3 0 3.4957953 0.436 0.095 0
TPM4 0 1.2514544 0.552 0.214 0
FAM53B 0 1.1564028 0.568 0.234 0
CCR5 0 4.8666679 0.335 0.014 0
CD38 0 1.1401536 0.574 0.256 0
PMVK 0 1.0987001 0.534 0.218 0
IL21 0 1.5365429 0.526 0.212 0
C9orf16 0 0.7464875 0.724 0.414 0
NDUFV2 0 0.8263620 0.687 0.378 0
NAP1L4 0 0.8959780 0.839 0.534 0
SELPLG 0 0.9718657 0.528 0.227 0
CSF1 0 2.7212606 0.362 0.063 0
ARPC1B 0 0.8526477 0.711 0.414 0
SLAMF1 0 0.9173093 0.551 0.255 0
CKLF 0 0.8511437 0.690 0.398 0
TYMP 0 1.8697323 0.387 0.096 0
SH2D2A 0 1.5140501 0.408 0.121 0
RUNX2 0 2.5860561 0.328 0.044 0
CDC25B 0 1.2408231 0.447 0.163 0
ABRACL 0 0.8453225 0.706 0.428 0
YWHAQ 0 1.0436657 0.480 0.209 0
ODC1 0 1.2431686 0.436 0.167 0
FURIN 0 0.9911612 0.555 0.287 0
CARHSP1 0 0.8654876 0.490 0.222 0
TSHR 0 2.2856565 0.335 0.068 0
KLRB1 0 1.1262164 0.525 0.261 0
CDKL2 0 1.9700666 0.352 0.092 0
LMNB1 0 0.9128235 0.445 0.190 0
TRIB1 0 1.5411450 0.364 0.110 0
CXCR6 0 5.5032575 0.259 0.006 0
TXNDC17 0 0.9781924 0.413 0.160 0
PITPNM2 0 1.5808767 0.371 0.120 0
FLNA 0 1.1449881 0.433 0.183 0
PTMS 0 1.7150690 0.339 0.096 0
TNFRSF18 0 1.5711452 0.350 0.119 0
ABCC1 0 0.7627868 0.376 0.147 0
SOCS3 0 1.1951321 0.374 0.146 0
SPATS2L 0 1.1129249 0.362 0.134 0
CHST2 0 1.6559539 0.298 0.071 0

CD4 T Memory : CD4 T Memory_3 vs_rest

Top 50 markers: CD4 T Memory_3 vs_rest
p_val avg_log2FC pct.1 pct.2 p_val_adj
IFI44L 0 4.606444 0.856 0.093 0
IFI44 0 3.472982 0.828 0.202 0
MX1 0 3.588784 0.797 0.200 0
OAS1 0 4.054041 0.701 0.109 0
XAF1 0 3.289719 0.731 0.171 0
LY6E 0 3.107732 0.822 0.272 0
IFI6 0 3.941676 0.692 0.155 0
ISG15 0 3.536067 0.758 0.246 0
OAS3 0 4.059808 0.600 0.094 0
SAMD9L 0 3.179043 0.619 0.163 0
MX2 0 3.039837 0.638 0.185 0
CMPK2 0 4.455865 0.500 0.052 0
OAS2 0 2.452203 0.845 0.417 0
IFIT1 0 6.054737 0.438 0.013 0
EIF2AK2 0 2.850498 0.568 0.157 0
RSAD2 0 5.601066 0.421 0.020 0
IRF7 0 2.304399 0.694 0.303 0
STAT1 0 2.364577 0.841 0.457 0
DDX60 0 3.090176 0.469 0.091 0
HERC6 0 3.539233 0.441 0.066 0
HELZ2 0 3.059521 0.464 0.111 0
TRIM22 0 2.018599 0.757 0.429 0
KLF2 0 3.555600 0.379 0.053 0
PARP9 0 2.494540 0.473 0.149 0
HERC5 0 3.871179 0.342 0.042 0
DTX3L 0 2.087077 0.484 0.195 0
UBE2L6 0 1.989638 0.547 0.259 0
EPSTI1 0 1.752149 0.624 0.348 0
PARP14 0 1.995531 0.488 0.217 0
GBP1 0 3.419349 0.328 0.063 0
IFIT3 0 6.730584 0.269 0.005 0
USP18 0 5.113992 0.276 0.015 0
PARP12 0 1.957049 0.447 0.194 0
SAMHD1 0 1.631810 0.560 0.308 0
APOL6 0 1.751942 0.522 0.276 0
SELL 0 1.555318 0.651 0.409 0
DDX60L 0 2.145001 0.377 0.142 0
SP110 0 1.434031 0.636 0.407 0
SP100 0 1.400316 0.705 0.477 0
IFIH1 0 2.197988 0.353 0.131 0
CCR7 0 1.485494 0.502 0.280 0
EMP3 0 2.250635 0.326 0.108 0
SAMD9 0 1.857310 0.394 0.177 0
PARP10 0 1.801902 0.396 0.181 0
IFI35 0 2.428202 0.311 0.100 0
TRIM25 0 1.969694 0.361 0.150 0
IFIT5 0 2.370213 0.287 0.077 0
DDX58 0 2.123507 0.331 0.128 0
RNF213 0 1.354490 0.801 0.602 0
PDE3B 0 2.049132 0.316 0.120 0

CD4 T Memory : CD4 T Memory_0 vs CD4 T Memory_1

Top 50 markers: CD4 T Memory_0 vs CD4 T Memory_1
p_val avg_log2FC pct.1 pct.2 p_val_adj
PDCD1 0 2.6398093 0.780 0.159 0
TOX2 0 1.7282242 0.814 0.308 0
TRIM8 0 1.5984881 0.714 0.234 0
BCL6 0 1.9333747 0.645 0.166 0
TIGIT 0 1.5182139 0.809 0.376 0
POU2AF1 0 2.6207536 0.514 0.084 0
RAB27A 0 1.2650768 0.721 0.307 0
C9orf16 0 1.3870980 0.608 0.196 0
STK39 0 1.0475990 0.794 0.397 0
CHI3L2 0 1.3331703 0.646 0.257 0
TOX 0 1.2745688 0.592 0.205 0
FKBP5 0 1.1696398 0.682 0.300 0
FAM43A 0 2.4816967 0.457 0.080 0
SREBF2 0 1.0594317 0.674 0.299 0
KIAA1324 0 1.8676883 0.488 0.113 0
PTPN7 0 1.0387569 0.648 0.275 0
RNF19A 0 0.9408915 0.708 0.351 0
THADA 0 1.2816389 0.672 0.317 0
SH2D1A 0 1.2094046 0.685 0.331 0
IL21 0 3.6693301 0.382 0.028 0
TPP1 0 1.0599234 0.580 0.228 0
COTL1 0 0.8597149 0.811 0.461 0
ICOS 0 0.9923818 0.801 0.457 0
MAGEH1 0 1.4961256 0.529 0.186 0
CTLA4 0 1.6205026 0.474 0.133 0
ITM2A 0 1.2186048 0.873 0.532 0
CD82 0 1.3454521 0.545 0.208 0
P2RY8 0 2.0328667 0.442 0.106 0
SUSD6 0 0.9446271 0.589 0.253 0
ID3 0 1.5607387 0.533 0.203 0
KCNK5 0 2.0137477 0.407 0.077 0
UCP2 0 0.9535070 0.764 0.436 0
ASAP1 0 0.8045342 0.594 0.267 0
ORMDL3 0 0.8197098 0.656 0.330 0
NFATC1 0 1.4054580 0.561 0.237 0
IL2RB 0 0.8103258 0.752 0.428 0
TBC1D4 0 0.7208790 0.702 0.380 0
CDK5R1 0 0.7588777 0.639 0.319 0
ZNF703 0 2.2985886 0.373 0.055 0
CTSA 0 0.6693583 0.655 0.337 0
SAT1 0 0.8414878 0.607 0.292 0
EZR 0 0.6591923 0.709 0.398 0
PPP1CC 0 1.1906582 0.467 0.157 0
CXCR5 0 1.2789645 0.842 0.532 0
RTP5 0 3.6381976 0.321 0.013 0
SMCO4 0 1.5659733 0.415 0.109 0
PPP1R16B 0 0.6909509 0.583 0.277 0
H2AFZ 0 1.1282889 0.490 0.185 0
RGS3 0 1.1631191 0.480 0.175 0
PFKFB3 0 0.8456384 0.552 0.248 0

CD4 T Memory : CD4 T Memory_0 vs CD4 T Memory_2

Top 50 markers: CD4 T Memory_0 vs CD4 T Memory_2
p_val avg_log2FC pct.1 pct.2 p_val_adj
TCF7 0 1.7338627 0.962 0.436 0
BCL6 0 2.1009688 0.645 0.288 0
CDK5R1 0 1.5540757 0.639 0.344 0
KCNK5 0 2.5704172 0.407 0.127 0
CD40LG 0 1.5098135 0.708 0.433 0
ASAP1 0 1.7095642 0.594 0.327 0
IL7R 0 2.6993303 0.359 0.094 0
ST8SIA1 0 1.3867949 0.739 0.481 0
FKBP5 0 1.3050167 0.682 0.439 0
SREBF2 0 1.2764118 0.674 0.469 0
TRIM8 0 1.2888416 0.714 0.514 0
CXCR4 0 0.9920802 0.834 0.640 0
STK39 0 0.9635389 0.794 0.637 0
ITPKB 0 1.0386812 0.864 0.731 0
PVALB 0 3.7650186 0.258 0.027 0
NTRK3 0 3.2338027 0.276 0.045 0
ZBTB10 0 1.9670786 0.403 0.165 0
PDCD1 0 0.8638022 0.780 0.640 0
SESN1 0 2.4858292 0.356 0.124 0
IL16 0 0.6317948 0.888 0.796 0
ST6GAL1 0 0.9292892 0.694 0.562 0
DHRS7 0 1.2938340 0.561 0.378 0
ATM 0 0.7802520 0.750 0.632 0
RTP5 0 2.2778606 0.321 0.113 0
THADA 0 1.0764138 0.672 0.543 0
CXCL13 0 2.1696532 0.257 0.058 0
KIAA0319L 0 1.1602131 0.577 0.411 0
SERTAD2 0 1.3955845 0.505 0.332 0
CXCR5 0 0.7602336 0.842 0.750 0
ZFP36L1 0 0.6417469 0.857 0.783 0
IGFBP4 0 1.7752505 0.345 0.152 0
ITM2A 0 0.6246311 0.873 0.782 0
LTBP3 0 0.8990438 0.649 0.494 0
CPM 0 2.0819745 0.285 0.111 0
P2RX5 0 1.7234776 0.413 0.261 0
RASGRF2 0 1.8684683 0.280 0.106 0
SEMA4D 0 0.8969429 0.588 0.464 0
IRF2BP2 0 1.1244083 0.492 0.344 0
TMEM123 0 0.8438785 0.623 0.516 0
ANKRD13A 0 1.5554173 0.398 0.256 0
CD200 0 1.9818385 0.360 0.195 0
SLAMF6 0 0.9979384 0.560 0.442 0
TIGIT 0 0.5272765 0.809 0.679 0
FYB1 0 0.6291951 0.880 0.846 0
ELK4 0 0.7611220 0.651 0.561 0
LDLRAD4 0 1.1006543 0.465 0.320 0
ID3 0 1.1581368 0.533 0.399 0
NFATC1 0 0.9472768 0.561 0.432 0
TOX2 0 0.6202381 0.814 0.767 0
CHD3 0 0.5868990 0.722 0.663 0

CD4 T Memory : CD4 T Memory_0 vs CD4 T Memory_3

Top 50 markers: CD4 T Memory_0 vs CD4 T Memory_3
p_val avg_log2FC pct.1 pct.2 p_val_adj
TOX2 0 1.5677045 0.814 0.290 0
PDCD1 0 1.7231492 0.780 0.258 0
TIGIT 0 1.4910643 0.809 0.363 0
CXCR5 0 1.3620375 0.842 0.418 0
TRIM8 0 1.3552489 0.714 0.298 0
MAF 0 1.1923778 0.945 0.544 0
STK39 0 1.0758088 0.794 0.399 0
BCL6 0 1.5549330 0.645 0.252 0
ST8SIA1 0 1.1871095 0.739 0.346 0
RAB27A 0 1.1419075 0.721 0.353 0
ICOS 0 1.1258483 0.801 0.434 0
PTPN7 0 1.3242153 0.648 0.288 0
TOX 0 1.2996912 0.592 0.236 0
KIAA1324 0 1.9994772 0.488 0.141 0
PCNX2 0 1.0587539 0.670 0.331 0
GLCCI1 0 0.9240964 0.723 0.384 0
CDK5R1 0 0.9987043 0.639 0.301 0
POU2AF1 0 1.5253025 0.514 0.178 0
THADA 0 1.3418072 0.672 0.337 0
ITM2A 0 1.3714627 0.873 0.538 0
IL2RB 0 0.8765364 0.752 0.420 0
RNF19A 0 0.9692053 0.708 0.376 0
FAM43A 0 1.7697783 0.457 0.133 0
C9orf16 0 1.1370695 0.608 0.285 0
NFATC1 0 1.6051432 0.561 0.242 0
CTSB 0 0.8510663 0.813 0.494 0
RAP1A 0 0.8637871 0.770 0.456 0
SH2D1A 0 1.0905376 0.685 0.373 0
IL21 0 2.8664341 0.382 0.072 0
IKZF3 0 0.7642132 0.905 0.611 0
KCNK5 0 1.8354033 0.407 0.113 0
COTL1 0 0.8055122 0.811 0.520 0
SRGN 0 1.4631113 0.938 0.650 0
CD200 0 3.0548126 0.360 0.091 0
ASAP1 0 1.0939939 0.594 0.273 0
CD82 0 1.2997243 0.545 0.240 0
SREBF2 0 0.9181488 0.674 0.355 0
CTLA4 0 1.4224855 0.474 0.183 0
SMCO4 0 1.5768926 0.415 0.137 0
MAGEH1 0 1.3165317 0.529 0.245 0
CD2 0 0.6441464 0.912 0.700 0
TBC1D4 0 0.8383933 0.702 0.392 0
ZNF703 0 1.6836104 0.373 0.115 0
PFKFB3 0 1.0438710 0.552 0.257 0
RTP5 0 1.9914762 0.321 0.080 0
ID3 0 1.2401840 0.533 0.258 0
TRPS1 0 0.9013577 0.621 0.319 0
PHACTR2 0 0.9966381 0.544 0.246 0
CD4 0 0.6404434 0.895 0.678 0
GNG4 0 2.2346194 0.309 0.077 0

CD4 T Memory : CD4 T Memory_1 vs CD4 T Memory_2

Top 50 markers: CD4 T Memory_1 vs CD4 T Memory_2
p_val avg_log2FC pct.1 pct.2 p_val_adj
IL7R 0 5.0461303 0.731 0.094 0
TCF7 0 1.7231617 0.916 0.436 0
PLAC8 0 2.8517307 0.377 0.122 0
CD40LG 0 1.6588247 0.631 0.433 0
TXNIP 0 1.7671836 0.829 0.664 0
CXCR4 0 1.3507989 0.776 0.640 0
ATM 0 1.4462545 0.708 0.632 0
FYB1 0 1.0861211 0.879 0.846 0
FXYD5 0 0.8114486 0.859 0.887 0
BTG1 0 1.2496642 0.834 0.807 0
GPR183 0 1.4175197 0.601 0.427 0
ZFP36L2 0 0.8897197 0.789 0.784 0
GIMAP7 0 0.7395040 0.825 0.811 0
TMEM63A 0 3.3267253 0.302 0.091 0
PDE7A 0 1.7466680 0.514 0.398 0
TTC39C 0 1.8704109 0.417 0.245 0
CYTIP 0 0.7600372 0.773 0.828 0
PNRC1 0 0.7027890 0.808 0.866 0
VIM 0 0.7232063 0.504 0.288 0
OBSCN 0 1.9400853 0.427 0.271 0
IKZF1 0 0.5770858 0.822 0.882 0
TGFBR2 0 1.2541419 0.554 0.507 0
LPAR6 0 2.2055485 0.316 0.166 0
RASGRF2 0 2.3786983 0.256 0.106 0
GIMAP4 0 0.6240274 0.780 0.783 0
TOMM7 0 0.7962758 0.684 0.770 0
DYRK2 0 1.0752607 0.547 0.516 0
CAMK4 0 2.0414673 0.297 0.175 0
CCR7 0 1.2611445 0.402 0.272 0
TMC8 0 0.6315106 0.728 0.814 0
DGKA 0 0.5211362 0.785 0.863 0
TSC22D3 0 1.2711222 0.482 0.427 0
THEMIS 0 1.1489160 0.455 0.397 0
RCAN3 0 1.4628054 0.364 0.288 0
LY9 0 1.1537256 0.444 0.409 0
IL16 0 0.5073606 0.737 0.796 0
NOP53 0 0.9572861 0.554 0.624 0
MGAT4A 0 1.5185830 0.322 0.244 0
SLC7A6 0 1.2459499 0.429 0.414 0
KLF6 0 0.9604509 0.519 0.533 0
RBL2 0 0.7852025 0.583 0.652 0
EVI2B 0 0.9003588 0.532 0.556 0
STK17B 0 0.5207842 0.696 0.782 0
AHNAK 0 1.1918189 0.345 0.270 0
EEF1G 0 0.5447194 0.702 0.818 0
DTX1 0 1.8378371 0.282 0.218 0
SELL 0 0.8264035 0.454 0.402 0
FAM102A 0 0.6783148 0.602 0.675 0
ST8SIA1 0 0.9447196 0.489 0.481 0
JUN 0 1.5336297 0.381 0.344 0

CD4 T Memory : CD4 T Memory_1 vs CD4 T Memory_3

Top 50 markers: CD4 T Memory_1 vs CD4 T Memory_3
p_val avg_log2FC pct.1 pct.2 p_val_adj
GPR183 0 1.2569261 0.601 0.349 0
FYB1 0 0.5497570 0.879 0.830 0
KLRB1 0 1.6521264 0.353 0.164 0
IL7R 0 0.6814422 0.731 0.584 0
RESF1 0 0.5324118 0.835 0.741 0
CD40LG 0 0.7432155 0.631 0.498 0
EVI2B 0 0.8294245 0.532 0.405 0
GLIPR1 0 1.2343759 0.321 0.181 0
ST8SIA1 0 0.7450343 0.489 0.346 0
TLK1 0 0.7654678 0.495 0.390 0
STT3B 0 0.6971989 0.512 0.429 0
PCNX2 0 0.7357713 0.429 0.331 0
NABP1 0 0.6755613 0.448 0.353 0
JUN 0 0.9443522 0.381 0.288 0
PHTF2 0 0.7472820 0.354 0.274 0
OBSCN 0 0.6062670 0.427 0.340 0
LY9 0 0.5368093 0.444 0.368 0
LPAR6 0 0.6759944 0.316 0.240 0
GPR174 0 0.6852448 0.322 0.250 0
CD84 0 0.6454349 0.330 0.260 0
ATP2B4 0 0.5496587 0.361 0.291 0
CKLF 0 0.6963580 0.310 0.248 0
IVNS1ABP 0 0.5132961 0.418 0.359 0
FOS 0 0.6116254 0.549 0.519 0
TGFBR1 0 0.7013812 0.262 0.200 0
TMX4 0 0.6865156 0.282 0.225 0
ST8SIA4 0 0.5741966 0.360 0.306 0
HNRNPLL 0 0.5127569 0.365 0.316 0
GPX4 0 0.5587744 0.323 0.282 0
ARHGAP35 0 0.6067141 0.271 0.232 0
MGAT5 0 0.5699331 0.294 0.254 0
MDFIC 0 0.5200499 0.269 0.229 0

CD4 T Memory : CD4 T Memory_2 vs CD4 T Memory_3

Top 50 markers: CD4 T Memory_2 vs CD4 T Memory_3
p_val avg_log2FC pct.1 pct.2 p_val_adj
CTLA4 0 2.3976964 0.734 0.183 0
TNFRSF1B 0 2.7338295 0.750 0.206 0
TENT5C 0 2.8985595 0.624 0.103 0
CEP128 0 2.6489733 0.692 0.188 0
PRDM1 0 3.5969783 0.533 0.050 0
TOX2 0 0.9474664 0.767 0.290 0
IL21 0 3.5436532 0.526 0.072 0
CKLF 0 1.6011040 0.690 0.248 0
C9orf16 0 1.3745627 0.724 0.285 0
MAF 0 1.9170753 0.981 0.544 0
DUSP16 0 1.3445759 0.680 0.246 0
RAB27A 0 1.3852688 0.784 0.353 0
OGDH 0 1.1009967 0.772 0.346 0
CTSA 0 1.2306903 0.776 0.356 0
LGMN 0 2.8770490 0.509 0.097 0
NAP1L4 0 1.2243239 0.839 0.431 0
IL2RB 0 1.0863211 0.825 0.420 0
PTPN7 0 1.3851403 0.690 0.288 0
LAG3 0 3.9648805 0.436 0.067 0
KLRB1 0 1.9811255 0.525 0.164 0
IKZF3 0 1.1446042 0.962 0.611 0
CCR5 0 3.9694046 0.335 0.019 0
TSHR 0 3.3574001 0.335 0.033 0
SRGN 0 1.4921829 0.930 0.650 0
CD4 0 0.9927045 0.933 0.678 0
IL32 0 1.1790007 0.946 0.737 0
PFN1 0 0.9018111 0.986 0.884 0
PTMS 0 2.8204624 0.339 0.045 0
CDKL2 0 2.7106710 0.352 0.052 0
ODC1 0 2.1175272 0.436 0.095 0
TNFRSF18 0 2.7023032 0.350 0.053 0
RUNX2 0 2.4205528 0.328 0.041 0
TRIB1 0 2.2286907 0.364 0.061 0
FAM53B 0 1.3487245 0.568 0.184 0
PTPRJ 0 1.4099018 0.552 0.180 0
ARPC1B 0 1.1750021 0.711 0.336 0
PMVK 0 1.3451141 0.534 0.167 0
WSB2 0 1.4421403 0.555 0.190 0
PKM 0 1.3823704 0.612 0.250 0
CXCR6 0 4.1404507 0.259 0.016 0
FURIN 0 1.4621592 0.555 0.196 0
CSF1 0 2.3193170 0.362 0.071 0
YWHAQ 0 1.5479935 0.480 0.141 0
PITPNM1 0 0.9968724 0.711 0.307 0
SPOCK2 0 0.9268890 0.879 0.602 0
CTSC 0 1.1245382 0.637 0.257 0
CARHSP1 0 1.3041944 0.490 0.147 0
ICOS 0 1.0382403 0.788 0.434 0
TXNDC17 0 1.4886046 0.413 0.100 0
BATF 0 1.4830814 0.483 0.151 0

Pairwise markers within CD4 T Effector

ids <- c("CD4 T Effector_0","CD4 T Effector_1" )

res_all <- run_de_and_vln(
  cd4_t,
  ids,
  title_prefix = "CD4 T Effector",
  run_one_vs_all = TRUE,
  run_pairwise = TRUE,
  print_table = TRUE
)

CD4 T Effector : CD4 T Effector_0 vs_rest

Top 50 markers: CD4 T Effector_0 vs_rest
p_val avg_log2FC pct.1 pct.2 p_val_adj
KLRB1 0 1.7649720 0.772 0.333 0
RESF1 0 1.5826746 0.819 0.373 0
COL5A3 0 1.6627788 0.640 0.212 0
SIRPG 0 1.9112105 0.554 0.153 0
CD2 0 0.9178858 0.931 0.658 0
CHI3L2 0 3.2022933 0.399 0.068 0
CD4 0 1.0482067 0.892 0.612 0
PHTF2 0 1.4131561 0.631 0.233 0
EIF1 0 1.2706675 0.673 0.270 0
TBC1D4 0 2.0654149 0.449 0.107 0
GLCCI1 0 1.5755421 0.553 0.178 0
PNRC1 0 0.9760021 0.848 0.536 0
CD3D 0 0.8933402 0.912 0.662 0
RAP1A 0 1.1972723 0.652 0.277 0
ZFP36L1 0 0.9884743 0.827 0.503 0
PITHD1 0 1.9873222 0.404 0.091 0
TRAM1 0 1.3514324 0.559 0.202 0
IL6R 0 1.5661036 0.493 0.153 0
NMRK1 0 1.4614371 0.522 0.177 0
TAF7 0 1.4714432 0.503 0.165 0
TRAC 0 0.7106710 0.948 0.796 0
CD3G 0 1.0367342 0.715 0.353 0
FCMR 0 1.1014167 0.656 0.294 0
ZBTB38 0 1.7968998 0.398 0.101 0
EVI2B 0 1.4214418 0.519 0.190 0
SESN1 0 2.9444452 0.311 0.054 0
LBH 0 1.0381157 0.742 0.409 0
MAP3K4 0 1.2288682 0.561 0.227 0
LTBP3 0 1.3193197 0.478 0.159 0
VPS13C 0 0.9879497 0.713 0.371 0
GIMAP5 0 0.9879183 0.667 0.309 0
SLC38A1 0 1.0050406 0.686 0.334 0
ICOS 0 1.0353513 0.677 0.336 0
TLK1 0 1.1682034 0.567 0.233 0
PCNX2 0 1.2694017 0.494 0.177 0
COL6A3 0 3.1849281 0.259 0.031 0
LNPEP 0 1.1263106 0.614 0.277 0
GIMAP4 0 0.9067454 0.778 0.469 0
RNF19A 0 1.0952405 0.609 0.278 0
IFNAR2 0 1.2137582 0.529 0.213 0
ERBIN 0 1.0556645 0.598 0.260 0
TAB2 0 0.9590423 0.701 0.365 0
ZMYM2 0 1.2670514 0.443 0.145 0
TRPS1 0 1.4087616 0.391 0.115 0
GIMAP7 0 0.7520530 0.840 0.549 0
RABGAP1L 0 0.8432305 0.756 0.414 0
SENP6 0 1.3202539 0.402 0.118 0
PTPN13 0 1.4225109 0.391 0.117 0
GPR183 0 0.9331389 0.676 0.353 0
ITM2A 0 1.0892768 0.535 0.225 0

CD4 T Effector : CD4 T Effector_1 vs_rest

Top 50 markers: CD4 T Effector_1 vs_rest
p_val avg_log2FC pct.1 pct.2 p_val_adj
KLF2 0 3.9358263 0.477 0.077 0
VIM 0 1.3906148 0.892 0.679 0
CORO1A 0 1.0367485 0.906 0.903 0
FOSL2 0 3.5099365 0.388 0.100 0
TMSB10 0 1.1531460 0.867 0.802 0
LTB 0 1.7895423 0.847 0.754 0
S100A4 0 1.1631333 0.839 0.761 0
CFL1 0 1.1258006 0.825 0.754 0
CD74 0 1.6439346 0.732 0.636 0
CD44 0 0.9541085 0.886 0.849 0
PFN1 0 0.8234945 0.946 0.921 0
PIM1 0 1.8312394 0.620 0.411 0
MYADM 0 3.1623209 0.332 0.088 0
EMP3 0 1.7828003 0.583 0.363 0
CRIP1 0 1.5201754 0.740 0.636 0
CYBA 0 1.2051607 0.759 0.667 0
EEF2 0 0.9139576 0.873 0.845 0
ANXA1 0 2.1886695 0.390 0.145 0
ARL4C 0 1.2840720 0.686 0.552 0
CAPN2 0 1.7516855 0.506 0.291 0
S100A6 0 1.1207117 0.732 0.624 0
FMNL1 0 0.9251514 0.793 0.742 0
LY6E 0 1.5373134 0.645 0.509 0
FLNA 0 1.2954350 0.657 0.526 0
AHNAK 0 1.2553346 0.706 0.563 0
ADAM19 0 1.2132461 0.699 0.603 0
TAPBP 0 1.0087549 0.755 0.701 0
TAP1 0 1.1966843 0.659 0.556 0
ARHGEF1 0 0.7613520 0.841 0.822 0
LSP1 0 0.9186143 0.773 0.731 0
ISG15 0 2.2393171 0.467 0.297 0
GPR132 0 2.2624802 0.329 0.143 0
OAS3 0 2.3850757 0.342 0.158 0
FLT3LG 0 1.3912563 0.561 0.426 0
PXN 0 2.3052299 0.293 0.120 0
IFI6 0 2.2708245 0.376 0.201 0
SH3BGRL3 0 0.8579399 0.713 0.671 0
SKI 0 1.2663910 0.555 0.444 0
ARHGAP45 0 0.9885972 0.653 0.588 0
ADAM8 0 1.9284469 0.314 0.155 0
ACTN4 0 1.3201322 0.525 0.415 0
IRF7 0 1.6757345 0.457 0.323 0
AKNA 0 0.6068417 0.837 0.847 0
S100A11 0 1.3800350 0.429 0.270 0
CDKN1B 0 0.9386780 0.730 0.725 0
SOCS3 0 1.9051362 0.357 0.200 0
JUND 0 0.8546504 0.794 0.772 0
BCL3 0 1.5704276 0.439 0.298 0
CNN2 0 0.9454476 0.642 0.593 0
NIBAN1 0 2.0869749 0.262 0.118 0

CD4 T Effector : CD4 T Effector_0 vs CD4 T Effector_1

Top 50 markers: CD4 T Effector_0 vs CD4 T Effector_1
p_val avg_log2FC pct.1 pct.2 p_val_adj
KLRB1 0 1.7649720 0.772 0.333 0
RESF1 0 1.5826746 0.819 0.373 0
COL5A3 0 1.6627788 0.640 0.212 0
SIRPG 0 1.9112105 0.554 0.153 0
CD2 0 0.9178858 0.931 0.658 0
CHI3L2 0 3.2022933 0.399 0.068 0
CD4 0 1.0482067 0.892 0.612 0
PHTF2 0 1.4131561 0.631 0.233 0
EIF1 0 1.2706675 0.673 0.270 0
TBC1D4 0 2.0654149 0.449 0.107 0
GLCCI1 0 1.5755421 0.553 0.178 0
PNRC1 0 0.9760021 0.848 0.536 0
CD3D 0 0.8933402 0.912 0.662 0
RAP1A 0 1.1972723 0.652 0.277 0
ZFP36L1 0 0.9884743 0.827 0.503 0
PITHD1 0 1.9873222 0.404 0.091 0
TRAM1 0 1.3514324 0.559 0.202 0
IL6R 0 1.5661036 0.493 0.153 0
NMRK1 0 1.4614371 0.522 0.177 0
TAF7 0 1.4714432 0.503 0.165 0
TRAC 0 0.7106710 0.948 0.796 0
CD3G 0 1.0367342 0.715 0.353 0
FCMR 0 1.1014167 0.656 0.294 0
ZBTB38 0 1.7968998 0.398 0.101 0
EVI2B 0 1.4214418 0.519 0.190 0
SESN1 0 2.9444452 0.311 0.054 0
LBH 0 1.0381157 0.742 0.409 0
MAP3K4 0 1.2288682 0.561 0.227 0
LTBP3 0 1.3193197 0.478 0.159 0
VPS13C 0 0.9879497 0.713 0.371 0
GIMAP5 0 0.9879183 0.667 0.309 0
SLC38A1 0 1.0050406 0.686 0.334 0
ICOS 0 1.0353513 0.677 0.336 0
TLK1 0 1.1682034 0.567 0.233 0
PCNX2 0 1.2694017 0.494 0.177 0
COL6A3 0 3.1849281 0.259 0.031 0
LNPEP 0 1.1263106 0.614 0.277 0
GIMAP4 0 0.9067454 0.778 0.469 0
RNF19A 0 1.0952405 0.609 0.278 0
IFNAR2 0 1.2137582 0.529 0.213 0
ERBIN 0 1.0556645 0.598 0.260 0
TAB2 0 0.9590423 0.701 0.365 0
ZMYM2 0 1.2670514 0.443 0.145 0
TRPS1 0 1.4087616 0.391 0.115 0
GIMAP7 0 0.7520530 0.840 0.549 0
RABGAP1L 0 0.8432305 0.756 0.414 0
SENP6 0 1.3202539 0.402 0.118 0
PTPN13 0 1.4225109 0.391 0.117 0
GPR183 0 0.9331389 0.676 0.353 0
ITM2A 0 1.0892768 0.535 0.225 0

Pairwise markers within CD4 T Regulatory

ids <- c("CD4 T Regulatory_0","CD4 T Regulatory_1","CD4 T Regulatory_2" )

res_all <- run_de_and_vln(
  cd4_t,
  ids,
  title_prefix = "CD4 T Reg",
  run_one_vs_all = TRUE,
  run_pairwise = TRUE,
  print_table = TRUE
)

CD4 T Reg : CD4 T Regulatory_0 vs_rest

Top 50 markers: CD4 T Regulatory_0 vs_rest
p_val avg_log2FC pct.1 pct.2 p_val_adj
LEF1 0 3.6110373 0.521 0.085 0
KLF2 0 2.9790443 0.532 0.108 0
TCF7 0 2.4181124 0.571 0.189 0
RTKN2 0 3.0998620 0.446 0.087 0
SELL 0 1.4990095 0.749 0.473 0
FCRL3 0 3.1786729 0.378 0.069 0
IKZF2 0 2.2869582 0.474 0.152 0
TXNIP 0 1.2515904 0.858 0.681 0
MAL 0 2.0826104 0.466 0.159 0
SORL1 0 2.7890218 0.337 0.067 0
ID3 0 2.8979790 0.319 0.064 0
SESN3 0 2.0144551 0.519 0.264 0
CXCR4 0 1.1108627 0.709 0.442 0
FOXP3 0 1.0963911 0.698 0.419 0
TIGIT 0 1.1077375 0.737 0.506 0
TMEM63A 0 1.6406465 0.460 0.209 0
STAM 0 1.7759374 0.422 0.179 0
TTC39C 0 1.5568705 0.434 0.193 0
BIRC3 0 1.4041934 0.494 0.255 0
TSC22D3 0 1.0521870 0.666 0.468 0
PDE3B 0 1.9920875 0.282 0.094 0
IL7R 0 0.7702843 0.525 0.284 0
MAGEH1 0 1.6601587 0.385 0.218 0
STK38 0 1.3538497 0.398 0.227 0
RASA3 0 1.3624759 0.399 0.229 0
RIPOR2 0 1.3176121 0.473 0.317 0
LSR 0 1.7019943 0.263 0.106 0
DTX1 0 1.7156163 0.290 0.132 0
LDHB 0 0.8604696 0.656 0.549 0
TMEM123 0 1.2798908 0.401 0.243 0
DGKA 0 0.5951602 0.769 0.662 0
SERPINB9 0 0.9579966 0.434 0.258 0
HAPLN3 0 1.2699813 0.317 0.159 0
TRAF1 0 0.8187706 0.581 0.438 0
TIAM1 0 1.1246824 0.387 0.230 0
FOXO1 0 0.7187533 0.633 0.518 0
LPAR6 0 1.4141501 0.277 0.138 0
RIN3 0 0.9210313 0.445 0.297 0
USP15 0 0.8586866 0.551 0.436 0
MAP3K1 0 1.0634129 0.397 0.259 0
EEF1G 0 0.6000033 0.736 0.668 0
ATM 0 0.7829834 0.600 0.495 0
DENND11 0 1.0860678 0.334 0.201 0
RACK1 0 0.5928728 0.699 0.613 0
LTBP3 0 0.9042953 0.406 0.280 0
RCAN3 0 0.8024890 0.499 0.395 0
IVNS1ABP 0 0.6956523 0.514 0.394 0
PDK1 0 1.2755396 0.283 0.172 0
ESYT2 0 0.7201429 0.484 0.370 0
RASGRP2 0 1.0025516 0.359 0.249 0

CD4 T Reg : CD4 T Regulatory_1 vs_rest

Top 50 markers: CD4 T Regulatory_1 vs_rest
p_val avg_log2FC pct.1 pct.2 p_val_adj
CCR5 0 3.0482706 0.743 0.187 0
GZMK 0 6.0939195 0.520 0.019 0
GZMA 0 6.1868969 0.499 0.018 0
CXCR6 0 2.0297026 0.770 0.312 0
CCL5 0 6.7886656 0.472 0.014 0
CCR2 0 4.6360620 0.345 0.021 0
CCL4 0 6.2416090 0.306 0.007 0
F2R 0 4.3698355 0.305 0.024 0
CXCR3 0 2.1274166 0.497 0.151 0
LAG3 0 1.4750135 0.629 0.241 0
CD38 0 2.5222210 0.482 0.157 0
CST7 0 2.3500186 0.512 0.192 0
SYTL2 0 3.3436191 0.252 0.036 0
THEMIS 0 2.4431078 0.355 0.089 0
CD6 0 1.2267337 0.812 0.622 0
PLAAT4 0 1.4596216 0.717 0.464 0
PDCD1 0 2.1417519 0.427 0.154 0
CHST12 0 2.0907641 0.433 0.159 0
CD2 0 0.9231965 0.880 0.782 0
DTHD1 0 2.3323255 0.264 0.061 0
STOM 0 2.6097392 0.271 0.073 0
SRGN 0 0.8029889 0.906 0.776 0
MAF 0 0.8322957 0.891 0.619 0
WIPF1 0 0.7068633 0.889 0.841 0
TBX21 0 2.4059168 0.255 0.074 0
PTMS 0 1.6621551 0.409 0.183 0
IKZF3 0 0.8070964 0.794 0.592 0
RUNX2 0 1.8454674 0.342 0.136 0
HAVCR2 0 2.0473882 0.362 0.162 0
APOBEC3G 0 1.9383772 0.343 0.142 0
BICDL1 0 1.3754035 0.515 0.295 0
DUSP4 0 2.0606088 0.334 0.140 0
ADAM19 0 1.4889676 0.460 0.247 0
NFATC2 0 1.2007161 0.570 0.370 0
CD81 0 1.5940383 0.370 0.181 0
ITGAL 0 0.7890083 0.753 0.651 0
CNN2 0 0.9196081 0.696 0.563 0
STK17A 0 1.0262428 0.611 0.455 0
APOBEC3C 0 1.3160270 0.449 0.261 0
PFN1 0 0.5519834 0.935 0.914 0
CLEC2D 0 0.7435078 0.779 0.682 0
DRAP1 0 0.9912192 0.627 0.473 0
COTL1 0 1.1602035 0.573 0.430 0
CD96 0 0.9288930 0.580 0.403 0
GIMAP5 0 0.9027676 0.587 0.414 0
CYBA 0 0.9559303 0.713 0.594 0
ITGA4 0 1.0146613 0.519 0.342 0
RASAL3 0 0.9475953 0.614 0.466 0
GIMAP4 0 0.6864012 0.736 0.652 0
CD99 0 0.9078249 0.590 0.438 0

CD4 T Reg : CD4 T Regulatory_2 vs_rest

Top 50 markers: CD4 T Regulatory_2 vs_rest
p_val avg_log2FC pct.1 pct.2 p_val_adj
IL1R1 0 3.2620595 0.640 0.076 0
FURIN 0 2.1050092 0.808 0.257 0
LGMN 0 2.8119672 0.659 0.139 0
COL5A3 0 3.5069478 0.550 0.051 0
ADTRP 0 2.2952197 0.680 0.195 0
PCDH1 0 3.5411374 0.452 0.045 0
IL1R2 0 2.9573110 0.437 0.054 0
RGS6 0 4.1105955 0.288 0.016 0
MAF 0 1.2363902 0.983 0.605 0
FAM174B 0 2.5428010 0.393 0.064 0
CTSH 0 2.6404873 0.340 0.054 0
CCR4 0 1.3696625 0.781 0.338 0
MAST4 0 1.7917832 0.543 0.163 0
INPP1 0 2.1450004 0.427 0.101 0
CCL20 0 2.6170632 0.274 0.033 0
ZC2HC1A 0 2.3601494 0.394 0.087 0
LAG3 0 1.8575763 0.647 0.250 0
GPR25 0 1.6071292 0.373 0.078 0
ZC3H12D 0 1.2553758 0.812 0.455 0
PIM2 0 0.9713748 0.943 0.685 0
CDKL2 0 2.4566733 0.301 0.056 0
IKZF3 0 0.9891702 0.906 0.571 0
LAPTM5 0 0.6843710 0.988 0.916 0
PTMS 0 1.3668660 0.510 0.166 0
CCR6 0 1.7368773 0.385 0.098 0
TRIB2 0 1.1755143 0.847 0.531 0
CHI3L2 0 1.6227323 0.530 0.196 0
ZNRF1 0 1.1559424 0.659 0.278 0
RORA 0 1.1331721 0.758 0.387 0
CERK 0 1.1840231 0.686 0.330 0
CMTM6 0 1.5155448 0.571 0.247 0
RGS1 0 1.0387502 0.836 0.504 0
VPS13C 0 1.0478348 0.795 0.482 0
PHTF2 0 1.0641836 0.749 0.398 0
TNIP3 0 1.8919130 0.373 0.113 0
TNFRSF1B 0 1.0689642 0.890 0.631 0
GPR183 0 1.0651120 0.744 0.394 0
KLRB1 0 1.2603358 0.452 0.158 0
OSTF1 0 1.0555962 0.678 0.345 0
PBXIP1 0 0.8497188 0.853 0.530 0
IL6R 0 1.0119040 0.706 0.368 0
SLAMF1 0 0.9696155 0.723 0.385 0
IL2RA 0 1.0292780 0.659 0.324 0
MICAL2 0 1.2732241 0.440 0.162 0
KAT2B 0 1.1234750 0.643 0.329 0
CD2 0 0.6295501 0.956 0.766 0
F5 0 1.1826745 0.499 0.214 0
IL10 0 1.4108944 0.267 0.072 0
UCP2 0 0.8523442 0.899 0.704 0
FAS 0 1.0474950 0.554 0.259 0

CD4 T Reg : CD4 T Regulatory_0 vs CD4 T Regulatory_1

Top 50 markers: CD4 T Regulatory_0 vs CD4 T Regulatory_1
p_val avg_log2FC pct.1 pct.2 p_val_adj
FOXP3 0 3.6200779 0.698 0.108 0
SELL 0 2.1228633 0.749 0.291 0
LEF1 0 3.2810742 0.521 0.096 0
RTKN2 0 4.3731576 0.446 0.035 0
IKZF2 0 3.3555250 0.474 0.067 0
KLF2 0 2.7876994 0.532 0.125 0
IL7R 0 2.2040026 0.525 0.102 0
LTB 0 1.2787427 0.879 0.580 0
TCF7 0 2.3673521 0.571 0.177 0
TXNIP 0 1.4449772 0.858 0.594 0
BIRC3 0 2.5927035 0.494 0.119 0
SESN3 0 2.4869275 0.519 0.169 0
FCRL3 0 3.2105145 0.378 0.063 0
MAL 0 2.1430083 0.466 0.134 0
STAM 0 2.3407678 0.422 0.108 0
TMEM63A 0 2.0026088 0.460 0.144 0
TSC22D3 0 1.3174219 0.666 0.367 0
TIGIT 0 1.1543994 0.737 0.450 0
CXCR4 0 1.0748904 0.709 0.397 0
IL2RA 0 2.1427751 0.405 0.116 0
ID3 0 2.6293848 0.319 0.064 0
TTC39C 0 1.6854765 0.434 0.159 0
DTX1 0 2.8878498 0.290 0.057 0
SORL1 0 2.1568416 0.337 0.096 0
MAP3K1 0 1.8540021 0.397 0.152 0
CCR4 0 1.6405351 0.411 0.151 0
DGKA 0 0.8229669 0.769 0.562 0
LSR 0 2.5505731 0.263 0.052 0
FOXO1 0 1.0074858 0.633 0.399 0
EEF1G 0 0.9125433 0.736 0.562 0
MAGEH1 0 2.0415501 0.385 0.163 0
LDHB 0 1.0262893 0.656 0.459 0
PHACTR2 0 1.9126388 0.308 0.104 0
TRAF1 0 0.9829432 0.581 0.355 0
TMEM123 0 1.4940720 0.401 0.187 0
PNRC1 0 0.6283886 0.820 0.648 0
LPAR6 0 2.1197709 0.277 0.083 0
EIF1 0 0.8223152 0.671 0.454 0
PDK1 0 2.1684604 0.283 0.091 0
USP15 0 1.0912219 0.551 0.342 0
RIN3 0 1.1435960 0.445 0.223 0
LTBP3 0 1.3029855 0.406 0.187 0
IVNS1ABP 0 1.0097404 0.514 0.289 0
DUSP1 0 1.2057142 0.528 0.313 0
RIPOR2 0 1.3575426 0.473 0.270 0
SLC12A6 0 1.4948800 0.373 0.173 0
BTG1 0 0.5496204 0.888 0.749 0
SGPP1 0 1.3140595 0.395 0.199 0
DENND11 0 1.4178545 0.334 0.143 0
GLCCI1 0 1.0309086 0.497 0.302 0

CD4 T Reg : CD4 T Regulatory_0 vs CD4 T Regulatory_2

Top 50 markers: CD4 T Regulatory_0 vs CD4 T Regulatory_2
p_val avg_log2FC pct.1 pct.2 p_val_adj
LEF1 0 4.1084715 0.521 0.072 0
KLF2 0 3.2328254 0.532 0.089 0
TCF7 0 2.4777288 0.571 0.203 0
SORL1 0 4.2064757 0.337 0.034 0
FCRL3 0 3.1405336 0.378 0.077 0
RTKN2 0 2.3601145 0.446 0.147 0
MAL 0 2.0159172 0.466 0.188 0
PDE3B 0 4.0288678 0.282 0.034 0
ID3 0 3.2780819 0.319 0.065 0
TXNIP 0 1.0585629 0.858 0.781 0
CXCR4 0 1.1528904 0.709 0.493 0
TIGIT 0 1.0561610 0.737 0.570 0
IKZF2 0 1.6110082 0.474 0.250 0
SELL 0 1.0129800 0.749 0.680 0
TTC39C 0 1.4222016 0.434 0.232 0
SESN3 0 1.6149961 0.519 0.373 0
RASA3 0 1.7408643 0.399 0.210 0
TMEM63A 0 1.3145199 0.460 0.284 0
SERPINB9 0 1.2742539 0.434 0.254 0
STAM 0 1.3214891 0.422 0.260 0
CD96 0 1.1900389 0.446 0.278 0
STK38 0 1.4673226 0.398 0.240 0
ZFP36L2 0 0.9117202 0.642 0.543 0
BCL9L 0 1.2299829 0.440 0.300 0
HAPLN3 0 1.4966066 0.317 0.172 0
TSC22D3 0 0.7991551 0.666 0.583 0
RIPOR2 0 1.2728966 0.473 0.371 0
ATM 0 0.8641210 0.600 0.541 0
TIAM1 0 1.0654158 0.387 0.268 0
ITM2A 0 1.1060603 0.470 0.380 0
MAGEH1 0 1.3204229 0.385 0.282 0
TMEM123 0 1.0683356 0.401 0.307 0
LDHB 0 0.6918093 0.656 0.651 0
ITPKB 0 0.8018309 0.557 0.501 0
ITGB7 0 1.2505732 0.287 0.177 0
CD48 0 0.6457067 0.633 0.584 0
RASGRP2 0 1.1857513 0.359 0.262 0
IL16 0 0.5063878 0.697 0.688 0
LIMD2 0 0.5176747 0.723 0.722 0
FAM102A 0 0.6333823 0.617 0.590 0
BIRC3 0 0.6899625 0.494 0.411 0
TRAF1 0 0.6515374 0.581 0.534 0
LSR 0 1.1089205 0.263 0.168 0
ARHGEF18 0 1.2725311 0.282 0.201 0
C12orf57 0 0.5952274 0.593 0.557 0
ST8SIA1 0 1.1091361 0.257 0.166 0
RGCC 0 1.1614354 0.264 0.178 0
PCED1B 0 0.9519935 0.387 0.316 0
SFI1 0 0.9570060 0.336 0.255 0
SEMA4D 0 0.9424527 0.345 0.271 0

CD4 T Reg : CD4 T Regulatory_1 vs CD4 T Regulatory_2

Top 50 markers: CD4 T Regulatory_1 vs CD4 T Regulatory_2
p_val avg_log2FC pct.1 pct.2 p_val_adj
GZMK 0 6.9249832 0.520 0.016 0
GZMA 0 5.5530801 0.499 0.032 0
CCL5 0 6.5572716 0.472 0.020 0
CCR5 0 1.9463574 0.743 0.421 0
PLAAT4 0 1.8475958 0.717 0.464 0
CCL4 0 4.5488567 0.306 0.019 0
CXCR3 0 2.3644759 0.497 0.167 0
CD96 0 1.8947177 0.580 0.278 0
CCR2 0 3.2960151 0.345 0.057 0
CST7 0 2.2479090 0.512 0.240 0
THEMIS 0 2.5397247 0.355 0.093 0
CLEC2D 0 1.0717252 0.779 0.667 0
TRAT1 0 2.4883271 0.340 0.105 0
F2R 0 2.6406874 0.305 0.083 0
PDCD1 0 1.9773432 0.427 0.202 0
BICDL1 0 1.6899670 0.515 0.303 0
PRF1 0 3.0690392 0.306 0.099 0
CD38 0 1.8624039 0.482 0.275 0
ADA2 0 2.0449166 0.338 0.125 0
CXCR6 0 0.9898317 0.770 0.649 0
ZFP36L2 0 1.2309536 0.675 0.543 0
CHST12 0 1.8334511 0.433 0.224 0
WIPF1 0 0.5925470 0.889 0.914 0
ITGA4 0 1.5054485 0.519 0.328 0
DUSP4 0 2.3607268 0.334 0.155 0
ITGAL 0 0.7738370 0.753 0.735 0
NFATC2 0 1.2153129 0.570 0.443 0
CNN2 0 0.9268627 0.696 0.622 0
STOM 0 2.2956858 0.271 0.107 0
ST8SIA1 0 1.6665420 0.344 0.166 0
APOBEC3G 0 1.7874088 0.343 0.175 0
SYTL2 0 1.9925069 0.252 0.098 0
SPN 0 0.9940746 0.632 0.564 0
DRAP1 0 0.9486620 0.627 0.563 0
CBLB 0 1.0506044 0.525 0.404 0
LY6E 0 1.1064257 0.627 0.567 0
ARHGEF1 0 0.5456904 0.855 0.876 0
STK17A 0 0.8951501 0.611 0.559 0
ATXN1 0 1.3339084 0.424 0.295 0
LSP1 0 0.7418617 0.777 0.771 0
BST2 0 1.3104259 0.481 0.377 0
TBX21 0 1.8812933 0.255 0.124 0
COTL1 0 1.0431124 0.573 0.516 0
CYBA 0 0.8638183 0.713 0.693 0
CD99 0 0.8504894 0.590 0.531 0
C16orf54 0 1.3069411 0.342 0.219 0
TAP1 0 0.7830821 0.651 0.624 0
ARRB2 0 1.2458112 0.359 0.244 0
LYST 0 1.1773356 0.455 0.372 0
AKNA 0 0.5088662 0.855 0.884 0

Cd8 T cells

cd8_t <-  subset(paed_sub, idents = "CD8 T")
keep_cells <- paed_sub$cell_labels_l1 %in% "CD8 T"
cd8_t@assays$RNA@cells@.Data <- paed_sub@assays$RNA@cells@.Data[keep_cells, ]
cd8_t
An object of class Seurat 
18076 features across 38149 samples within 1 assay 
Active assay: RNA (18076 features, 2000 variable features)
 3 layers present: data, counts, scale.data
 4 dimensional reductions calculated: pca, umap.unintegrated, umap.l1, umap.sub
out <- here("output/RDS/Lineages_RDS_combined/SEU_CD8T_Cells.rds")

if (!file.exists(out)) {
  cd8_t <- cd8_t %>%
  FindVariableFeatures() %>%
  ScaleData() %>%
  RunPCA() 
  
  gc() 
  cd8_t <- RunUMAP(cd8_t, dims = 1:30, reduction = "pca", reduction.name = "umap.cd8T")

  meta_data_columns <- colnames(cd8_t@meta.data)
  columns_to_remove <- grep("^RNA_snn_res", meta_data_columns, value = TRUE)
  cd8_t@meta.data <- cd8_t@meta.data[, !(colnames(cd8_t@meta.data) %in% columns_to_remove)]
  resolutions <- seq(0.1, 0.5, by = 0.1)
  cd8_t <- FindNeighbors(cd8_t, dims = 1:30, reduction = "pca")
  cd8_t <- FindClusters(cd8_t, resolution = resolutions )
  
  saveRDS(cd8_t, out)

} else {
  cd8_t <- readRDS(out)
}
clustree(cd8_t, prefix = "RNA_snn_res.")

DimPlot(cd8_t, group.by = "RNA_snn_res.0.1", reduction = "umap.cd8T", label = TRUE, label.size = 2.5, repel = TRUE, raster = FALSE )

DimPlot(cd8_t, group.by = "RNA_snn_res.0.1", reduction = "umap.cd8T", label = TRUE, label.size = 2.5, repel = TRUE, raster = FALSE, split.by = "tissue" )

opt_res <- "RNA_snn_res.0.1"  
n <- nlevels(cd8_t$RNA_snn_res.0.1)
cd8_t$RNA_snn_res.0.1 <- factor(cd8_t$RNA_snn_res.0.1, levels = seq(0,n-1))
cd8_t$seurat_clusters <- NULL
cd8_t$cluster <- cd8_t$RNA_snn_res.0.1
Idents(cd8_t) <- cd8_t$cluster

confirming cluster 1 is naive Cd8 T

FeaturePlot(cd8_t, features = c("CCR7", "SELL", "LEF1"), ncol = 3, reduction = "umap.cd8T", label = T)

FeaturePlot(cd8_t, features = c("NELL2", "CD8A","TRABD2A","CCR7","OXNAD1"), ncol = 3, reduction = "umap.cd8T", label = T)

FeaturePlot(cd8_t, features = c("CCR7", "CD69"), ncol = 3, reduction = "umap.cd8T", label = T)

FeaturePlot(cd8_t, features = c("CCR7", "SELL", "CD27", "CD28", "IL7R"), ncol = 3, reduction = "umap.cd8T", label = T)

FeaturePlot(cd8_t, features = c("ITGB1", "GZMK", "CX3CR1", "CD44"), ncol = 3, reduction = "umap.cd8T", label = T)

Idents(cd8_t) <- "RNA_snn_res.0.1"
new.cluster.ids <- c("CD8 T Memory", 
                     "CD8 T Naive", 
                     "CD8 TRM/EM",
                     "CD8 T Memory"
                     )
names(new.cluster.ids) <- levels(cd8_t)
cd8_t <- RenameIdents(cd8_t, new.cluster.ids)
cd8_t$cell_labels_l2 <- Idents(cd8_t)

Subclustering CD8 T cells clusters-

cd8_t <- FindSubCluster(cd8_t, cluster = "CD8 T Memory", graph.name = "RNA_snn", resolution = 0.1, subcluster.name = "T_sub")
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck

Number of nodes: 21043
Number of edges: 612607

Running Louvain algorithm...
Maximum modularity in 10 random starts: 0.9306
Number of communities: 4
Elapsed time: 2 seconds
DimPlot(cd8_t, raster = F, reduction = "umap.cd8T", label = T, group.by = "T_sub", repel = T)

Idents(cd8_t) <- cd8_t$T_sub
cd8_t <- FindSubCluster(cd8_t, cluster = "CD8 T Naive", graph.name = "RNA_snn", resolution = 0.1, subcluster.name = "T_sub")
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck

Number of nodes: 9105
Number of edges: 280470

Running Louvain algorithm...
Maximum modularity in 10 random starts: 0.9142
Number of communities: 2
Elapsed time: 1 seconds
DimPlot(cd8_t, raster = F, reduction = "umap.cd8T", label = T, group.by = "T_sub", repel = T)

Idents(cd8_t) <- cd8_t$T_sub
cd8_t <- FindSubCluster(cd8_t, cluster = "CD8 TRM/EM", graph.name = "RNA_snn", resolution = 0.1, subcluster.name = "T_sub")
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck

Number of nodes: 8001
Number of edges: 233699

Running Louvain algorithm...
Maximum modularity in 10 random starts: 0.9009
Number of communities: 2
Elapsed time: 0 seconds
DimPlot(cd8_t, raster = F, reduction = "umap.cd8T", label = T, group.by = "T_sub", repel = T)

Idents(cd8_t) <- cd8_t$T_sub

Renaming idents

new_levels <- c(
    "CD8 T Naive_0",
    "CD8 T Naive_1",
   "CD8 T Memory_0",
     "CD8 T Memory_1",
     "CD8 T Memory_2",
     "CD8 T Memory_3",
"CD8 TRM/EM_0",
"CD8 TRM/EM_1"
)
Seurat::Idents(cd8_t) <- factor(
  Seurat::Idents(cd8_t),
  levels = new_levels
)

cd8_t$cell_labels_l3 <- Idents(cd8_t)
table(cd8_t$cell_labels_l3, cd8_t$tissue)
                
                 Tonsils Adenoids Nasal_brushings Bronchial_brushings  BAL
  CD8 T Naive_0     4285     3828              68                  22   15
  CD8 T Naive_1      408      476               3                   0    0
  CD8 T Memory_0     127      252            7934                1990  547
  CD8 T Memory_1      72      222            4731                1894  467
  CD8 T Memory_2      21       16              36                  67 1414
  CD8 T Memory_3      23       67             905                 184   74
  CD8 TRM/EM_0      4276     2942             345                  64   24
  CD8 TRM/EM_1       121      187              39                   2    1
df_counts <- cd8_t@meta.data |>
  count(cell_labels_l3, tissue, name = "n")
df_totals <- df_counts |>
  group_by(cell_labels_l3) |>
  summarise(total = sum(n), .groups = "drop")

ggplot(df_counts, aes(x = cell_labels_l3, y = n, fill = tissue)) +
  geom_bar(stat = "identity", position = "stack") +
  geom_text(data = df_totals,
            aes(x = cell_labels_l3, y = total, label = total),
            vjust = -0.3, size = 3, inherit.aes = FALSE) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
  labs(x = "cluster at l3",
       y = "Number of cells",
       fill = "Tissue")

DE features of Cd8 T cells

The marker genes for this subclustering can be found here-

CD8T_population_subclusters

gc()
             used    (Mb) gc trigger    (Mb) limit (Mb)   max used    (Mb)
Ncells    4676111   249.8   10019789   535.2         NA   10019789   535.2
Vcells 1667906233 12725.2 3537421340 26988.4     163840 3537421340 26988.4
paed_sub.markers <- FindAllMarkers(
  cd8_t,
  features = features.no.mt,
  only.pos = TRUE,
  min.pct = 0.25,
  logfc.threshold = 0.25
)
Calculating cluster CD8 T Naive_0
Calculating cluster CD8 T Naive_1
Calculating cluster CD8 T Memory_0
Calculating cluster CD8 T Memory_1
Calculating cluster CD8 T Memory_2
Calculating cluster CD8 T Memory_3
Calculating cluster CD8 TRM/EM_0
Calculating cluster CD8 TRM/EM_1
gc()
             used    (Mb) gc trigger    (Mb) limit (Mb)   max used    (Mb)
Ncells    4675193   249.7   10019789   535.2         NA   10019789   535.2
Vcells 1667887310 12725.0 3537421340 26988.4     163840 3537421340 26988.4
top10 <- paed_sub.markers %>%
    group_by(cluster) %>%
    top_n(n = 10, wt = avg_log2FC) %>%
    ungroup() %>%
    distinct(gene, .keep_all = TRUE) %>%
    arrange(cluster, desc(avg_log2FC))


best.wilcox.gene.per.cluster <- paed_sub.markers |>
  group_by(cluster) |>
  slice_max(avg_log2FC, n = 1) |>
  select(cluster, gene)
best.wilcox.gene.per.cluster
# A tibble: 8 × 2
# Groups:   cluster [8]
  cluster        gene   
  <fct>          <chr>  
1 CD8 T Naive_0  NOG    
2 CD8 T Naive_1  IFIT3  
3 CD8 T Memory_0 ALOX5AP
4 CD8 T Memory_1 ATP8B4 
5 CD8 T Memory_2 CISH   
6 CD8 T Memory_3 ZBTB16 
7 CD8 TRM/EM_0   CXCR5  
8 CD8 TRM/EM_1   LAMP3  
FeaturePlot(
  cd8_t,
  features = best.wilcox.gene.per.cluster$gene,
  reduction = "umap.cd8T",
  raster = FALSE,
  repel = TRUE,
  ncol = 1,
  label = TRUE,
  split.by = "tissue"
) 

Note: CD4 T Memory_3 is potentially T-IFN

cd8_t <- ScaleData(
  cd8_t,
  features = unique(top10$gene),
  assay = "RNA",
  verbose = FALSE
)
Warning: Different features in new layer data than already exists for
scale.data
DoHeatmap(cd8_t, features = unique(top10$gene), angle = 90) + NoLegend()

## Seurat top markers
cluster_colors <- paletteer::paletteer_d("pals::glasbey")[factor(top10$cluster)]

DotPlot(cd8_t,    
        features = unique(top10$gene),
        group.by = "cell_labels_l3",
        cols = c("azure1", "blueviolet"),
        dot.scale = 3, assay = "RNA") +
    RotatedAxis() +
    FontSize(y.text = 8, x.text = 12) +
    labs(y = element_blank(), x = element_blank()) +
    coord_flip() +
    theme(axis.text.y = element_text(color = cluster_colors)) +
    ggtitle("Top 10 marker genes per cluster (Seurat)")
Warning: Vectorized input to `element_text()` is not officially supported.
ℹ Results may be unexpected or may change in future versions of ggplot2.

marker_counts <- paed_sub.markers %>%
    filter(avg_log2FC > 1 & p_val_adj < 0.05) %>%  
    count(cluster, name = "n_markers") %>%
    arrange(desc(n_markers))

print(marker_counts)
         cluster n_markers
1  CD8 T Naive_1       162
2  CD8 T Naive_0       155
3   CD8 TRM/EM_1       114
4 CD8 T Memory_1        68
5 CD8 T Memory_3        52
6   CD8 TRM/EM_0        44
7 CD8 T Memory_2        38
8 CD8 T Memory_0        29
ggplot(marker_counts, aes(x = reorder(cluster, n_markers), y = n_markers)) +
    geom_col(fill = "steelblue", alpha = 0.8) +
    coord_flip() +
    labs(title = "High-confidence markers per subcluster (logFC > 1)",
         x = "Subcluster", y = "Number of markers") +
    theme_minimal()

out_markers <- here("output",
            "CSV_v3","T_cell_lineage",
            paste("Marker_genes_Reclustered_Cd8T.",opt_res, sep = ""))

dir.create(out_markers, recursive = TRUE, showWarnings = FALSE)

for (cl in unique(paed_sub.markers$cluster)) {
  cluster_data <- paed_sub.markers %>% dplyr::filter(cluster == cl)
  file_name <- here(out_markers, paste0("G000231_Neeland_", cl, ".csv"))
  if (!file.exists(file_name)) {
  write.csv(cluster_data, file = file_name)
  }
}

Pairwise markers within CD8 T Naive

naive_ids <- c("CD8 T Naive_0","CD8 T Naive_1")

res_all <- run_de_and_vln(
  cd8_t,
  naive_ids,
  title_prefix = "CD8 T Naive",
  run_one_vs_all = TRUE,
  run_pairwise = TRUE,
  print_table = TRUE
)

CD8 T Naive : CD8 T Naive_0 vs_rest

Top 50 markers: CD8 T Naive_0 vs_rest
p_val avg_log2FC pct.1 pct.2 p_val_adj
CD52 0 0.6429317 0.834 0.711 0.0000000
SPOCK2 0 0.7710545 0.736 0.590 0.0000000
NELL2 0 0.6593796 0.804 0.645 0.0000000
KLRK1 0 0.6573124 0.794 0.612 0.0000000
VIM 0 0.5797152 0.841 0.725 0.0000000
APBB1IP 0 0.6850899 0.662 0.522 0.0000000
CD96 0 0.5332530 0.789 0.709 0.0000000
CD248 0 0.8561925 0.543 0.382 0.0000000
KLRC4 0 1.4786896 0.272 0.113 0.0000000
IL7R 0 0.5777033 0.819 0.715 0.0000000
CD27 0 0.5796326 0.723 0.611 0.0000000
TBC1D10C 0 0.5858791 0.730 0.613 0.0000000
PDE7A 0 0.5651752 0.732 0.632 0.0000000
OXNAD1 0 0.5106936 0.740 0.654 0.0000000
PIK3IP1 0 0.6176177 0.645 0.522 0.0000000
PECAM1 0 0.6515123 0.556 0.411 0.0000000
CHMP7 0 0.5448229 0.653 0.526 0.0000000
TSPAN32 0 1.1784593 0.300 0.166 0.0000000
DDIT4 0 0.6554269 0.594 0.479 0.0000000
TSC22D3 0 0.5978378 0.668 0.573 0.0000000
UCP2 0 0.5158131 0.713 0.613 0.0000000
RASA3 0 0.6272000 0.554 0.427 0.0000000
SIGIRR 0 0.5766638 0.559 0.440 0.0000000
NOG 0 0.7970832 0.405 0.271 0.0000000
TNRC6C 0 0.7749054 0.428 0.304 0.0000000
YPEL3 0 0.8543608 0.369 0.251 0.0000000
PLEC 0 0.7733844 0.359 0.232 0.0000000
C12orf57 0 0.5202583 0.636 0.542 0.0000000
LDLRAP1 0 0.6423483 0.473 0.354 0.0000000
EIF3L 0 0.5380881 0.571 0.475 0.0000000
S100A6 0 0.5649504 0.518 0.407 0.0000000
ARRB2 0 0.5748324 0.478 0.375 0.0000001
CRTAM 0 0.8677446 0.265 0.165 0.0000003
CCNL2 0 0.5527657 0.544 0.477 0.0000007
LIME1 0 0.9121722 0.283 0.192 0.0000010
CCDC141 0 0.8147461 0.295 0.201 0.0000034
FCGBP 0 0.8712735 0.313 0.225 0.0000074
RGCC 0 0.7278376 0.335 0.240 0.0000118
KCNAB2 0 0.5262352 0.452 0.357 0.0000203
TMEM204 0 0.6363989 0.347 0.249 0.0000209
SIRPG 0 0.5132783 0.472 0.384 0.0000359
AP1M1 0 0.5130681 0.462 0.374 0.0000409
TSPAN14 0 0.5442164 0.431 0.343 0.0000609
STMN3 0 0.7323899 0.297 0.211 0.0000730
TNFRSF1A 0 0.7459482 0.307 0.220 0.0000876
AOAH 0 0.7505015 0.273 0.187 0.0001328
CABIN1 0 0.6665353 0.287 0.200 0.0001440
C16orf54 0 0.5296180 0.483 0.414 0.0001729
TXK 0 0.5705751 0.412 0.327 0.0002022
CCM2 0 0.6338437 0.319 0.236 0.0003617

CD8 T Naive : CD8 T Naive_1 vs_rest

Top 50 markers: CD8 T Naive_1 vs_rest
p_val avg_log2FC pct.1 pct.2 p_val_adj
IFI44L 0 4.089792 0.949 0.165 0
OAS1 0 5.010041 0.825 0.076 0
MX1 0 4.518293 0.941 0.195 0
IFIT1 0 6.153574 0.762 0.031 0
IFI44 0 3.572518 0.936 0.216 0
RSAD2 0 5.365762 0.753 0.064 0
OAS3 0 4.341243 0.816 0.127 0
XAF1 0 3.130677 0.897 0.230 0
ISG15 0 4.090492 0.897 0.242 0
IFI6 0 4.203868 0.877 0.228 0
CMPK2 0 4.280377 0.718 0.081 0
EPSTI1 0 3.471274 0.754 0.148 0
SAMD9L 0 3.157257 0.815 0.215 0
IRF7 0 2.962806 0.869 0.270 0
IFIT3 0 6.991976 0.601 0.012 0
HELZ2 0 3.648056 0.660 0.103 0
MX2 0 2.833979 0.832 0.279 0
EIF2AK2 0 2.898302 0.710 0.190 0
OAS2 0 2.897867 0.962 0.443 0
DDX60 0 2.646927 0.737 0.221 0
HERC6 0 3.313869 0.599 0.100 0
IFIT2 0 5.333460 0.511 0.032 0
HERC5 0 4.953677 0.508 0.034 0
TRIM22 0 2.289053 0.926 0.476 0
USP18 0 4.385878 0.487 0.040 0
STAT1 0 2.343611 0.956 0.518 0
LY6E 0 2.303852 0.940 0.513 0
PLSCR1 0 3.645294 0.470 0.064 0
LAMP3 0 5.539675 0.380 0.013 0
OASL 0 5.351756 0.361 0.012 0
PARP9 0 2.549136 0.684 0.176 0
IFI16 0 2.218688 0.797 0.339 0
IFIH1 0 2.848298 0.548 0.132 0
DTX3L 0 2.175428 0.728 0.265 0
PARP14 0 2.270933 0.708 0.251 0
ZBP1 0 3.173437 0.354 0.050 0
DDX60L 0 2.450863 0.607 0.182 0
IFI35 0 2.752360 0.485 0.111 0
DDX58 0 2.683299 0.568 0.162 0
SAMD9 0 2.463870 0.570 0.162 0
GBP1 0 2.387246 0.722 0.295 0
LGALS9 0 3.123157 0.342 0.051 0
UBE2L6 0 2.065988 0.741 0.306 0
TRIM25 0 2.336092 0.565 0.159 0
TNFSF10 0 3.450816 0.481 0.121 0
BST2 0 1.995011 0.719 0.292 0
STAT2 0 2.309400 0.579 0.185 0
IFITM3 0 3.495885 0.280 0.037 0
APOL6 0 1.906970 0.791 0.398 0
HSH2D 0 2.482121 0.406 0.090 0

CD8 T Naive : CD8 T Naive_0 vs CD8 T Naive_1

Top 50 markers: CD8 T Naive_0 vs CD8 T Naive_1
p_val avg_log2FC pct.1 pct.2 p_val_adj
CD52 0 0.6429317 0.834 0.711 0.0000000
SPOCK2 0 0.7710545 0.736 0.590 0.0000000
NELL2 0 0.6593796 0.804 0.645 0.0000000
KLRK1 0 0.6573124 0.794 0.612 0.0000000
VIM 0 0.5797152 0.841 0.725 0.0000000
APBB1IP 0 0.6850899 0.662 0.522 0.0000000
CD96 0 0.5332530 0.789 0.709 0.0000000
CD248 0 0.8561925 0.543 0.382 0.0000000
KLRC4 0 1.4786896 0.272 0.113 0.0000000
IL7R 0 0.5777033 0.819 0.715 0.0000000
CD27 0 0.5796326 0.723 0.611 0.0000000
TBC1D10C 0 0.5858791 0.730 0.613 0.0000000
PDE7A 0 0.5651752 0.732 0.632 0.0000000
OXNAD1 0 0.5106936 0.740 0.654 0.0000000
PIK3IP1 0 0.6176177 0.645 0.522 0.0000000
PECAM1 0 0.6515123 0.556 0.411 0.0000000
CHMP7 0 0.5448229 0.653 0.526 0.0000000
TSPAN32 0 1.1784593 0.300 0.166 0.0000000
DDIT4 0 0.6554269 0.594 0.479 0.0000000
TSC22D3 0 0.5978378 0.668 0.573 0.0000000
UCP2 0 0.5158131 0.713 0.613 0.0000000
RASA3 0 0.6272000 0.554 0.427 0.0000000
SIGIRR 0 0.5766638 0.559 0.440 0.0000000
NOG 0 0.7970832 0.405 0.271 0.0000000
TNRC6C 0 0.7749054 0.428 0.304 0.0000000
YPEL3 0 0.8543608 0.369 0.251 0.0000000
PLEC 0 0.7733844 0.359 0.232 0.0000000
C12orf57 0 0.5202583 0.636 0.542 0.0000000
LDLRAP1 0 0.6423483 0.473 0.354 0.0000000
EIF3L 0 0.5380881 0.571 0.475 0.0000000
S100A6 0 0.5649504 0.518 0.407 0.0000000
ARRB2 0 0.5748324 0.478 0.375 0.0000001
CRTAM 0 0.8677446 0.265 0.165 0.0000003
CCNL2 0 0.5527657 0.544 0.477 0.0000007
LIME1 0 0.9121722 0.283 0.192 0.0000010
CCDC141 0 0.8147461 0.295 0.201 0.0000034
FCGBP 0 0.8712735 0.313 0.225 0.0000074
RGCC 0 0.7278376 0.335 0.240 0.0000118
KCNAB2 0 0.5262352 0.452 0.357 0.0000203
TMEM204 0 0.6363989 0.347 0.249 0.0000209
SIRPG 0 0.5132783 0.472 0.384 0.0000359
AP1M1 0 0.5130681 0.462 0.374 0.0000409
TSPAN14 0 0.5442164 0.431 0.343 0.0000609
STMN3 0 0.7323899 0.297 0.211 0.0000730
TNFRSF1A 0 0.7459482 0.307 0.220 0.0000876
AOAH 0 0.7505015 0.273 0.187 0.0001328
CABIN1 0 0.6665353 0.287 0.200 0.0001440
C16orf54 0 0.5296180 0.483 0.414 0.0001729
TXK 0 0.5705751 0.412 0.327 0.0002022
CCM2 0 0.6338437 0.319 0.236 0.0003617

Pairwise markers within CD8 T Memory

ids <- c("CD8 T Memory_0","CD8 T Memory_1","CD8 T Memory_2", "CD8 T Memory_3" )

res_all <- run_de_and_vln(
  cd8_t,
  ids,
  title_prefix = "CD8 T Memory",
  run_one_vs_all = TRUE,
  run_pairwise = TRUE,
  print_table = TRUE
)

CD8 T Memory : CD8 T Memory_0 vs_rest

Top 50 markers: CD8 T Memory_0 vs_rest
p_val avg_log2FC pct.1 pct.2 p_val_adj
CD6 0 1.2429580 0.602 0.311 0e+00
CD8A 0 0.7977304 0.919 0.678 0e+00
CD2 0 0.8200010 0.800 0.653 0e+00
GRAP2 0 1.4444664 0.386 0.164 0e+00
THEMIS 0 1.1303877 0.507 0.275 0e+00
SPOCK2 0 0.7217716 0.548 0.326 0e+00
PAG1 0 1.1467872 0.383 0.190 0e+00
CD5 0 1.2215874 0.337 0.159 0e+00
SIT1 0 1.4492777 0.265 0.108 0e+00
CXCR6 0 0.5583129 0.791 0.679 0e+00
JUN 0 0.7568351 0.585 0.427 0e+00
MGAT4A 0 1.0509042 0.292 0.141 0e+00
CD74 0 0.5516723 0.797 0.711 0e+00
LAT 0 0.7780465 0.519 0.374 0e+00
COTL1 0 0.6525690 0.596 0.468 0e+00
BCL11B 0 0.7201053 0.493 0.355 0e+00
GZMM 0 1.0373066 0.292 0.164 0e+00
ALOX5AP 0 0.6172555 0.615 0.500 0e+00
ITM2C 0 0.7406850 0.474 0.347 0e+00
FKBP11 0 0.8463362 0.366 0.241 0e+00
CCR5 0 0.6053830 0.548 0.439 0e+00
FYB1 0 0.5067270 0.630 0.532 0e+00
JAML 0 0.5644695 0.546 0.433 0e+00
GIMAP4 0 0.8075917 0.331 0.214 0e+00
ITGB2 0 0.7332893 0.279 0.173 0e+00
STAT1 0 0.8449952 0.369 0.270 0e+00
ORMDL3 0 0.6469568 0.394 0.298 0e+00
PLEKHF1 0 0.5663697 0.433 0.342 0e+00
UCP2 0 0.5336800 0.475 0.387 0e+00
GBP5 0 0.5729444 0.427 0.338 0e+00
APOL3 0 0.7476716 0.264 0.180 0e+00
LBH 0 0.5558657 0.423 0.341 0e+00
BCL9L 0 0.6142142 0.353 0.269 0e+00
SH3KBP1 0 0.6559173 0.280 0.204 0e+00
CXCR3 0 0.5544752 0.376 0.299 0e+00
ARRB2 0 0.5157930 0.381 0.306 0e+00
GIMAP5 0 0.5314806 0.264 0.198 0e+00
GZMH 0 0.6675383 0.254 0.194 0e+00
MXD4 0 0.5356001 0.319 0.262 0e+00
ISG15 0 0.6287612 0.309 0.263 0e+00
IFI6 0 0.6162004 0.304 0.274 1e-07

CD8 T Memory : CD8 T Memory_1 vs_rest

Top 50 markers: CD8 T Memory_1 vs_rest
p_val avg_log2FC pct.1 pct.2 p_val_adj
GNLY 0 2.4132612 0.651 0.176 0
CSF1 0 1.9342218 0.624 0.205 0
KLRC3 0 2.2083494 0.515 0.131 0
RIN3 0 1.5990493 0.630 0.256 0
HOPX 0 1.4419134 0.654 0.301 0
PIK3AP1 0 1.8628358 0.499 0.152 0
KLRC1 0 1.8419687 0.478 0.146 0
KLRC4 0 1.2711636 0.603 0.283 0
CTSW 0 1.3476149 0.587 0.284 0
CD7 0 1.1173934 0.889 0.600 0
CLNK 0 1.7253457 0.386 0.109 0
FCRL6 0 1.5118944 0.437 0.163 0
ENTPD1 0 1.6345378 0.406 0.146 0
IL2RB 0 0.9952386 0.867 0.625 0
NCR1 0 3.0299575 0.273 0.033 0
TRDC 0 3.5891313 0.270 0.033 0
ATP8B4 0 3.3254759 0.250 0.025 0
IKZF2 0 2.2603396 0.273 0.054 0
PLCG2 0 2.6688880 0.251 0.040 0
DGKD 0 1.5042357 0.301 0.104 0
APOBR 0 1.0180554 0.566 0.316 0
KLRD1 0 0.9446612 0.534 0.285 0
ZNF683 0 0.8220569 0.647 0.393 0
TRGC2 0 1.0351340 0.456 0.236 0
CD63 0 0.9702097 0.507 0.278 0
AOAH 0 0.8369536 0.569 0.332 0
SEMA4D 0 0.9038500 0.545 0.318 0
BCAS4 0 1.2899782 0.290 0.115 0
NMUR1 0 0.9146206 0.460 0.244 0
CDIP1 0 1.3995872 0.260 0.098 0
LITAF 0 0.9393850 0.475 0.270 0
RAB3GAP1 0 1.1738412 0.317 0.146 0
ATP6V0A2 0 0.9467695 0.411 0.222 0
CCL4 0 1.6740371 0.419 0.244 0
ADCY3 0 0.9464424 0.308 0.149 0
ITGA1 0 0.6901678 0.559 0.367 0
PIK3R1 0 0.8804541 0.407 0.235 0
PRF1 0 0.5866359 0.724 0.553 0
PTPN6 0 0.6325839 0.579 0.392 0
CTSA 0 0.9344630 0.347 0.190 0
CD244 0 0.7758980 0.380 0.216 0
NKG7 0 0.5115263 0.794 0.631 0
SCML4 0 0.8713423 0.328 0.177 0
ABCA2 0 0.6045079 0.551 0.372 0
GZMB 0 0.8568270 0.488 0.322 0
PTPN22 0 0.5661982 0.567 0.396 0
MATK 0 0.7031089 0.394 0.236 0
DAPK2 0 0.5916035 0.456 0.292 0
METRNL 0 0.8137526 0.300 0.165 0
KIAA1671 0 0.7536755 0.310 0.171 0

CD8 T Memory : CD8 T Memory_2 vs_rest

Top 50 markers: CD8 T Memory_2 vs_rest
p_val avg_log2FC pct.1 pct.2 p_val_adj
CISH 0 3.3116635 0.741 0.194 0
BCL2 0 3.3401526 0.616 0.119 0
TXNIP 0 1.6737752 0.863 0.572 0
AHNAK 0 1.6627080 0.789 0.522 0
PIM1 0 1.8798503 0.643 0.310 0
VIM 0 1.0730359 0.921 0.750 0
CD44 0 1.3903125 0.761 0.481 0
KLF6 0 1.6023679 0.647 0.357 0
CRIP1 0 1.4782433 0.746 0.548 0
S100A10 0 1.8318854 0.445 0.202 0
ANXA1 0 1.6171229 0.560 0.353 0
MYADM 0 2.0378326 0.340 0.134 0
PLP2 0 2.1821548 0.288 0.103 0
S100A11 0 1.7053262 0.409 0.211 0
IVNS1ABP 0 1.4008154 0.522 0.336 0
FLT3LG 0 1.6497543 0.355 0.163 0
BHLHE40 0 1.5519681 0.419 0.220 0
SAMHD1 0 1.5083391 0.448 0.252 0
ADGRE5 0 1.0912974 0.654 0.496 0
EMP3 0 1.3026489 0.477 0.295 0
SYNE2 0 1.0924810 0.588 0.447 0
SLC1A5 0 1.9617468 0.250 0.106 0
LTB 0 1.5753091 0.377 0.199 0
S100A6 0 0.8114988 0.680 0.605 0
ITGB2 0 1.2135021 0.375 0.216 0
CD48 0 1.0767428 0.488 0.360 0
LGALS1 0 1.3565855 0.300 0.159 0
CBFB 0 1.3348078 0.342 0.219 0
MDFIC 0 1.3126625 0.340 0.221 0
FXYD5 0 0.8424624 0.535 0.433 0
TSC22D3 0 0.9594301 0.415 0.283 0
ERN1 0 1.3465332 0.254 0.142 0
CXCR4 0 0.6981067 0.526 0.383 0
KAT2B 0 1.4243768 0.252 0.146 0
CCNL2 0 0.9358992 0.467 0.368 0
OXNAD1 0 1.0752421 0.369 0.260 0
ANXA2 0 1.1696035 0.328 0.223 0
EEF2 0 0.6239444 0.642 0.599 0
TMEM43 0 1.2235340 0.281 0.178 0
ITGA4 0 1.0362131 0.367 0.273 0
SLC3A2 0 1.1536869 0.300 0.206 0
ARL4C 0 0.6790031 0.515 0.437 0
TAGAP 0 0.8242631 0.369 0.276 0
CD99 0 0.6056809 0.584 0.544 0
CYTH1 0 0.8663946 0.371 0.296 0
CCND3 0 0.9094912 0.315 0.234 0
OGT 0 0.5723401 0.528 0.482 0
XBP1 0 1.0496011 0.284 0.214 0
PLEKHO1 0 0.8253736 0.371 0.305 0
ADAM19 0 0.8934832 0.301 0.228 0

CD8 T Memory : CD8 T Memory_3 vs_rest

Top 50 markers: CD8 T Memory_3 vs_rest
p_val avg_log2FC pct.1 pct.2 p_val_adj
MAF 0 3.0963547 0.736 0.129 0
CD4 0 4.6910223 0.528 0.026 0
IL7R 0 2.8267326 0.594 0.136 0
SPOCK2 0 1.7798035 0.856 0.414 0
CD40LG 0 4.3943640 0.376 0.016 0
SCART1 0 4.5915417 0.333 0.026 0
RORC 0 3.2209162 0.313 0.038 0
COL5A1 0 2.7937505 0.313 0.045 0
ZBTB16 0 4.8910223 0.259 0.010 0
KLRB1 0 2.1272157 0.501 0.158 0
PLXND1 0 2.6565044 0.267 0.046 0
CCR6 0 2.2314794 0.358 0.087 0
LTB 0 1.7833403 0.547 0.191 0
SLAMF1 0 2.0242492 0.410 0.119 0
ERN1 0 1.9316109 0.429 0.133 0
HIPK2 0 2.2894480 0.318 0.084 0
IFI44 0 1.5369636 0.551 0.235 0
PRR5 0 2.0807673 0.367 0.122 0
TNFRSF25 0 1.9746102 0.325 0.097 0
RORA 0 1.4115537 0.589 0.295 0
CERK 0 1.7269771 0.386 0.138 0
RUNX2 0 1.8407398 0.332 0.107 0
MGAT4A 0 1.4696430 0.460 0.204 0
PBXIP1 0 1.5428860 0.434 0.188 0
DUSP1 0 1.7112752 0.457 0.211 0
PDCD1 0 1.7321947 0.333 0.125 0
PHTF2 0 1.8467804 0.283 0.096 0
RGS1 0 1.8835742 0.390 0.169 0
S100A4 0 0.7490337 0.828 0.637 0
CXCR6 0 0.7431039 0.864 0.728 0
AQP3 0 1.5835350 0.270 0.104 0
LAPTM5 0 0.6369856 0.873 0.780 0
FURIN 0 1.4214729 0.362 0.175 0
TNFAIP3 0 0.9938249 0.609 0.401 0
PDE4D 0 1.3272363 0.339 0.165 0
PRDM1 0 1.2800028 0.396 0.225 0
JAML 0 0.6939272 0.654 0.481 0
CD6 0 0.7127737 0.621 0.451 0
PIM2 0 0.9563257 0.381 0.225 0
CEBPD 0 1.1345812 0.304 0.163 0
IL18RAP 0 1.1536663 0.271 0.139 0
CDC42EP3 0 1.1606317 0.265 0.140 0
BTG1 0 0.5887936 0.741 0.623 0
MAN1A1 0 0.9271076 0.381 0.244 0
GIMAP5 0 0.9059988 0.363 0.224 0
GIMAP7 0 0.6329395 0.581 0.443 0
DUSP16 0 1.0324726 0.305 0.178 0
MAEA 0 0.9493618 0.319 0.188 0
FNBP1 0 0.5752563 0.617 0.487 0
IL12RB1 0 1.0282615 0.287 0.166 0

CD8 T Memory : CD8 T Memory_0 vs CD8 T Memory_1

Top 50 markers: CD8 T Memory_0 vs CD8 T Memory_1
p_val avg_log2FC pct.1 pct.2 p_val_adj
CD6 0 1.8867731 0.602 0.249 0
SPOCK2 0 1.7905073 0.548 0.229 0
THEMIS 0 1.4788601 0.507 0.243 0
GRAP2 0 2.1334527 0.386 0.123 0
CD5 0 2.2809714 0.337 0.104 0
CD2 0 1.0895926 0.800 0.632 0
MGAT4A 0 2.2444107 0.292 0.083 0
PAG1 0 1.6291475 0.383 0.155 0
CD8A 0 0.5657106 0.919 0.784 0
LAPTM5 0 0.6811479 0.825 0.729 0
SIT1 0 1.9525005 0.265 0.086 0
S100A4 0 0.8088532 0.692 0.566 0
CXCR6 0 0.6398173 0.791 0.717 0
BCL11B 0 1.0123159 0.493 0.332 0
CD44 0 0.8312968 0.537 0.371 0
ITGB2 0 1.4815528 0.279 0.125 0
LAT 0 0.9246406 0.519 0.370 0
GIMAP4 0 1.3051914 0.331 0.175 0
S100A6 0 0.6969918 0.647 0.532 0
JUN 0 0.7464429 0.585 0.454 0
CCR5 0 0.8061409 0.548 0.437 0
ARL4C 0 0.7860800 0.488 0.356 0
FKBP11 0 0.9980469 0.366 0.235 0
JAML 0 0.6713852 0.546 0.435 0
GZMM 0 0.9892423 0.292 0.176 0
RORA 0 0.9482442 0.348 0.236 0
CXCR4 0 0.7822475 0.424 0.306 0
FYB1 0 0.5019169 0.630 0.563 0
ADAM19 0 1.0025788 0.262 0.159 0
GBP5 0 0.7162096 0.427 0.332 0
GIMAP7 0 0.6508290 0.486 0.400 0
STAT1 0 0.8935483 0.369 0.279 0
BCL9L 0 0.7666989 0.353 0.266 0
GIMAP5 0 0.8825261 0.264 0.177 0
SH3KBP1 0 0.8615228 0.280 0.196 0
ITM2C 0 0.5743955 0.474 0.391 0
AHNAK 0 0.5139661 0.556 0.487 0
ARRB2 0 0.6802012 0.381 0.298 0
LBH 0 0.6369176 0.423 0.346 0
APOL3 0 0.8623798 0.264 0.181 0
PLEC 0 0.7424407 0.329 0.247 0
SYNE2 0 0.5246652 0.476 0.406 0
AAK1 0 0.6807822 0.331 0.251 0
UCP2 0 0.5394175 0.475 0.407 0
GIMAP1 0 0.8135030 0.266 0.188 0
GPSM3 0 0.6598896 0.349 0.272 0
ORMDL3 0 0.6169032 0.394 0.320 0
TNIK 0 0.7296541 0.263 0.188 0
PLEKHF1 0 0.5353738 0.433 0.367 0
ITK 0 0.6285623 0.313 0.248 0

CD8 T Memory : CD8 T Memory_0 vs CD8 T Memory_2

Top 50 markers: CD8 T Memory_0 vs CD8 T Memory_2
p_val avg_log2FC pct.1 pct.2 p_val_adj
LYZ 0 3.1350971 0.049 0.415 0
CD8A 0 1.2847758 0.919 0.508 0
CXCR6 0 1.6981949 0.791 0.345 0
CCL5 0 1.1113185 0.962 0.665 0
CD3D 0 1.4863653 0.812 0.442 0
PLAAT4 0 1.8820118 0.675 0.252 0
DDIT4 0 2.4341355 0.557 0.129 0
CD7 0 1.6784814 0.672 0.259 0
CD74 0 1.3118554 0.797 0.585 0
JUN 0 1.8531758 0.585 0.223 0
ACTB 0 0.7465220 0.944 0.828 0
CD3G 0 1.5724527 0.564 0.225 0
GZMB 0 2.7057347 0.378 0.072 0
WFDC2 0 0.7620346 0.379 0.060 0
COTL1 0 1.3724485 0.596 0.266 0
DAPK2 0 2.7665238 0.335 0.048 0
ALOX5AP 0 1.3185154 0.615 0.322 0
NMUR1 0 4.0677275 0.281 0.018 0
ITGA1 0 2.0220756 0.413 0.113 0
PLEKHF1 0 1.7915249 0.433 0.125 0
JAML 0 1.3569840 0.546 0.248 0
EVL 0 0.6954798 0.869 0.678 0
SPN 0 1.0899849 0.632 0.329 0
GZMA 0 1.1501810 0.640 0.362 0
ABI3 0 1.9124331 0.382 0.109 0
ABCA2 0 1.5732521 0.416 0.142 0
SASH3 0 1.0659924 0.623 0.344 0
NKG7 0 0.9164247 0.698 0.403 0
CD52 0 0.8870064 0.715 0.494 0
LAG3 0 1.3692144 0.512 0.241 0
ZNRF1 0 2.1140398 0.316 0.080 0
SEPTIN1 0 0.8267980 0.702 0.425 0
JAK3 0 1.2094211 0.462 0.196 0
ITGB7 0 1.1941901 0.482 0.223 0
PFN1 0 0.6186346 0.874 0.718 0
IL2RB 0 0.8029783 0.667 0.405 0
IKZF3 0 0.8302622 0.655 0.405 0
TRBC2 0 0.7753408 0.793 0.615 0
ITM2C 0 1.2458690 0.474 0.232 0
MVB12B 0 1.8545320 0.289 0.077 0
TAPBP 0 0.7945264 0.653 0.393 0
TRAC 0 0.6218032 0.825 0.647 0
TBC1D10C 0 0.8895108 0.617 0.364 0
CD2 0 0.6748166 0.800 0.634 0
FAM53B 0 1.6046742 0.312 0.101 0
CD6 0 0.8128857 0.602 0.354 0
RGS3 0 1.7422065 0.268 0.072 0
ARHGEF1 0 0.6167294 0.810 0.599 0
SRGN 0 0.7492385 0.643 0.417 0
USP20 0 1.1294961 0.411 0.184 0

CD8 T Memory : CD8 T Memory_0 vs CD8 T Memory_3

Top 50 markers: CD8 T Memory_0 vs CD8 T Memory_3
p_val avg_log2FC pct.1 pct.2 p_val_adj
CD8A 0 2.4106847 0.919 0.267 0
CCL5 0 1.6164277 0.962 0.686 0
ZNF683 0 5.4666112 0.453 0.014 0
NKG7 0 1.8174864 0.698 0.330 0
CD74 0 1.3889893 0.797 0.532 0
KLRK1 0 2.5502973 0.482 0.105 0
AOAH 0 2.9668542 0.385 0.064 0
KLRC4 0 4.1985667 0.323 0.020 0
COTL1 0 1.5310467 0.596 0.292 0
KLRD1 0 3.7642082 0.325 0.031 0
CD7 0 1.2590879 0.672 0.403 0
CXCR3 0 1.7942012 0.376 0.124 0
GZMB 0 1.9018661 0.378 0.145 0
ITM2C 0 1.3698010 0.474 0.231 0
CTSW 0 2.0021191 0.312 0.091 0
GZMH 0 2.5340122 0.254 0.055 0
ALOX5AP 0 0.8761106 0.615 0.421 0
ZYX 0 0.9575389 0.528 0.330 0
TMSB10 0 0.7678606 0.654 0.469 0
GZMA 0 0.8305371 0.640 0.462 0
IL32 0 0.5609145 0.818 0.720 0
NLRC5 0 0.8638514 0.532 0.347 0
TIGIT 0 1.2795136 0.364 0.188 0
IDH2 0 1.0319852 0.422 0.243 0
RIN3 0 1.4514777 0.284 0.127 0
IL2RB 0 0.6044168 0.667 0.533 0
FYB1 0 0.5323859 0.630 0.462 0
MATK 0 1.3069044 0.253 0.113 0
CST7 0 0.8930311 0.379 0.225 0
HOPX 0 1.1077060 0.334 0.187 0
TAP1 0 0.7128315 0.565 0.433 0
USP20 0 0.8750125 0.411 0.259 0
PLAAT4 0 0.5719145 0.675 0.566 0
IFI6 0 1.7131148 0.304 0.178 0
CNN2 0 0.7036657 0.490 0.342 0
LY6E 0 0.7973412 0.539 0.433 0
THEMIS 0 0.6184859 0.507 0.368 0
TYMP 0 1.1854965 0.278 0.153 0
ABCA2 0 0.6572942 0.416 0.275 0
GGA2 0 0.9068845 0.334 0.207 0
FASLG 0 0.8321247 0.365 0.241 0
SLA2 0 0.8476477 0.348 0.223 0
ITGA1 0 0.7430749 0.413 0.287 0
GRAP2 0 0.7320401 0.386 0.261 0
PRF1 0 0.6620252 0.590 0.474 0
AHNAK 0 0.5023378 0.556 0.432 0
CD63 0 0.8625182 0.300 0.188 0
GZMM 0 0.8377591 0.292 0.180 0
FAM102A 0 0.6424684 0.377 0.255 0
DAPK2 0 0.7633856 0.335 0.223 0

CD8 T Memory : CD8 T Memory_1 vs CD8 T Memory_2

Top 50 markers: CD8 T Memory_1 vs CD8 T Memory_2
p_val avg_log2FC pct.1 pct.2 p_val_adj
CD7 0 2.5921991 0.889 0.259 0
CCL5 0 1.2920135 0.982 0.665 0
LYZ 0 2.8896618 0.059 0.415 0
IL2RB 0 1.6779501 0.867 0.405 0
GNLY 0 3.3524415 0.651 0.124 0
CSF1 0 3.1253513 0.624 0.101 0
HOPX 0 2.2624976 0.654 0.161 0
NMUR1 0 4.7710290 0.460 0.018 0
DDIT4 0 2.3720500 0.600 0.129 0
PLAAT4 0 1.7923932 0.707 0.252 0
RIN3 0 2.0249839 0.630 0.170 0
ITGA1 0 2.5233364 0.559 0.113 0
PIK3AP1 0 2.8753694 0.499 0.066 0
GZMB 0 3.3048954 0.488 0.072 0
ENTPD1 0 4.9452282 0.406 0.014 0
DAPK2 0 3.1492338 0.456 0.048 0
KLRC1 0 2.6695342 0.478 0.069 0
KLRC3 0 2.1276617 0.515 0.103 0
CD3D 0 1.2173283 0.798 0.442 0
ABCA2 0 2.0110141 0.551 0.142 0
FCRL6 0 2.8103778 0.437 0.058 0
APOBR 0 1.9309270 0.566 0.165 0
NKG7 0 1.2447944 0.794 0.403 0
AOAH 0 1.7329386 0.569 0.184 0
KLRC4 0 1.4195519 0.603 0.217 0
EVL 0 0.7969011 0.910 0.678 0
SRGN 0 1.1764377 0.752 0.417 0
PRF1 0 1.3488459 0.724 0.364 0
GZMA 0 1.7358668 0.661 0.362 0
CD244 0 2.6395028 0.380 0.053 0
CXCR6 0 1.0583776 0.717 0.345 0
ZNF683 0 1.1996478 0.647 0.275 0
CLNK 0 2.1609289 0.386 0.066 0
SEMA4D 0 1.4714817 0.545 0.189 0
CTSW 0 1.2565524 0.587 0.240 0
RGS3 0 2.1937844 0.372 0.072 0
PTPN6 0 1.3207146 0.579 0.243 0
WFDC2 0 0.5069867 0.363 0.060 0
CD3G 0 1.3111097 0.564 0.225 0
FASLG 0 1.7435598 0.469 0.152 0
PTPN22 0 1.2899435 0.567 0.230 0
CD63 0 1.5164885 0.507 0.194 0
NCR1 0 3.3685876 0.273 0.021 0
TRGC2 0 1.5197729 0.456 0.145 0
P2RY11 0 2.1375753 0.344 0.071 0
ITGB7 0 1.2204262 0.541 0.223 0
ATP6V0A2 0 1.6472970 0.411 0.116 0
ABI3 0 1.7437469 0.394 0.109 0
ACTB 0 0.5841621 0.946 0.828 0
KLRD1 0 1.0616780 0.534 0.208 0

CD8 T Memory : CD8 T Memory_1 vs CD8 T Memory_3

Top 50 markers: CD8 T Memory_1 vs CD8 T Memory_3
p_val avg_log2FC pct.1 pct.2 p_val_adj
ZNF683 0 6.0926902 0.647 0.014 0
CD7 0 2.1728056 0.889 0.403 0
CCL5 0 1.7971227 0.982 0.686 0
KLRC4 0 5.3030491 0.603 0.020 0
GNLY 0 4.6777952 0.651 0.090 0
NKG7 0 2.1458560 0.794 0.330 0
CD8A 0 1.8449740 0.784 0.267 0
RIN3 0 2.9058562 0.630 0.127 0
KLRD1 0 4.5489854 0.534 0.031 0
KLRC3 0 5.6399366 0.515 0.016 0
AOAH 0 3.5839952 0.569 0.064 0
CTSW 0 3.2451217 0.587 0.091 0
IL2RB 0 1.4793886 0.867 0.533 0
HOPX 0 2.3890082 0.654 0.187 0
KLRK1 0 2.8037388 0.572 0.105 0
KLRC1 0 3.8750658 0.478 0.041 0
FCRL6 0 4.6468963 0.437 0.026 0
CLNK 0 3.2374149 0.386 0.046 0
PIK3AP1 0 2.1557990 0.499 0.144 0
GZMB 0 2.5010269 0.488 0.145 0
CD63 0 1.7065845 0.507 0.188 0
SEMA4D 0 1.4826247 0.545 0.237 0
PLCG2 0 6.2098969 0.251 0.004 0
CD74 0 1.0525495 0.768 0.532 0
BCAS4 0 3.3802788 0.290 0.031 0
LITAF 0 1.6645304 0.475 0.188 0
MATK 0 1.9386209 0.394 0.113 0
ATP8B4 0 4.0892963 0.250 0.017 0
PRF1 0 1.1185148 0.724 0.474 0
GZMA 0 1.4162228 0.661 0.462 0
ITGA1 0 1.2443358 0.559 0.287 0
TIGIT 0 1.6636966 0.453 0.188 0
NCR1 0 2.8680785 0.273 0.042 0
TRDC 0 3.2494333 0.270 0.043 0
DGKD 0 2.4354664 0.301 0.062 0
METRNL 0 2.5331660 0.300 0.063 0
ABCA2 0 1.0950562 0.551 0.275 0
NMUR1 0 1.2562921 0.460 0.205 0
RAB3GAP1 0 1.9560245 0.317 0.091 0
COTL1 0 1.0926862 0.541 0.292 0
ZYX 0 0.9611735 0.573 0.330 0
CST7 0 1.1397567 0.468 0.225 0
IL32 0 0.6494064 0.838 0.720 0
KIAA1671 0 1.7086548 0.310 0.093 0
FASLG 0 1.3000072 0.469 0.241 0
SFMBT2 0 1.0796785 0.485 0.241 0
TRGC2 0 1.1895236 0.456 0.219 0
IDH2 0 1.1151146 0.484 0.243 0
CCL4 0 1.8459125 0.419 0.199 0
DAPK2 0 1.1460956 0.456 0.223 0

CD8 T Memory : CD8 T Memory_2 vs CD8 T Memory_3

Top 50 markers: CD8 T Memory_2 vs CD8 T Memory_3
p_val avg_log2FC pct.1 pct.2 p_val_adj
CISH 0 3.5782948 0.741 0.160 0e+00
AHNAK 0 1.9599826 0.789 0.432 0e+00
VIM 0 1.3095518 0.921 0.682 0e+00
BCL2 0 2.5116301 0.616 0.197 0e+00
TXNIP 0 1.5111047 0.863 0.595 0e+00
PIM1 0 1.8704530 0.643 0.316 0e+00
CRIP1 0 1.5432852 0.746 0.512 0e+00
ANXA1 0 2.0482615 0.560 0.273 0e+00
ZNF683 0 4.8930424 0.275 0.014 0e+00
IVNS1ABP 0 2.0302228 0.522 0.236 0e+00
KLF6 0 1.4097697 0.647 0.383 0e+00
ADGRE5 0 1.3033839 0.654 0.437 0e+00
S100A10 0 1.9420688 0.445 0.179 0e+00
MYADM 0 2.4341262 0.340 0.110 0e+00
LGALS1 0 2.5570638 0.300 0.074 0e+00
KLRK1 0 2.3106494 0.336 0.105 0e+00
EMP3 0 1.5835882 0.477 0.246 0e+00
CD44 0 0.8726417 0.761 0.642 0e+00
CD8A 0 1.1259088 0.508 0.267 0e+00
PLP2 0 2.1692608 0.288 0.097 0e+00
SAMHD1 0 1.4365669 0.448 0.251 0e+00
S100A11 0 1.5485036 0.409 0.218 0e+00
SYNE2 0 1.0721188 0.588 0.440 0e+00
BHLHE40 0 1.4052221 0.419 0.246 0e+00
SLC1A5 0 2.1798399 0.250 0.090 0e+00
ITGB2 0 1.3520463 0.375 0.200 0e+00
CD99 0 0.8873606 0.584 0.471 0e+00
TMSB10 0 0.7791568 0.602 0.469 0e+00
CBFB 0 1.4836680 0.342 0.192 0e+00
APOBEC3G 0 1.7739597 0.267 0.127 0e+00
MDFIC 0 1.4344690 0.340 0.204 0e+00
CD48 0 0.9611129 0.488 0.366 0e+00
XBP1 0 1.5989630 0.284 0.153 0e+00
ANXA2 0 1.3110178 0.328 0.197 0e+00
MAP4 0 1.1325194 0.378 0.251 0e+00
TMEM43 0 1.3951259 0.281 0.154 0e+00
OGT 0 0.7881167 0.528 0.427 0e+00
FLT3LG 0 0.9689007 0.355 0.236 0e+00
GSTK1 0 0.7568020 0.504 0.417 0e+00
CCNL2 0 0.8149514 0.467 0.377 0e+00
IRF7 0 1.2109631 0.286 0.181 0e+00
EEF2 0 0.5433987 0.642 0.596 0e+00
S100A6 0 0.5068240 0.680 0.662 0e+00
SLC3A2 0 1.1342739 0.300 0.198 0e+00
CYLD 0 1.1919502 0.292 0.197 0e+00
TAGAP 0 0.8456611 0.369 0.268 0e+00
IDS 0 0.9383903 0.364 0.273 0e+00
SOCS1 0 1.0583469 0.308 0.213 0e+00
PRMT2 0 1.0183007 0.319 0.235 2e-07
NKG7 0 0.9010617 0.403 0.330 4e-07

Pairwise markers within CD8 TRM/EM

ids <- c("CD8 TRM/EM_0","CD8 TRM/EM_1" )

res_all <- run_de_and_vln(
  cd8_t,
  ids,
  title_prefix = "CD8 TRM/EM",
  run_one_vs_all = TRUE,
  run_pairwise = TRUE,
  print_table = TRUE
)

CD8 TRM/EM : CD8 TRM/EM_0 vs_rest

Top 50 markers: CD8 TRM/EM_0 vs_rest
p_val avg_log2FC pct.1 pct.2 p_val_adj
NELL2 0.0000000 1.4317691 0.313 0.137 0.0000000
UBA52 0.0000000 0.5599817 0.702 0.569 0.0000022
KLRG1 0.0000000 0.8334049 0.536 0.383 0.0000047
GPX4 0.0000000 1.2725297 0.266 0.117 0.0000156
LTB 0.0000000 1.0360945 0.404 0.257 0.0000293
EEF1G 0.0000000 0.6034989 0.586 0.457 0.0008720
FXYD5 0.0000001 0.5700317 0.616 0.489 0.0009293
S100A4 0.0000001 0.9494463 0.308 0.171 0.0010834
PDE7A 0.0000001 0.6371478 0.461 0.314 0.0013517
C12orf57 0.0000001 0.7486554 0.457 0.320 0.0018816
SUGP2 0.0000003 0.9457454 0.319 0.191 0.0061402
ESYT2 0.0000004 0.8413329 0.364 0.237 0.0073932
MATK 0.0000008 0.7874652 0.320 0.197 0.0144460
NOP53 0.0000010 0.5684310 0.503 0.374 0.0184875
NFKB2 0.0000014 0.8335988 0.253 0.137 0.0257083
CD27 0.0000016 0.5008812 0.646 0.560 0.0283540
SLC7A6 0.0000030 0.8376522 0.301 0.189 0.0547510
IL7R 0.0000035 0.8947560 0.346 0.229 0.0641359
EVI2B 0.0000048 0.5912796 0.477 0.360 0.0872763
PTPN7 0.0000051 0.7132180 0.366 0.249 0.0923670
USP20 0.0000120 0.7423418 0.259 0.149 0.2164030
EEF1B2 0.0000189 0.5756356 0.321 0.214 0.3417440
YPEL3 0.0000394 0.7690227 0.333 0.237 0.7127719
TNIK 0.0000416 0.6837923 0.300 0.200 0.7522054
FBL 0.0000422 0.9121884 0.255 0.163 0.7622778
EIF4B 0.0000433 0.6518818 0.353 0.254 0.7825486
USP9X 0.0000574 0.5775571 0.325 0.217 1.0000000
NUCB2 0.0000607 0.6937517 0.327 0.234 1.0000000
PLEC 0.0000869 0.6631028 0.298 0.203 1.0000000
MDFIC 0.0000878 0.5085977 0.299 0.194 1.0000000
CHMP7 0.0001593 0.9015741 0.260 0.177 1.0000000
UNC13D 0.0001615 0.5600790 0.324 0.229 1.0000000
FBXL3 0.0001660 0.6329179 0.279 0.186 1.0000000
KAT6B 0.0002066 0.5453099 0.317 0.217 1.0000000
CRTAM 0.0002322 0.5782623 0.315 0.223 1.0000000
OXNAD1 0.0002402 0.6087634 0.273 0.180 1.0000000
KLRC4 0.0002404 0.7661449 0.267 0.180 1.0000000
PIK3IP1 0.0002470 0.5300839 0.319 0.226 1.0000000
SLC4A7 0.0002598 0.5447564 0.268 0.177 1.0000000
MPRIP 0.0003209 0.5578327 0.309 0.217 1.0000000
RIN3 0.0003282 0.5799150 0.298 0.209 1.0000000
SORL1 0.0004141 0.6134065 0.284 0.197 1.0000000
SERF2 0.0004483 0.5933928 0.253 0.166 1.0000000
GSK3B 0.0004940 0.5796039 0.262 0.177 1.0000000
HIST1H1D 0.0005079 0.5857983 0.349 0.254 1.0000000
PATJ 0.0005623 0.7256277 0.277 0.203 1.0000000
EIF3B 0.0005654 0.5781233 0.295 0.209 1.0000000
SMAP2 0.0006498 0.5346144 0.366 0.283 1.0000000
SATB1 0.0010624 0.5501630 0.285 0.206 1.0000000
EIF3L 0.0011622 0.5398901 0.303 0.223 1.0000000

CD8 TRM/EM : CD8 TRM/EM_1 vs_rest

Top 50 markers: CD8 TRM/EM_1 vs_rest
p_val avg_log2FC pct.1 pct.2 p_val_adj
IFI44L 0 4.101500 0.791 0.097 0
RSAD2 0 4.274118 0.631 0.057 0
IFIT1 0 5.533610 0.577 0.019 0
IFIT3 0 5.308743 0.306 0.012 0
CMPK2 0 3.765476 0.649 0.087 0
OAS1 0 3.575301 0.806 0.155 0
MX1 0 3.767896 0.854 0.193 0
IFI44 0 3.400310 0.837 0.177 0
IFI6 0 3.901246 0.846 0.210 0
OAS3 0 3.636156 0.723 0.146 0
HERC5 0 3.705989 0.520 0.069 0
ISG15 0 3.445055 0.817 0.228 0
LAMP3 0 4.449669 0.269 0.017 0
MX2 0 3.166275 0.717 0.181 0
IFIT2 0 4.069887 0.349 0.037 0
XAF1 0 2.591783 0.809 0.274 0
USP18 0 3.632118 0.389 0.048 0
OAS2 0 2.393703 0.897 0.426 0
IRF7 0 2.500232 0.789 0.269 0
LY6E 0 2.159562 0.914 0.497 0
HERC6 0 2.760039 0.477 0.093 0
HELZ2 0 2.570211 0.629 0.180 0
EIF2AK2 0 2.483106 0.669 0.211 0
EPSTI1 0 2.563135 0.614 0.173 0
TRIM22 0 1.822821 0.886 0.528 0
SAMD9L 0 2.402153 0.723 0.313 0
STAT1 0 2.191248 0.774 0.358 0
ISG20 0 2.033433 0.777 0.401 0
IFIT5 0 2.479603 0.394 0.087 0
TYMP 0 2.469460 0.443 0.113 0
IFI35 0 2.267144 0.491 0.144 0
IFIH1 0 2.281831 0.486 0.151 0
PARP9 0 2.138141 0.520 0.181 0
PLSCR1 0 2.377586 0.400 0.116 0
ZBP1 0 2.045817 0.469 0.160 0
DDX60 0 2.095494 0.494 0.186 0
BST2 0 1.740890 0.666 0.343 0
OASL 0 1.914803 0.517 0.194 0
PARP12 0 1.829910 0.551 0.225 0
RNF213 0 1.127644 0.911 0.763 0
LGALS9 0 2.516324 0.269 0.060 0
SAMD9 0 1.985663 0.474 0.181 0
STAT2 0 2.086030 0.454 0.168 0
IFI16 0 1.252442 0.786 0.543 0
HSH2D 0 2.269223 0.323 0.088 0
LAP3 0 2.149751 0.380 0.120 0
DTX3L 0 1.663514 0.597 0.283 0
RTP4 0 2.267795 0.286 0.071 0
PARP14 0 1.692117 0.620 0.325 0
DDX60L 0 2.050035 0.440 0.164 0

CD8 TRM/EM : CD8 TRM/EM_0 vs CD8 TRM/EM_1

Top 50 markers: CD8 TRM/EM_0 vs CD8 TRM/EM_1
p_val avg_log2FC pct.1 pct.2 p_val_adj
NELL2 0.0000000 1.4317691 0.313 0.137 0.0000000
UBA52 0.0000000 0.5599817 0.702 0.569 0.0000022
KLRG1 0.0000000 0.8334049 0.536 0.383 0.0000047
GPX4 0.0000000 1.2725297 0.266 0.117 0.0000156
LTB 0.0000000 1.0360945 0.404 0.257 0.0000293
EEF1G 0.0000000 0.6034989 0.586 0.457 0.0008720
FXYD5 0.0000001 0.5700317 0.616 0.489 0.0009293
S100A4 0.0000001 0.9494463 0.308 0.171 0.0010834
PDE7A 0.0000001 0.6371478 0.461 0.314 0.0013517
C12orf57 0.0000001 0.7486554 0.457 0.320 0.0018816
SUGP2 0.0000003 0.9457454 0.319 0.191 0.0061402
ESYT2 0.0000004 0.8413329 0.364 0.237 0.0073932
MATK 0.0000008 0.7874652 0.320 0.197 0.0144460
NOP53 0.0000010 0.5684310 0.503 0.374 0.0184875
NFKB2 0.0000014 0.8335988 0.253 0.137 0.0257083
CD27 0.0000016 0.5008812 0.646 0.560 0.0283540
SLC7A6 0.0000030 0.8376522 0.301 0.189 0.0547510
IL7R 0.0000035 0.8947560 0.346 0.229 0.0641359
EVI2B 0.0000048 0.5912796 0.477 0.360 0.0872763
PTPN7 0.0000051 0.7132180 0.366 0.249 0.0923670
USP20 0.0000120 0.7423418 0.259 0.149 0.2164030
EEF1B2 0.0000189 0.5756356 0.321 0.214 0.3417440
YPEL3 0.0000394 0.7690227 0.333 0.237 0.7127719
TNIK 0.0000416 0.6837923 0.300 0.200 0.7522054
FBL 0.0000422 0.9121884 0.255 0.163 0.7622778
EIF4B 0.0000433 0.6518818 0.353 0.254 0.7825486
USP9X 0.0000574 0.5775571 0.325 0.217 1.0000000
NUCB2 0.0000607 0.6937517 0.327 0.234 1.0000000
PLEC 0.0000869 0.6631028 0.298 0.203 1.0000000
MDFIC 0.0000878 0.5085977 0.299 0.194 1.0000000
CHMP7 0.0001593 0.9015741 0.260 0.177 1.0000000
UNC13D 0.0001615 0.5600790 0.324 0.229 1.0000000
FBXL3 0.0001660 0.6329179 0.279 0.186 1.0000000
KAT6B 0.0002066 0.5453099 0.317 0.217 1.0000000
CRTAM 0.0002322 0.5782623 0.315 0.223 1.0000000
OXNAD1 0.0002402 0.6087634 0.273 0.180 1.0000000
KLRC4 0.0002404 0.7661449 0.267 0.180 1.0000000
PIK3IP1 0.0002470 0.5300839 0.319 0.226 1.0000000
SLC4A7 0.0002598 0.5447564 0.268 0.177 1.0000000
MPRIP 0.0003209 0.5578327 0.309 0.217 1.0000000
RIN3 0.0003282 0.5799150 0.298 0.209 1.0000000
SORL1 0.0004141 0.6134065 0.284 0.197 1.0000000
SERF2 0.0004483 0.5933928 0.253 0.166 1.0000000
GSK3B 0.0004940 0.5796039 0.262 0.177 1.0000000
HIST1H1D 0.0005079 0.5857983 0.349 0.254 1.0000000
PATJ 0.0005623 0.7256277 0.277 0.203 1.0000000
EIF3B 0.0005654 0.5781233 0.295 0.209 1.0000000
SMAP2 0.0006498 0.5346144 0.366 0.283 1.0000000
SATB1 0.0010624 0.5501630 0.285 0.206 1.0000000
EIF3L 0.0011622 0.5398901 0.303 0.223 1.0000000

NK cells

nk <-  subset(paed_sub, idents = "NK cells")
keep_cells <- paed_sub$cell_labels_l1 %in% "NK cells"
nk@assays$RNA@cells@.Data <- paed_sub@assays$RNA@cells@.Data[keep_cells, ]
nk
An object of class Seurat 
18076 features across 3532 samples within 1 assay 
Active assay: RNA (18076 features, 2000 variable features)
 3 layers present: data, counts, scale.data
 4 dimensional reductions calculated: pca, umap.unintegrated, umap.l1, umap.sub
out <- here("output/RDS/Lineages_RDS_combined/SEU_NK_Cells.rds")

if (!file.exists(out)) {
  nk <- nk %>%
  FindVariableFeatures() %>%
  ScaleData() %>%
  RunPCA() 
  
  gc() 
  nk <- RunUMAP(nk, dims = 1:30, reduction = "pca", reduction.name = "umap.nk")

  meta_data_columns <- colnames(nk@meta.data)
  columns_to_remove <- grep("^RNA_snn_res", meta_data_columns, value = TRUE)
  nk@meta.data <- nk@meta.data[, !(colnames(nk@meta.data) %in% columns_to_remove)]
  resolutions <- seq(0.1, 0.5, by = 0.1)
  nk <- FindNeighbors(nk, dims = 1:30, reduction = "pca")
  nk <- FindClusters(nk, resolution = resolutions )
  
  saveRDS(nk, out)

} else {
  nk <- readRDS(out)
}
  clustree(nk, prefix = "RNA_snn_res.")

DimPlot(nk, group.by = "RNA_snn_res.0.5", reduction = "umap.nk", label = TRUE, label.size = 2.5, repel = TRUE, raster = FALSE )

DimPlot(nk, group.by = "RNA_snn_res.0.5", reduction = "umap.nk", label = TRUE, label.size = 2.5, repel = TRUE, raster = FALSE, split.by = "tissue" )

opt_res <- "RNA_snn_res.0.5"  
n <- nlevels(nk$RNA_snn_res.0.5)
nk$RNA_snn_res.0.5 <- factor(nk$RNA_snn_res.0.5, levels = seq(0,n-1))
nk$seurat_clusters <- NULL
nk$cluster <- nk$RNA_snn_res.0.5
Idents(nk) <- nk$cluster

confirming NK cluster

FeaturePlot(nk, features = c("NCAM1", "KLRC1","IL18RAP","IL2RB","KLRF1","GNLY", "FCER1G", "TRDC", "NKG7", "CD160"), ncol = 3, reduction = "umap.nk", label = T, repel = T)

plot_ct_bar(nk, "celltypist_paeds") + ggtitle("Paed_Covid study")

plot_ct_bar(nk, "celltypist_lung_airway") + ggtitle("Lung Airway atlas")

plot_ct_bar(nk, "celltypist_lung_atlas") + ggtitle("Lung atlas")

plot_ct_bar(nk, "celltypist_immune") + ggtitle("Immune low dataset")

plot_ct_bar(nk, "celltypist_tonsil") + ggtitle("Tonsil atlas")

plot_ct_bar(nk, "cell_labels_v2") + ggtitle("Previous labels")

Using markers from tonsil atlas glossary for cd56hi (KLRF1, NCAM1, SELL, TCF7, GZMK and XCL1. ) and cd56low (KLRF1, FCGR3A, CX3CR1, TBX21, and PRF1). Ref- (Boldt et al., 2014; Pfefferle et al., 2019; Poli et al., 2009)

FeaturePlot(nk, features = c( "SELL", "NCAM1","FCGR3A", "CX3CR1" ), ncol = 1, split.by = "tissue", reduction = "umap.nk", label = T, repel = T)

Idents(nk) <- "RNA_snn_res.0.5"
new.cluster.ids <- c("NK cd56hi", 
                     "NK cd56hi", 
                     "NK cd56hi",
                     "NK cd56hi",
                     "NK cd56lo",
                     "NK cd56lo"
                     )
names(new.cluster.ids) <- levels(nk)
nk <- RenameIdents(nk, new.cluster.ids)
nk$cell_labels_l2 <- Idents(nk)

Subclustering NK cells clusters-

nk <- FindSubCluster(nk, cluster = "NK cd56hi", graph.name = "RNA_snn", resolution = 0.1, subcluster.name = "T_sub")
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck

Number of nodes: 2843
Number of edges: 113272

Running Louvain algorithm...
Maximum modularity in 10 random starts: 0.9095
Number of communities: 2
Elapsed time: 0 seconds
DimPlot(nk, raster = F, reduction = "umap.nk", label = T, group.by = "T_sub", repel = T)

Idents(nk) <- nk$T_sub
nk$cluster <- nk$T_sub
nk <- FindSubCluster(nk, cluster = "NK cd56lo", graph.name = "RNA_snn", resolution = 0.1, subcluster.name = "T_sub")
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck

Number of nodes: 689
Number of edges: 27321

Running Louvain algorithm...
Maximum modularity in 10 random starts: 0.9191
Number of communities: 2
Elapsed time: 0 seconds
DimPlot(nk, raster = F, reduction = "umap.nk", label = T, group.by = "T_sub", repel = T)

Idents(nk) <- nk$T_sub

Renaming idents

new_levels <- c(
     "NK cd56hi_0",
     "NK cd56hi_1",
     "NK cd56lo_0",
     "NK cd56lo_1"
)
Seurat::Idents(nk) <- factor(
  Seurat::Idents(nk),
  levels = new_levels
)

nk$cell_labels_l3 <- Idents(nk)
table(nk$cell_labels_l3, nk$tissue)
             
              Tonsils Adenoids Nasal_brushings Bronchial_brushings BAL
  NK cd56hi_0      43      135             883                 294 251
  NK cd56hi_1     439      464             222                  48  64
  NK cd56lo_0      73       90             177                  26  14
  NK cd56lo_1      37       26             204                  18  24
df_counts <- nk@meta.data |>
  count(cell_labels_l3, tissue, name = "n")
df_totals <- df_counts |>
  group_by(cell_labels_l3) |>
  summarise(total = sum(n), .groups = "drop")

ggplot(df_counts, aes(x = cell_labels_l3, y = n, fill = tissue)) +
  geom_bar(stat = "identity", position = "stack") +
  geom_text(data = df_totals,
            aes(x = cell_labels_l3, y = total, label = total),
            vjust = -0.3, size = 3, inherit.aes = FALSE) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
  labs(x = "cluster at l3",
       y = "Number of cells",
       fill = "Tissue")

DE features of NK cells

The marker genes for this subclustering can be found here-

NK_population_subclusters

gc()
             used    (Mb) gc trigger    (Mb) limit (Mb)   max used    (Mb)
Ncells    4679400   250.0   10019789   535.2         NA   10019789   535.2
Vcells 1622891532 12381.7 3537421340 26988.4     163840 3537421340 26988.4
paed_sub.markers <- FindAllMarkers(
  nk,
  features = features.no.mt,
  only.pos = TRUE,
  min.pct = 0.25,
  logfc.threshold = 0.25
)
Calculating cluster NK cd56hi_0
Calculating cluster NK cd56hi_1
Calculating cluster NK cd56lo_0
Calculating cluster NK cd56lo_1
gc()
             used    (Mb) gc trigger    (Mb) limit (Mb)   max used    (Mb)
Ncells    4678414   249.9   10019789   535.2         NA   10019789   535.2
Vcells 1622879374 12381.6 3537421340 26988.4     163840 3537421340 26988.4
top10 <- paed_sub.markers %>%
    group_by(cluster) %>%
    top_n(n = 10, wt = avg_log2FC) %>%
    ungroup() %>%
    distinct(gene, .keep_all = TRUE) %>%
    arrange(cluster, desc(avg_log2FC))


best.wilcox.gene.per.cluster <- paed_sub.markers |>
  group_by(cluster) |>
  slice_max(avg_log2FC, n = 1) |>
  select(cluster, gene)
best.wilcox.gene.per.cluster
# A tibble: 4 × 2
# Groups:   cluster [4]
  cluster     gene 
  <fct>       <chr>
1 NK cd56hi_0 AREG 
2 NK cd56hi_1 GZMK 
3 NK cd56lo_0 CD3G 
4 NK cd56lo_1 SPON2
FeaturePlot(
  nk,
  features = best.wilcox.gene.per.cluster$gene,
  reduction = "umap.nk",
  raster = FALSE,
  repel = TRUE,
  ncol = 1,
  label = TRUE,
  split.by = "tissue"
) 

nk <- ScaleData(
  nk,
  features = unique(top10$gene),
  assay = "RNA",
  verbose = FALSE
)
Warning: Different features in new layer data than already exists for
scale.data
DoHeatmap(nk, features = unique(top10$gene), angle = 90) + NoLegend()

## Seurat top markers
cluster_colors <- paletteer::paletteer_d("pals::glasbey")[factor(top10$cluster)]

DotPlot(nk,    
        features = unique(top10$gene),
        group.by = "cell_labels_l3",
        cols = c("azure1", "blueviolet"),
        dot.scale = 3, assay = "RNA") +
    RotatedAxis() +
    FontSize(y.text = 8, x.text = 12) +
    labs(y = element_blank(), x = element_blank()) +
    coord_flip() +
    theme(axis.text.y = element_text(color = cluster_colors)) +
    ggtitle("Top 10 marker genes per cluster (Seurat)")
Warning: Scaling data with a low number of groups may produce misleading
results
Warning: Vectorized input to `element_text()` is not officially supported.
ℹ Results may be unexpected or may change in future versions of ggplot2.

marker_counts <- paed_sub.markers %>%
    filter(avg_log2FC > 1 & p_val_adj < 0.05) %>%  
    count(cluster, name = "n_markers") %>%
    arrange(desc(n_markers))

print(marker_counts)
      cluster n_markers
1 NK cd56lo_0       118
2 NK cd56lo_1       102
3 NK cd56hi_0        43
4 NK cd56hi_1        23
ggplot(marker_counts, aes(x = reorder(cluster, n_markers), y = n_markers)) +
    geom_col(fill = "steelblue", alpha = 0.8) +
    coord_flip() +
    labs(title = "High-confidence markers per subcluster (logFC > 1)",
         x = "Subcluster", y = "Number of markers") +
    theme_minimal()

out_markers <- here("output", 
            "CSV_v3", "T_cell_lineage",
            paste("Marker_genes_Reclustered_NK.",opt_res, sep = ""))

dir.create(out_markers, recursive = TRUE, showWarnings = FALSE)

for (cl in unique(paed_sub.markers$cluster)) {
  cluster_data <- paed_sub.markers %>% dplyr::filter(cluster == cl)
  file_name <- here(out_markers, paste0("G000231_Neeland_", cl, ".csv"))
  if (!file.exists(file_name)) {
  write.csv(cluster_data, file = file_name)
  }
}

Pairwise markers within NK

ids <- c("NK cd56hi_0","NK cd56hi_1","NK cd56lo_0", "NK cd56lo_1")

res_all <- run_de_and_vln(
  nk,
  ids,
  title_prefix = "NK",
  run_one_vs_all = TRUE,
  run_pairwise = TRUE,
  print_table = TRUE
)

NK : NK cd56hi_0 vs_rest

Top 50 markers: NK cd56hi_0 vs_rest
p_val avg_log2FC pct.1 pct.2 p_val_adj
GNLY 0 0.9635459 0.955 0.843 0
ITGAX 0 1.5924644 0.807 0.510 0
TNFRSF18 0 2.0340875 0.664 0.355 0
CD7 0 0.7856426 0.906 0.823 0
DDIT4 0 1.0522767 0.756 0.643 0
AREG 0 2.5707331 0.364 0.148 0
SLC16A3 0 1.5336129 0.530 0.349 0
BHLHE40 0 1.2258474 0.672 0.555 0
COTL1 0 1.2158336 0.603 0.482 0
TCF7 0 0.8263857 0.754 0.586 0
OAS3 0 2.4685941 0.356 0.182 0
SLC7A5 0 2.2074234 0.273 0.113 0
LY6E 0 0.8131478 0.771 0.756 0
IFI6 0 2.2956061 0.433 0.288 0
IFI44L 0 1.7696652 0.352 0.185 0
HAPLN3 0 1.9376872 0.318 0.158 0
FES 0 1.9916444 0.365 0.217 0
CD300A 0 0.6467131 0.807 0.776 0
SOCS1 0 1.4035974 0.502 0.390 0
ISG15 0 2.3758763 0.451 0.333 0
IRF7 0 1.5321791 0.495 0.387 0
CTSW 0 0.5486797 0.846 0.790 0
MX1 0 2.0844371 0.328 0.183 0
BCL3 0 1.2945546 0.452 0.323 0
IFI44 0 1.5524959 0.382 0.247 0
KIR2DL4 0 1.6355629 0.309 0.171 0
METRNL 0 1.1733319 0.460 0.328 0
CMPK2 0 2.1133313 0.273 0.141 0
FURIN 0 1.3169598 0.468 0.361 0
IRF8 0 1.6957839 0.448 0.365 0
ISG20 0 1.4545205 0.505 0.447 0
ZNF683 0 1.1989704 0.337 0.200 0
ECE1 0 1.3176874 0.367 0.247 0
TYMP 0 1.4770338 0.284 0.162 0
CD74 0 0.5518358 0.793 0.801 0
CAPG 0 1.1788197 0.407 0.300 0
FOSL2 0 1.2709003 0.502 0.431 0
MX2 0 1.8580702 0.261 0.151 0
SH2D2A 0 0.9682112 0.517 0.450 0
CD38 0 1.0960373 0.465 0.367 0
IFITM3 0 1.5521447 0.341 0.234 0
CD63 0 0.8801965 0.502 0.425 0
ADGRG3 0 1.3031317 0.271 0.166 0
APOBR 0 0.6527515 0.647 0.611 0
GZMB 0 1.7909518 0.534 0.516 0
DUSP2 0 0.9898990 0.514 0.452 0
ADCY3 0 1.1745832 0.303 0.205 0
TCIRG1 0 0.7106430 0.590 0.561 0
IFI35 0 1.3322944 0.288 0.205 0
SBNO2 0 0.9203707 0.440 0.389 0

NK : NK cd56hi_1 vs_rest

Top 50 markers: NK cd56hi_1 vs_rest
p_val avg_log2FC pct.1 pct.2 p_val_adj
KLRF1 0 1.5573653 0.741 0.299 0
GZMK 0 1.7221521 0.570 0.196 0
TRDC 0 0.9690601 0.866 0.607 0
KLRB1 0 1.5444432 0.542 0.200 0
PDCD4 0 0.9134262 0.821 0.499 0
KLRK1 0 0.8698496 0.850 0.632 0
SPTSSB 0 1.5872196 0.379 0.106 0
PNRC1 0 0.8479078 0.842 0.578 0
EIF1 0 1.1116061 0.581 0.250 0
TC2N 0 1.2135025 0.466 0.180 0
CMC1 0 1.3809471 0.353 0.107 0
SMURF2 0 1.0834193 0.459 0.174 0
SESN1 0 1.4963536 0.319 0.094 0
RESF1 0 0.8468906 0.686 0.363 0
GPR183 0 1.0829600 0.502 0.215 0
CLDND1 0 1.0051534 0.670 0.382 0
HELZ 0 1.1089372 0.444 0.176 0
KLRD1 0 0.6503707 0.889 0.728 0
CXCR6 0 1.6119864 0.317 0.106 0
AKT3 0 0.9950517 0.383 0.138 0
GLCCI1 0 0.8912384 0.458 0.193 0
SLC38A2 0 0.9851124 0.546 0.277 0
BTG1 0 0.5793703 0.900 0.763 0
FOSB 0 1.1567669 0.379 0.153 0
STT3B 0 0.7848774 0.566 0.275 0
ATP8B4 0 0.7341912 0.513 0.235 0
TMEM123 0 1.0347217 0.357 0.134 0
ETS1 0 0.5945653 0.836 0.595 0
EOMES 0 0.8208624 0.546 0.277 0
GNAQ 0 0.8616725 0.390 0.156 0
IL18RAP 0 0.8434395 0.535 0.275 0
CD244 0 0.8394934 0.475 0.222 0
AHR 0 1.3451976 0.262 0.083 0
SLC38A1 0 0.6466217 0.694 0.407 0
OCIAD1 0 0.9300849 0.377 0.155 0
IL18R1 0 1.1091435 0.292 0.100 0
ATM 0 0.6700163 0.736 0.474 0
RBMS1 0 0.8270045 0.387 0.160 0
DYRK2 0 0.6918165 0.580 0.300 0
CLK1 0 0.6725852 0.581 0.302 0
DENND4C 0 0.9781347 0.353 0.141 0
ZBTB16 0 0.9938360 0.406 0.187 0
STK17A 0 0.5945822 0.778 0.518 0
IL7R 0 1.0522505 0.465 0.241 0
SELL 0 1.1969111 0.607 0.491 0
PCM1 0 0.7097132 0.525 0.268 0
DDX3X 0 0.9005694 0.386 0.172 0
JUN 0 1.1940077 0.483 0.264 0
SPRY2 0 1.0073283 0.357 0.151 0
TAF7 0 0.7497056 0.482 0.238 0

NK : NK cd56lo_0 vs_rest

Top 50 markers: NK cd56lo_0 vs_rest
p_val avg_log2FC pct.1 pct.2 p_val_adj
CD3D 0 5.4626399 0.876 0.034 0
CD3G 0 6.0217708 0.655 0.016 0
THEMIS 0 5.7692517 0.421 0.011 0
CD5 0 6.0162392 0.395 0.009 0
CD6 0 4.2894935 0.542 0.038 0
CX3CR1 0 2.6206366 0.729 0.096 0
TRAC 0 3.7427856 0.753 0.158 0
FGFBP2 0 2.8211700 0.689 0.106 0
CD8A 0 3.8598951 0.674 0.127 0
GZMH 0 2.9102081 0.721 0.153 0
SIT1 0 5.6428377 0.268 0.004 0
KLRG1 0 3.0734217 0.592 0.111 0
SYNE2 0 2.2176616 0.821 0.257 0
GRAP2 0 3.1662385 0.426 0.058 0
CCL5 0 1.7768141 0.942 0.459 0
BCL11B 0 2.7048710 0.518 0.103 0
ADGRG1 0 1.8879933 0.776 0.263 0
ZEB2 0 1.9983800 0.784 0.285 0
LAG3 0 2.6669350 0.384 0.054 0
TOB1 0 3.0512877 0.424 0.074 0
KLF2 0 1.5149220 0.921 0.475 0
S100A4 0 2.0531443 0.745 0.306 0
IL32 0 1.4073109 0.895 0.424 0
TRBC2 0 2.3219907 0.834 0.494 0
FLNA 0 1.5450936 0.858 0.490 0
SYNE1 0 1.7632797 0.726 0.281 0
CD3E 0 1.5680540 0.813 0.411 0
S100A6 0 1.6878688 0.747 0.307 0
ADRB2 0 2.1601660 0.521 0.145 0
GNG2 0 1.7818132 0.587 0.176 0
S1PR5 0 1.6149960 0.511 0.128 0
CD52 0 1.5310381 0.871 0.566 0
FCRL6 0 1.7791501 0.605 0.213 0
B2M 0 0.5844334 1.000 0.996 0
C12orf75 0 2.2721660 0.389 0.095 0
ARL4C 0 1.3255903 0.850 0.510 0
P2RY8 0 1.9324808 0.476 0.144 0
AHNAK 0 1.2251219 0.882 0.529 0
FAM53B 0 1.9637690 0.453 0.132 0
CST7 0 1.1619249 0.882 0.620 0
ANXA1 0 1.4166302 0.708 0.339 0
LIME1 0 2.5741703 0.276 0.053 0
CAPN2 0 1.5229013 0.639 0.276 0
PYHIN1 0 1.2720305 0.713 0.344 0
ATXN1 0 1.7209839 0.439 0.133 0
PRSS23 0 2.1487258 0.358 0.099 0
RAP1GAP2 0 1.9983582 0.353 0.093 0
LAPTM5 0 0.9981412 0.895 0.687 0
MYO1G 0 1.4831338 0.666 0.337 0
TGFBR3 0 1.6360026 0.458 0.157 0

NK : NK cd56lo_1 vs_rest

Top 50 markers: NK cd56lo_1 vs_rest
p_val avg_log2FC pct.1 pct.2 p_val_adj
SPON2 0 4.1171917 0.718 0.089 0
CX3CR1 0 3.4509349 0.728 0.110 0
S1PR5 0 3.0110761 0.686 0.120 0
ADGRG1 0 2.6136091 0.845 0.267 0
FCGR3A 0 2.7810247 0.770 0.207 0
FGFBP2 0 2.8904136 0.625 0.125 0
EFHD2 0 1.7048356 0.958 0.680 0
SYNE1 0 1.8989219 0.773 0.286 0
ZEB2 0 1.9944156 0.777 0.297 0
NKG7 0 0.9143751 1.000 0.945 0
PRSS23 0 3.0417412 0.453 0.096 0
PRDM1 0 2.3499142 0.466 0.106 0
KLF2 0 1.5006227 0.893 0.488 0
RAP1GAP2 0 2.6495064 0.424 0.092 0
ADRB2 0 2.2348141 0.531 0.152 0
CLIC3 0 1.7879075 0.706 0.278 0
ARL4C 0 1.5078077 0.867 0.516 0
PRF1 0 0.9604919 0.994 0.856 0
GNG2 0 2.0008168 0.553 0.189 0
CD247 0 1.2006334 0.919 0.678 0
TBX21 0 1.4174244 0.754 0.446 0
ITGB2 0 1.2930273 0.851 0.626 0
FLNA 0 1.3243035 0.796 0.504 0
THEMIS2 0 1.8432631 0.557 0.216 0
FCRL6 0 1.6094895 0.589 0.223 0
CYBA 0 1.2198372 0.880 0.632 0
SYNE2 0 1.5100079 0.644 0.286 0
PXN 0 1.6441867 0.660 0.318 0
CST7 0 1.1439294 0.851 0.628 0
NMUR1 0 1.7502498 0.508 0.186 0
PYHIN1 0 1.4696601 0.696 0.353 0
CCL4 0 1.2567280 0.521 0.191 0
PLEK 0 1.6866859 0.628 0.323 0
GZMM 0 1.4159001 0.589 0.271 0
AOAH 0 1.2262500 0.738 0.442 0
PRR5L 0 1.5961778 0.544 0.250 0
TXNIP 0 0.8091283 0.955 0.806 0
LPCAT1 0 1.2404869 0.706 0.441 0
RORA 0 1.6416646 0.421 0.155 0
TNFRSF1A 0 1.5388022 0.453 0.178 0
HIPK2 0 1.6597651 0.472 0.209 0
MAF 0 2.0092964 0.311 0.096 0
CHST2 0 1.5065002 0.576 0.311 0
LBH 0 1.4449718 0.531 0.254 0
RASGRP2 0 1.6731049 0.515 0.259 0
TGFBR3 0 1.6985583 0.408 0.168 0
GZMH 0 1.3271666 0.453 0.191 0
TMEM71 0 1.8556843 0.327 0.114 0
MYBL1 0 1.7762530 0.411 0.177 0
OSBPL5 0 1.7559132 0.333 0.123 0

NK : NK cd56hi_0 vs NK cd56hi_1

Top 50 markers: NK cd56hi_0 vs NK cd56hi_1
p_val avg_log2FC pct.1 pct.2 p_val_adj
GNLY 0 0.7627458 0.955 0.848 0.00e+00
ITGAX 0 1.1931980 0.807 0.617 0.00e+00
TNFRSF18 0 1.4619009 0.664 0.523 0.00e+00
DDIT4 0 1.0929682 0.756 0.665 0.00e+00
WFDC2 0 0.9146616 0.366 0.110 0.00e+00
IFI6 0 2.6680008 0.433 0.252 0.00e+00
OAS3 0 2.5619326 0.356 0.196 0.00e+00
BHLHE40 0 1.0931371 0.672 0.614 0.00e+00
ISG15 0 2.6498944 0.451 0.319 0.00e+00
GZMB 0 2.1765202 0.534 0.416 0.00e+00
TMSB10 0 0.7559275 0.776 0.756 0.00e+00
METRNL 0 1.4992032 0.460 0.313 0.00e+00
LY6E 0 0.8272690 0.771 0.778 0.00e+00
AREG 0 2.0986468 0.364 0.212 0.00e+00
FOSL2 0 1.6132037 0.502 0.395 0.00e+00
SLC16A3 0 1.2411910 0.530 0.438 0.00e+00
ZNF683 0 1.5890405 0.337 0.181 0.00e+00
ISG20 0 1.6970192 0.505 0.435 0.00e+00
MX1 0 2.1737925 0.328 0.188 0.00e+00
SH2D2A 0 1.2796797 0.517 0.432 0.00e+00
IRF7 0 1.5503206 0.495 0.408 0.00e+00
CD300A 0 0.6018980 0.807 0.808 0.00e+00
CD74 0 0.6503757 0.793 0.828 0.00e+00
CFL1 0 0.5683340 0.776 0.809 0.00e+00
IFI44L 0 1.6395725 0.352 0.220 0.00e+00
AKNA 0 0.5475574 0.827 0.888 0.00e+00
SLC7A5 0 1.9282968 0.273 0.144 0.00e+00
CMPK2 0 2.2616764 0.273 0.149 0.00e+00
COTL1 0 0.9016050 0.603 0.588 0.00e+00
CD38 0 1.3235908 0.465 0.371 0.00e+00
MX2 0 2.0073329 0.261 0.154 0.00e+00
IFI44 0 1.4338753 0.382 0.286 0.00e+00
BCL3 0 1.1668055 0.452 0.373 0.00e+00
SOCS1 0 1.1431800 0.502 0.460 0.00e+00
TYMP 0 1.4484319 0.284 0.171 0.00e+00
RUNX3 0 0.8533951 0.570 0.546 0.00e+00
FES 0 1.6645361 0.365 0.293 0.00e+00
OAS1 0 1.8842186 0.265 0.168 0.00e+00
HAPLN3 0 1.4358012 0.318 0.227 0.00e+00
IFI35 0 1.5261624 0.288 0.203 0.00e+00
TAPBP 0 0.5272999 0.714 0.774 1.00e-07
PRF1 0 0.6854746 0.820 0.880 2.00e-07
S100A6 0 0.8744806 0.328 0.233 8.00e-07
FURIN 0 1.0051297 0.468 0.442 1.30e-06
CHST12 0 0.6945107 0.588 0.618 1.40e-06
TAP2 0 0.9241543 0.460 0.437 2.20e-06
SYK 0 0.5967236 0.191 0.337 2.30e-06
DRAP1 0 0.6408093 0.609 0.654 7.90e-06
DUSP2 0 0.9816449 0.514 0.496 1.47e-05
ECE1 0 0.9929637 0.367 0.306 1.79e-05

NK : NK cd56hi_0 vs NK cd56lo_0

Top 50 markers: NK cd56hi_0 vs NK cd56lo_0
p_val avg_log2FC pct.1 pct.2 p_val_adj
IL2RB 0 2.7595549 0.963 0.679 0
CD7 0 2.4660976 0.906 0.534 0
ITGAX 0 4.1762779 0.807 0.158 0
GNLY 0 1.7111853 0.955 0.771 0
TNFRSF18 0 6.1266653 0.664 0.032 0
FCER1G 0 4.6732994 0.631 0.047 0
TCF7 0 2.0997360 0.754 0.384 0
TYROBP 0 3.1199183 0.576 0.095 0
CTSW 0 1.4192714 0.846 0.684 0
SLC16A3 0 3.3230478 0.530 0.105 0
KLRC1 0 2.8633474 0.514 0.124 0
NCAM1 0 4.7541622 0.418 0.037 0
CD300A 0 1.3627237 0.807 0.624 0
CAPG 0 5.0604716 0.407 0.032 0
NCR1 0 2.4846267 0.537 0.158 0
IRF8 0 4.3510365 0.448 0.076 0
DDIT4 0 1.5705410 0.756 0.497 0
AREG 0 7.4943160 0.364 0.005 0
FES 0 5.7525973 0.365 0.011 0
FURIN 0 3.1612562 0.468 0.126 0
SH2D1B 0 4.0398801 0.366 0.034 0
APOBR 0 1.7441431 0.647 0.361 0
CD44 0 1.2395485 0.804 0.695 0
FOS 0 2.4944118 0.575 0.276 0
DTX1 0 5.0219327 0.342 0.026 0
BHLHE40 0 1.6069457 0.672 0.411 0
TXK 0 2.7896338 0.432 0.111 0
KIR2DL4 0 6.2720057 0.309 0.011 0
KLRC3 0 1.9068851 0.545 0.239 0
SRGN 0 0.9530188 0.875 0.855 0
PLCG2 0 3.1244366 0.441 0.153 0
HAPLN3 0 4.1282517 0.318 0.034 0
ATP8B4 0 4.8280710 0.301 0.026 0
TRDC 0 0.8613179 0.688 0.268 0
SOCS1 0 2.3374260 0.502 0.242 0
ADGRG3 0 5.6523748 0.271 0.008 0
IFITM3 0 3.4697752 0.341 0.063 0
GSN 0 3.6420120 0.300 0.042 0
IFI44L 0 2.8113682 0.352 0.084 0
KLHL6 0 2.8179461 0.364 0.103 0
XCL2 0 3.6639196 0.321 0.066 0
COTL1 0 1.5317758 0.603 0.400 0
LTBP3 0 2.4171123 0.384 0.118 0
HVCN1 0 4.2328160 0.273 0.029 0
GFOD1 0 2.1372669 0.430 0.171 0
CD63 0 1.6952780 0.502 0.242 0
TCIRG1 0 1.5306015 0.590 0.392 0
CHST2 0 2.7623135 0.329 0.076 0
RIN3 0 1.2984973 0.627 0.466 0
ITM2C 0 2.6184931 0.364 0.121 0

NK : NK cd56hi_0 vs NK cd56lo_1

Top 50 markers: NK cd56hi_0 vs NK cd56lo_1
p_val avg_log2FC pct.1 pct.2 p_val_adj
TCF7 0 3.1830196 0.754 0.165 0e+00
TNFRSF18 0 4.2797863 0.664 0.078 0e+00
CD44 0 2.1436379 0.804 0.411 0e+00
GNLY 0 1.1162135 0.955 0.909 0e+00
ITGAX 0 2.0094265 0.807 0.518 0e+00
COTL1 0 3.1094857 0.603 0.162 0e+00
CD7 0 1.2003904 0.906 0.783 0e+00
IL2RB 0 0.8946725 0.963 0.935 0e+00
CAPG 0 4.7661550 0.407 0.013 0e+00
ITM2C 0 4.6562878 0.364 0.023 0e+00
FOS 0 2.2394676 0.575 0.278 0e+00
DTX1 0 3.8100691 0.342 0.042 0e+00
CXCR3 0 2.4643504 0.401 0.091 0e+00
ADCY3 0 5.0677076 0.303 0.023 0e+00
HAPLN3 0 3.6649384 0.318 0.036 0e+00
AREG 0 3.2030665 0.364 0.071 0e+00
KIR2DL4 0 3.5653372 0.309 0.029 0e+00
CASK 0 3.1542480 0.321 0.061 0e+00
BHLHE40 0 1.3762318 0.672 0.495 0e+00
KLRC1 0 1.5344230 0.514 0.236 0e+00
KLHL6 0 2.3427761 0.364 0.094 0e+00
CD2 0 1.7897218 0.535 0.304 0e+00
SLC16A3 0 1.5667627 0.530 0.291 0e+00
SLC7A5 0 3.5504051 0.273 0.039 0e+00
ADGRG3 0 3.2045306 0.271 0.036 0e+00
IL7R 0 2.9485107 0.278 0.042 0e+00
TNFSF10 0 2.1347517 0.384 0.129 0e+00
GPR183 0 3.1867743 0.258 0.036 0e+00
ZNF683 0 2.0974325 0.337 0.094 0e+00
SOCS1 0 1.7326345 0.502 0.294 0e+00
MROH1 0 2.7872089 0.306 0.081 0e+00
CRTAM 0 3.2147751 0.281 0.058 0e+00
BCL3 0 1.5572886 0.452 0.223 0e+00
OAS3 0 2.2777705 0.356 0.136 0e+00
FXYD5 0 0.9564604 0.730 0.631 0e+00
TRAF5 0 1.4640735 0.425 0.204 0e+00
RAB3GAP1 0 2.5378209 0.255 0.055 0e+00
IRF8 0 1.7631289 0.448 0.243 0e+00
ECE1 0 1.9156375 0.367 0.162 0e+00
KLRC3 0 1.2822337 0.545 0.353 0e+00
NCAM1 0 1.5649691 0.418 0.207 0e+00
FES 0 1.8207151 0.365 0.162 0e+00
SLC7A6 0 1.6306553 0.384 0.178 0e+00
ACAP1 0 0.8816851 0.663 0.502 0e+00
HVCN1 0 2.0354298 0.273 0.078 0e+00
PDCD4 0 1.2127037 0.532 0.353 0e+00
UNC93B1 0 1.7925243 0.294 0.097 0e+00
IFITM3 0 2.1285061 0.341 0.155 0e+00
XCL2 0 1.8855011 0.321 0.126 0e+00
CD74 0 0.6280517 0.793 0.728 2e-07

NK : NK cd56hi_1 vs NK cd56lo_0

Top 50 markers: NK cd56hi_1 vs NK cd56lo_0
p_val avg_log2FC pct.1 pct.2 p_val_adj
IL2RB 0 2.734264 0.983 0.679 0
FCER1G 0 4.697998 0.744 0.047 0
CD7 0 2.029654 0.922 0.534 0
KLRF1 0 3.816683 0.741 0.089 0
SH2D1B 0 4.354024 0.597 0.034 0
TRDC 0 1.664352 0.866 0.268 0
TXK 0 3.087328 0.655 0.111 0
KLRC1 0 3.062632 0.655 0.124 0
TYROBP 0 2.904630 0.642 0.095 0
NCR1 0 2.440570 0.688 0.158 0
ATP8B4 0 5.149312 0.513 0.026 0
TNFRSF18 0 4.664765 0.523 0.032 0
NCAM1 0 4.596190 0.517 0.037 0
ITGAX 0 2.983080 0.617 0.158 0
PLCG2 0 2.449727 0.655 0.153 0
FOS 0 2.647600 0.678 0.276 0
KLRC3 0 2.007561 0.695 0.239 0
PDCD4 0 1.510630 0.821 0.476 0
CAPG 0 4.482101 0.454 0.032 0
TCF7 0 1.739380 0.753 0.384 0
DTX1 0 4.704041 0.439 0.026 0
XCL2 0 3.697926 0.465 0.066 0
KLRD1 0 1.075979 0.889 0.668 0
SPTSSB 0 7.135077 0.379 0.005 0
CD44 0 1.144775 0.897 0.695 0
IRF8 0 3.000984 0.484 0.076 0
LTBP3 0 2.422517 0.521 0.118 0
KLHL6 0 2.631775 0.493 0.103 0
BTG1 0 0.966499 0.900 0.729 0
GNAQ 0 3.693575 0.390 0.045 0
GSN 0 4.180076 0.375 0.042 0
CXXC5 0 2.697700 0.418 0.066 0
ITM2C 0 3.170957 0.463 0.121 0
DLL1 0 4.881411 0.336 0.018 0
GZMK 0 1.813765 0.570 0.211 0
SMURF2 0 2.532144 0.459 0.108 0
IL18RAP 0 1.878670 0.535 0.182 0
SPRY2 0 3.689242 0.357 0.039 0
SYK 0 3.428934 0.337 0.026 0
HOPX 0 1.273112 0.686 0.308 0
TRAF5 0 1.582032 0.582 0.242 0
CLDND1 0 1.426949 0.670 0.355 0
HVCN1 0 3.278774 0.328 0.029 0
SLC16A3 0 2.081857 0.438 0.105 0
FES 0 4.088061 0.293 0.011 0
IL12RB2 0 2.819564 0.366 0.061 0
GFOD1 0 1.777367 0.502 0.171 0
CTSW 0 1.030512 0.810 0.684 0
FURIN 0 2.156127 0.442 0.126 0
RIN3 0 1.147286 0.732 0.466 0

NK : NK cd56hi_1 vs NK cd56lo_1

Top 50 markers: NK cd56hi_1 vs NK cd56lo_1
p_val avg_log2FC pct.1 pct.2 p_val_adj
CD44 0 2.0488644 0.897 0.411 0
TCF7 0 2.8226640 0.753 0.165 0
GZMK 0 4.8569824 0.570 0.023 0
PDCD4 0 1.8931548 0.821 0.353 0
GPR183 0 3.9540214 0.502 0.036 0
ITM2C 0 5.2087518 0.463 0.023 0
FOS 0 2.3926557 0.678 0.278 0
CAPG 0 4.1877846 0.454 0.013 0
IL2RB 0 0.8693816 0.983 0.935 0
TRDC 0 1.2258280 0.866 0.599 0
TNFRSF18 0 2.8178854 0.523 0.078 0
CD2 0 2.1604633 0.676 0.304 0
IL7R 0 3.8882241 0.465 0.042 0
COTL1 0 2.2078807 0.588 0.162 0
CASK 0 3.1598205 0.469 0.061 0
CLDND1 0 1.9031530 0.670 0.262 0
KLRC1 0 1.7337071 0.655 0.236 0
DTX1 0 3.4921771 0.439 0.042 0
SPTSSB 0 4.7831664 0.379 0.013 0
KLHL6 0 2.1566051 0.493 0.094 0
BTG1 0 0.8983236 0.900 0.715 0
SMURF2 0 2.4496821 0.459 0.100 0
ATP8B4 0 1.8770414 0.513 0.149 0
KLRC3 0 1.3829093 0.695 0.353 0
CXCR6 0 5.2830178 0.317 0.013 0
SELL 0 2.0303390 0.607 0.350 0
TRAF5 0 1.3842242 0.582 0.204 0
TBL1XR1 0 1.8754740 0.475 0.126 0
CXCR3 0 2.0079696 0.441 0.091 0
XCL2 0 1.9195073 0.465 0.126 0
GNAQ 0 2.2210164 0.390 0.071 0
LTB 0 2.5117626 0.427 0.110 0
STT3B 0 1.4828080 0.566 0.210 0
SPRY2 0 2.8750856 0.357 0.052 0
CD7 0 0.7639463 0.922 0.783 0
PNRC1 0 0.8247013 0.842 0.625 0
STK17A 0 1.0464263 0.778 0.485 0
STRBP 0 2.5046401 0.344 0.045 0
KLRK1 0 0.8336911 0.850 0.660 0
ADCY3 0 4.4320005 0.293 0.023 0
RAB3GAP1 0 2.4256762 0.344 0.055 0
PATJ 0 2.4917312 0.335 0.049 0
FUT8 0 2.6472645 0.333 0.049 0
RUNX2 0 2.6009510 0.325 0.042 0
CRTAM 0 2.6111758 0.346 0.058 0
RESF1 0 1.0639006 0.686 0.359 0
DNMT3A 0 1.5028589 0.484 0.155 0
FOSB 0 2.4486495 0.379 0.091 0
NCAM1 0 1.4069969 0.517 0.207 0
SLC38A2 0 1.3604312 0.546 0.236 0

NK : NK cd56lo_0 vs NK cd56lo_1

Top 50 markers: NK cd56lo_0 vs NK cd56lo_1
p_val avg_log2FC pct.1 pct.2 p_val_adj
CD3D 0 4.8121477 0.876 0.049 0.0000000
TRAC 0 4.4544090 0.753 0.081 0.0000000
CD3G 0 4.1288542 0.655 0.058 0.0000000
CD52 0 2.2098790 0.871 0.388 0.0000000
CD3E 0 2.0657916 0.813 0.220 0.0000000
CD8A 0 3.5132926 0.674 0.136 0.0000000
IL32 0 1.6124781 0.895 0.405 0.0000000
THEMIS 0 6.5814431 0.421 0.006 0.0000000
CD5 0 7.0396775 0.395 0.006 0.0000000
CD6 0 2.7118380 0.542 0.120 0.0000000
TRBC2 0 1.9555148 0.834 0.531 0.0000000
CCL5 0 1.0421169 0.942 0.650 0.0000000
CD27 0 5.0549852 0.321 0.013 0.0000000
KLRG1 0 1.8453725 0.592 0.217 0.0000000
CD2 0 1.6095582 0.642 0.304 0.0000000
LAG3 0 2.2538522 0.384 0.065 0.0000000
TOB1 0 2.3752977 0.424 0.100 0.0000000
TRGC2 0 2.1823778 0.495 0.172 0.0000000
SIT1 0 5.0436695 0.268 0.010 0.0000000
CCR5 0 5.3134266 0.250 0.006 0.0000000
CD84 0 3.8783300 0.258 0.016 0.0000000
TMSB4X 0 0.5020123 0.992 0.981 0.0000000
CNN2 0 1.2006178 0.647 0.340 0.0000000
VIM 0 1.2256877 0.711 0.437 0.0000000
ZNF683 0 2.0030819 0.350 0.094 0.0000000
GZMH 0 0.9954123 0.721 0.453 0.0000000
LY9 0 1.6127613 0.345 0.091 0.0000000
S100A10 0 1.2577216 0.529 0.243 0.0000000
TC2N 0 1.6772186 0.434 0.178 0.0000000
GPR171 0 2.0978150 0.271 0.052 0.0000000
GRAP2 0 1.4104413 0.426 0.175 0.0000000
S100A6 0 0.8208658 0.747 0.495 0.0000000
LAPTM5 0 0.6463738 0.895 0.761 0.0000000
CD44 0 0.9040894 0.695 0.411 0.0000000
COTL1 0 1.5777099 0.400 0.162 0.0000001
RESF1 0 0.9533270 0.603 0.359 0.0000002
ANXA1 0 0.8931180 0.708 0.485 0.0000004
LCK 0 0.7462358 0.639 0.359 0.0000025
BCL11B 0 1.0768484 0.518 0.285 0.0000038
PLCG1 0 1.2264092 0.355 0.139 0.0000075
PTMS 0 1.6513395 0.255 0.071 0.0000080
TCF7 0 1.0832837 0.384 0.165 0.0000157
CLEC2D 0 0.6532796 0.763 0.576 0.0000407
ARHGAP15 0 0.7812397 0.650 0.440 0.0000478
IKZF3 0 0.6576730 0.716 0.515 0.0001053
CD48 0 0.8210215 0.608 0.421 0.0001121
ANXA5 0 1.4166942 0.253 0.078 0.0001185
GIMAP4 0 0.6567529 0.718 0.537 0.0001287
RPTOR 0 1.1387905 0.334 0.136 0.0001854
EIF3H 0 1.2330103 0.329 0.136 0.0001886

Overview of l1,l2 and l3

paed_sub$cell_labels_l2 <- as.character(paed_sub$cell_labels_l1)
paed_sub$cell_labels_l3 <- as.character(paed_sub$cell_labels_l2)

for (obj in list(cd4_t, cd8_t, nk)) {
  cells <- intersect(colnames(paed_sub), colnames(obj))
  paed_sub$cell_labels_l2[cells] <- as.character(obj$cell_labels_l2[cells])
  paed_sub$cell_labels_l3[cells] <- as.character(obj$cell_labels_l3[cells])
}

paed_sub$cell_labels_l2 <- factor(paed_sub$cell_labels_l2)
paed_sub$cell_labels_l3 <- factor(paed_sub$cell_labels_l3)
DimPlot(paed_sub, reduction = "umap.sub", raster = F, repel = T, label = T, group.by = "lineage")

DimPlot(paed_sub, reduction = "umap.sub", raster = F, repel = T, label = T, group.by = "cell_labels_l1")

DimPlot(paed_sub, reduction = "umap.sub", raster = F, repel = T, label = T, group.by = "cell_labels_l3")

paed_sub$cell_labels_l2 <- factor(
  paed_sub$cell_labels_l2,
  levels = c(
    "Pre T","Cycling T",
    "CD4 T Naive","CD8 T Naive",
    "CD4 T Memory","CD8 T Memory","CD8 TRM/EM",
    "CD4 T Effector","CD4 T Regulatory",
    "Gamma-delta T","Double Negative T","MAIT cells",
    "NK cd56hi","NK cd56lo","ILC"
  )
)
DimPlot(paed_sub, reduction = "umap.sub", raster = F, repel = T, label = T, group.by = "cell_labels_l2")

DimPlot(paed_sub, reduction = "umap.sub", raster = F, repel = T, label = T, group.by = "cell_labels_l2", split.by = "tissue")

paed_sub$cell_labels_l3 <- factor(
  paed_sub$cell_labels_l3,
  levels = c(
    "Pre T","Cycling T",
    "CD4 T Naive_0","CD4 T Naive_1","CD4 T Naive_2",
    "CD8 T Naive_0","CD8 T Naive_1",
    "CD4 T Memory_0","CD4 T Memory_1","CD4 T Memory_2","CD4 T Memory_3",
    "CD8 T Memory_0","CD8 T Memory_1","CD8 T Memory_2","CD8 T Memory_3",
    "CD8 TRM/EM_0","CD8 TRM/EM_1",
    "CD4 T Effector_0","CD4 T Effector_1",
    "CD4 T Regulatory_0","CD4 T Regulatory_1","CD4 T Regulatory_2",
    "Gamma-delta T","Double Negative T","MAIT cells",
    "NK cd56hi_0","NK cd56hi_1","NK cd56lo_0","NK cd56lo_1",
    "ILC"
  )
)

DimPlot(paed_sub, reduction = "umap.sub", raster = F, repel = T, label = T, group.by = "cell_labels_l3")

paed_sub@meta.data %>%
  count(cell_labels_l3, tissue) %>%
  group_by(cell_labels_l3) %>%
  mutate(total = sum(n)) %>%
  ungroup() %>%
  #mutate(cell_labels_l3 = reorder(cell_labels_l3, total)) %>%
  ggplot(aes(x = cell_labels_l3, y = n, fill = tissue)) +
  geom_col() +
  geom_text(
    data = function(df) distinct(df, cell_labels_l3, total),
    aes(x = cell_labels_l3, y = total, label = total),
    inherit.aes = FALSE,
    hjust = -0.1,
    size = 3
  ) +
  coord_flip() +
  theme_classic() +
  labs(
    x = NULL,
    y = "Cell count",
    fill = "Tissue",
    title = "Cell counts by L3 cell type (stacked by tissue)"
  )

paed_sub@meta.data %>%
    count(cell_labels_l3, donor) %>%
    group_by(cell_labels_l3) %>%
    mutate(prop = n / sum(n)) %>%  # proportion per L3
    ungroup() %>%
    ggplot(aes(x = cell_labels_l3, y = prop, fill = donor)) +
    geom_col(width = 0.9) +
    scale_y_continuous(labels = scales::percent) +
    scale_fill_viridis_d(option = "turbo", guide = guide_legend(ncol = 2)) +
    theme_classic() +
    theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
    labs(
        x = NULL,
        y = "Proportion",
        fill = "Donor",
        title = "Donor composition per L3 cell type"
    )

Save RDS

#saveRDS(paed_sub, "../EarlyAir_paper/output/RDS/Annotated_lineages/SEU_T_NK_Cells_annotated.rds")

Session Info

sessionInfo()
R version 4.3.3 (2024-02-29)
Platform: aarch64-apple-darwin20 (64-bit)
Running under: macOS 15.7.3

Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRblas.0.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.11.0

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

time zone: Australia/Melbourne
tzcode source: internal

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] gtools_3.9.5        presto_1.0.0        circlize_0.4.16    
 [4] BiocParallel_1.36.0 harmony_1.2.3       Rcpp_1.0.14        
 [7] patchwork_1.3.0     cowplot_1.1.3       data.table_1.17.2  
[10] RColorBrewer_1.1-3  kableExtra_1.4.0    ggridges_0.5.6     
[13] ggforce_0.4.2       viridis_0.6.5       viridisLite_0.4.2  
[16] paletteer_1.6.0     clustree_0.5.1      ggraph_2.2.1       
[19] Seurat_5.0.3        SeuratObject_5.1.0  sp_2.2-0           
[22] here_1.0.1          lubridate_1.9.4     forcats_1.0.0      
[25] stringr_1.5.1       dplyr_1.1.4         purrr_1.0.4        
[28] readr_2.1.5         tidyr_1.3.1         tibble_3.2.1       
[31] ggplot2_3.5.2       tidyverse_2.0.0     BiocStyle_2.30.0   
[34] workflowr_1.7.1    

loaded via a namespace (and not attached):
  [1] RcppAnnoy_0.0.22       splines_4.3.3          later_1.4.2           
  [4] prismatic_1.1.2        polyclip_1.10-7        fastDummies_1.7.5     
  [7] lifecycle_1.0.4        rprojroot_2.0.4        globals_0.17.0        
 [10] processx_3.8.6         lattice_0.22-5         MASS_7.3-60.0.1       
 [13] backports_1.5.0        magrittr_2.0.3         limma_3.58.1          
 [16] plotly_4.10.4          sass_0.4.10            rmarkdown_2.29        
 [19] jquerylib_0.1.4        yaml_2.3.10            httpuv_1.6.16         
 [22] sctransform_0.4.2      spam_2.11-1            spatstat.sparse_3.1-0 
 [25] reticulate_1.42.0      pbapply_1.7-2          abind_1.4-8           
 [28] Rtsne_0.17             tweenr_2.0.3           git2r_0.36.2          
 [31] ggrepel_0.9.6          irlba_2.3.5.1          listenv_0.9.1         
 [34] spatstat.utils_3.1-4   pheatmap_1.0.12        goftest_1.2-3         
 [37] RSpectra_0.16-2        spatstat.random_3.4-1  fitdistrplus_1.2-2    
 [40] parallelly_1.44.0      svglite_2.2.1          leiden_0.4.3.1        
 [43] codetools_0.2-19       xml2_1.3.8             tidyselect_1.2.1      
 [46] shape_1.4.6.1          farver_2.1.2           matrixStats_1.5.0     
 [49] spatstat.explore_3.4-3 jsonlite_2.0.0         tidygraph_1.3.1       
 [52] progressr_0.15.1       survival_3.5-8         systemfonts_1.2.3     
 [55] tools_4.3.3            ica_1.0-3              glue_1.8.0            
 [58] gridExtra_2.3          xfun_0.52              withr_3.0.2           
 [61] BiocManager_1.30.25    fastmap_1.2.0          callr_3.7.6           
 [64] digest_0.6.37          timechange_0.3.0       R6_2.6.1              
 [67] mime_0.13              textshaping_1.0.1      colorspace_2.1-1      
 [70] scattermore_1.2        tensor_1.5             spatstat.data_3.1-6   
 [73] utf8_1.2.5             generics_0.1.4         graphlayouts_1.2.2    
 [76] httr_1.4.7             htmlwidgets_1.6.4      whisker_0.4.1         
 [79] uwot_0.2.3             pkgconfig_2.0.3        gtable_0.3.6          
 [82] lmtest_0.9-40          htmltools_0.5.8.1      dotCall64_1.2         
 [85] scales_1.4.0           png_0.1-8              spatstat.univar_3.1-3 
 [88] knitr_1.50             rstudioapi_0.17.1      tzdb_0.5.0            
 [91] reshape2_1.4.4         checkmate_2.3.2        nlme_3.1-164          
 [94] cachem_1.1.0           zoo_1.8-14             GlobalOptions_0.1.2   
 [97] KernSmooth_2.23-22     vipor_0.4.7            parallel_4.3.3        
[100] miniUI_0.1.2           ggrastr_1.0.2          pillar_1.10.2         
[103] grid_4.3.3             vctrs_0.6.5            RANN_2.6.2            
[106] promises_1.3.2         xtable_1.8-4           cluster_2.1.6         
[109] beeswarm_0.4.0         evaluate_1.0.3         cli_3.6.5             
[112] compiler_4.3.3         rlang_1.1.6            future.apply_1.11.3   
[115] labeling_0.4.3         rematch2_2.1.2         ps_1.9.1              
[118] ggbeeswarm_0.7.2       getPass_0.2-4          plyr_1.8.9            
[121] fs_1.6.6               stringi_1.8.7          deldir_2.0-4          
[124] lazyeval_0.2.2         spatstat.geom_3.4-1    Matrix_1.6-5          
[127] RcppHNSW_0.6.0         hms_1.1.3              future_1.40.0         
[130] statmod_1.5.0          shiny_1.10.0           ROCR_1.0-11           
[133] igraph_2.1.4           memoise_2.0.1          bslib_0.9.0           

sessionInfo()
R version 4.3.3 (2024-02-29)
Platform: aarch64-apple-darwin20 (64-bit)
Running under: macOS 15.7.3

Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRblas.0.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.11.0

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

time zone: Australia/Melbourne
tzcode source: internal

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] gtools_3.9.5        presto_1.0.0        circlize_0.4.16    
 [4] BiocParallel_1.36.0 harmony_1.2.3       Rcpp_1.0.14        
 [7] patchwork_1.3.0     cowplot_1.1.3       data.table_1.17.2  
[10] RColorBrewer_1.1-3  kableExtra_1.4.0    ggridges_0.5.6     
[13] ggforce_0.4.2       viridis_0.6.5       viridisLite_0.4.2  
[16] paletteer_1.6.0     clustree_0.5.1      ggraph_2.2.1       
[19] Seurat_5.0.3        SeuratObject_5.1.0  sp_2.2-0           
[22] here_1.0.1          lubridate_1.9.4     forcats_1.0.0      
[25] stringr_1.5.1       dplyr_1.1.4         purrr_1.0.4        
[28] readr_2.1.5         tidyr_1.3.1         tibble_3.2.1       
[31] ggplot2_3.5.2       tidyverse_2.0.0     BiocStyle_2.30.0   
[34] workflowr_1.7.1    

loaded via a namespace (and not attached):
  [1] RcppAnnoy_0.0.22       splines_4.3.3          later_1.4.2           
  [4] prismatic_1.1.2        polyclip_1.10-7        fastDummies_1.7.5     
  [7] lifecycle_1.0.4        rprojroot_2.0.4        globals_0.17.0        
 [10] processx_3.8.6         lattice_0.22-5         MASS_7.3-60.0.1       
 [13] backports_1.5.0        magrittr_2.0.3         limma_3.58.1          
 [16] plotly_4.10.4          sass_0.4.10            rmarkdown_2.29        
 [19] jquerylib_0.1.4        yaml_2.3.10            httpuv_1.6.16         
 [22] sctransform_0.4.2      spam_2.11-1            spatstat.sparse_3.1-0 
 [25] reticulate_1.42.0      pbapply_1.7-2          abind_1.4-8           
 [28] Rtsne_0.17             tweenr_2.0.3           git2r_0.36.2          
 [31] ggrepel_0.9.6          irlba_2.3.5.1          listenv_0.9.1         
 [34] spatstat.utils_3.1-4   pheatmap_1.0.12        goftest_1.2-3         
 [37] RSpectra_0.16-2        spatstat.random_3.4-1  fitdistrplus_1.2-2    
 [40] parallelly_1.44.0      svglite_2.2.1          leiden_0.4.3.1        
 [43] codetools_0.2-19       xml2_1.3.8             tidyselect_1.2.1      
 [46] shape_1.4.6.1          farver_2.1.2           matrixStats_1.5.0     
 [49] spatstat.explore_3.4-3 jsonlite_2.0.0         tidygraph_1.3.1       
 [52] progressr_0.15.1       survival_3.5-8         systemfonts_1.2.3     
 [55] tools_4.3.3            ica_1.0-3              glue_1.8.0            
 [58] gridExtra_2.3          xfun_0.52              withr_3.0.2           
 [61] BiocManager_1.30.25    fastmap_1.2.0          callr_3.7.6           
 [64] digest_0.6.37          timechange_0.3.0       R6_2.6.1              
 [67] mime_0.13              textshaping_1.0.1      colorspace_2.1-1      
 [70] scattermore_1.2        tensor_1.5             spatstat.data_3.1-6   
 [73] utf8_1.2.5             generics_0.1.4         graphlayouts_1.2.2    
 [76] httr_1.4.7             htmlwidgets_1.6.4      whisker_0.4.1         
 [79] uwot_0.2.3             pkgconfig_2.0.3        gtable_0.3.6          
 [82] lmtest_0.9-40          htmltools_0.5.8.1      dotCall64_1.2         
 [85] scales_1.4.0           png_0.1-8              spatstat.univar_3.1-3 
 [88] knitr_1.50             rstudioapi_0.17.1      tzdb_0.5.0            
 [91] reshape2_1.4.4         checkmate_2.3.2        nlme_3.1-164          
 [94] cachem_1.1.0           zoo_1.8-14             GlobalOptions_0.1.2   
 [97] KernSmooth_2.23-22     vipor_0.4.7            parallel_4.3.3        
[100] miniUI_0.1.2           ggrastr_1.0.2          pillar_1.10.2         
[103] grid_4.3.3             vctrs_0.6.5            RANN_2.6.2            
[106] promises_1.3.2         xtable_1.8-4           cluster_2.1.6         
[109] beeswarm_0.4.0         evaluate_1.0.3         cli_3.6.5             
[112] compiler_4.3.3         rlang_1.1.6            future.apply_1.11.3   
[115] labeling_0.4.3         rematch2_2.1.2         ps_1.9.1              
[118] ggbeeswarm_0.7.2       getPass_0.2-4          plyr_1.8.9            
[121] fs_1.6.6               stringi_1.8.7          deldir_2.0-4          
[124] lazyeval_0.2.2         spatstat.geom_3.4-1    Matrix_1.6-5          
[127] RcppHNSW_0.6.0         hms_1.1.3              future_1.40.0         
[130] statmod_1.5.0          shiny_1.10.0           ROCR_1.0-11           
[133] igraph_2.1.4           memoise_2.0.1          bslib_0.9.0