Figure 2

Read data, functions and packages

source("R/ReadPackages.R")
source("R/Functions.R")
source("R/ReadData.R")
source("R/ThemesColors.R")
source("R/Helpers.R")

Most important markers

varImp(GBresults_surfaceplus, scale = TRUE)[[1]]
##                         Overall
## .CD279              100.0000000
## .CD4                 82.4463897
## .CD95                82.4303483
## integratedrna_MKI67  80.9565571
## .CD127               63.1639318
## tfactivity_FOXP3-E   59.1942647
## .CD244               57.8861583
## .CD31                54.2644573
## .CD25                54.2067250
## .CD38                47.3966638
## .CD45RA              44.0812741
## .KLRG1               42.9929987
## .CD69                35.9047131
## integratedrna_IKZF3  34.9307454
## .CD366               33.4871027
## .CD185               33.0957211
## .CD278               27.6571296
## .CD8a                27.5828688
## .CD29                22.0760197
## .CD45RO              20.0210563
## .CD27                16.3993173
## .CD161               15.3763637
## .CD47                14.8225454
## .CD39                14.7842141
## .CD195               14.1737708
## .CD62L               13.0361310
## .CD5                 12.8674828
## .TIGIT               12.7531256
## .CD48                11.7467447
## .CD7                 10.8524031
## .CD183                9.3610239
## .CD43                 8.5656629
## .CD57                 7.7217130
## .CD134                6.8171674
## .CD44                 6.6495843
## .CD2                  6.3130648
## .CD194                4.8190625
## .CD28                 4.4820337
## .CD45                 3.9233299
## .CD3                  3.7850078
## .CD86                 3.7547510
## .CD10                 2.8469448
## .CD56                 2.7054040
## .CD11c                2.5142886
## .CD137                2.5084547
## .CD103                2.4943983
## .CD73                 2.2263472
## .CD150                2.1428834
## .CD223                2.0853611
## .CD21                 1.9588623
## .CD197                1.9572646
## .CD20                 1.9167947
## .CD22                 1.9078029
## .CD16                 1.6164796
## .mouseIgG1            1.5719767
## .CD32                 1.5299717
## .mouseIgG2b           1.4007958
## .CD70                 1.3886195
## .CD19                 1.3060245
## .CD184                1.2608836
## .CD24                 1.1020146
## .Kappa                1.0543088
## .Lambda               1.0394889
## .CD152                0.9766114
## .ratIgG2b             0.9546538
## .CD11b                0.7070605
## .CD274                0.5306019
## .CD273                0.4592048
## .CD79b                0.4213194
## .hamsterIgG           0.3718775
## .CD357                0.2912255
## .CD23                 0.2861991
## .mouseIgG2a           0.0000000
plot_markers <- varImp(GBresults_surfaceplus, scale = TRUE)[[1]] %>% 
  data.frame %>% 
  rownames_to_column("Parameter") %>% 
  top_n(n = 35, Overall) %>% 
  mutate(Parameter=gsub(Parameter, pattern = ".", fixed = T, replacement = "")) %>% 
  mutate(Parameter=gsub(Parameter, pattern = "tfactivity_|-E|integratedadt_|integratedrna_", replacement = "")) %>% 
  mutate(Parameter=ifelse(Parameter=="FOXP3", "FoxP3", Parameter)) %>% 
  mutate(Code=ifelse(Parameter %in% c("CD279", "CD4", "MKI67", "CD244", "FoxP3", "CD25", 
                                      "CD31", "CD45RA", "CD69", "CD185", "CD366", "IKZF3", 
                                      "CD45RO", "CD278", "CD8a"), 1, 0)) %>% 
  ggplot(aes(x=0, y=reorder(Parameter, -Overall)))+
  geom_segment(aes(xend=Overall, yend=reorder(Parameter, Overall)), size=0.35)+
  geom_point(aes(x=Overall, color=as.character(Code), y=reorder(Parameter, Overall)), inherit.aes = F, size=1)+
  scale_color_manual(values = c("grey65", "#c51b8a")) +
  scale_x_continuous(expand = c(0,0.25), limits = c(0,110), name = "Scaled importance")+
  ggtitle("Top 35 features")+
  coord_flip()+
  mytheme_1+
  theme(axis.title.x = element_blank(),
        plot.title =element_text(hjust=0.5, face = "plain"),
        panel.border = element_rect(size=0.25),
        axis.ticks.y = element_line(size=0.25),
        axis.ticks.x = element_blank(),
        axis.text.y = element_text(size=7),
        axis.title.y = element_text(size=7),
        axis.text.x = element_text(size=7, angle=45, hjust=1))+
  labs(tag = "A")

plot_markers

#ggsave(width = 14, height = 4.25, units = "cm", filename = "Figure2_p1.pdf")

Correlation: Flow cytometry ~ CITE-seq

df_cor <- left_join(df_freq %>% filter(!Population %in% c(df_comb$IdentI)), 
                    df_facs, by=c("PatientID", "Population")) %>% 
  filter(!is.na(FACS)) %>% 
  filter(!PatientID %in% c("LN0262", "LN0302")) 

cor_plots_facs <- list()

cor_plots_facs[["TFH"]] <- df_cor %>% 
  filter(Population=="TFH") %>% 
  ggplot(aes(x=FACS, y=RNA))+
  geom_point(color=colors_umap_cl[["6"]], size=0.45, alpha=0.75)+
  geom_smooth(method = "lm", linetype="dashed", size=0.25, formula = y ~ x, na.rm = TRUE,
              color=colors_umap_cl[["6"]], se=F, fullrange=T)+
  stat_cor(aes(label=..r.label..), method = "pearson", size=2.5, label.x.npc = c(0.04), label.y.npc = c(0.9))+
  scale_x_continuous(limits = c(0,75), breaks = c(0, 25, 50, 75))+
  scale_y_continuous(limits = c(0,75), breaks = c(0, 25, 50, 75))+
  labs(
    x="CD4<sup>+</sup> FOXP3<sup>-</sup><br><span>CXCR5<sup>+</sup> PD1<sup>+</sup></span>",
    y="T<sub>FH</sub>"
  )+
  theme_bw()+
  coord_fixed()+
  mytheme_1+
  theme_axis_sub

cor_plots_facs[["TPR"]] <- df_cor %>% 
  filter(Population=="TPR") %>% 
  ggplot(aes(x=FACS, y=RNA, label=substr(PatientID, 4, 6)))+
  geom_point(color=colors_umap_cl[["14"]], size=0.45, alpha=0.75)+
  geom_smooth(method = "lm", linetype="dashed", size=0.25, formula = y ~ x, na.rm = TRUE,
              color=colors_umap_cl[["14"]], se=F, fullrange=T)+
  stat_cor(aes(label=..r.label..), method = "pearson",size=2.5, label.x.npc = c(0.04), label.y.npc = c(0.9))+
  scale_x_continuous(limits = c(0,12), breaks = c(0, 4, 8, 12))+
  scale_y_continuous(limits = c(0,12), breaks = c(0, 4, 8, 12))+
 labs(
    x="Ki67<sup>+</sup>",
    y="T<sub>Pr</sub>",
  )+
  theme_bw()+
  coord_fixed()+
  mytheme_1+
  theme_axis_sub

cor_plots_facs[["TDN"]] <- df_cor %>% 
  filter(Population=="TDN") %>% 
  ggplot(aes(x=FACS, y=RNA, label=substr(PatientID, 4, 6)))+
  geom_point(color=colors_umap_cl[["19"]], size=0.45, alpha=0.75)+
  geom_smooth(method = "lm", linetype="dashed", size=0.25, formula = y ~ x, na.rm = TRUE,
              color=colors_umap_cl[["19"]], se=F, fullrange=T)+
  stat_cor(aes(label=..r.label..), method = "pearson",size=2.5, label.x.npc = c(0.3), label.y.npc = c(0.1))+
  scale_x_continuous(limits = c(0,8), breaks = c(0, 2, 4, 6, 8))+
  scale_y_continuous(limits = c(0,8), breaks = c(0, 2, 4, 6, 8))+
  labs(
    x="CD45RA<sup>+</sup><br><span>CD4<sup>-</sup> CD8<sup>-</sub></span>",
    y="T<sub>DN</sub>"
  )+
  theme_bw()+
  coord_fixed()+
  mytheme_1+
  theme_axis_sub

cor_plots_facs[["THCM1"]] <- df_cor %>% 
  filter(Population=="THCM1") %>% 
  ggplot(aes(x=FACS, y=RNA, label=substr(PatientID, 4, 6)))+
  geom_point(color=colors_umap_cl[["2"]], size=0.45, alpha=0.75)+
  geom_smooth(method = "lm", linetype="dashed", size=0.25, formula = y ~ x, na.rm = TRUE,
              color=colors_umap_cl[["2"]], se=F, fullrange=T)+
  stat_cor(aes(label=..r.label..), method = "pearson",size=2.5, label.x.npc = c(0.35), label.y.npc = c(0.1))+
  scale_x_continuous(limits = c(0,17), breaks = c(0, 5, 10, 15))+
  scale_y_continuous(limits = c(0,17), breaks = c(0, 5, 10, 15))+
  labs(
    x="CD45RA<sup>-</sup> FOXP3<sup>-</sup><br><span>CD69<sup>-</sup> PD1<sup>Low</sup></span>",
    y="T<sub>H</sub> CM<sub>1</sub>"
  )+
  theme_bw()+
  coord_fixed()+
  mytheme_1+
  theme_axis_sub

cor_plots_facs[["THCM2"]] <- df_cor %>% 
  filter(Population=="THCM2") %>% 
  ggplot(aes(x=FACS, y=RNA, label=substr(PatientID, 4, 6)))+
  geom_point(color=colors_umap_cl[["9"]], size=0.45, alpha=0.75)+
  geom_smooth(method = "lm", linetype="dashed", size=0.25, formula = y ~ x, na.rm = TRUE,
              color=colors_umap_cl[["9"]], se=F, fullrange=T)+
  stat_cor(aes(label=..r.label..), method = "pearson",size=2.5, label.x.npc = c(0.04), label.y.npc = c(0.9))+
  scale_x_continuous(limits = c(0,15), breaks = c(0, 5, 10, 15))+
  scale_y_continuous(limits = c(0,15), breaks = c(0, 5, 10, 15))+
  labs(
    x="CD45RA<sup>-</sup> FOXP3<sup>-</sup><br><span>CD69<sup>+</sup> PD1<sup>Low</sup></span>",
    y="T<sub>H</sub> CM<sub>2</sub>"
  )+
  theme_bw()+
  coord_fixed()+
  mytheme_1+
  theme_axis_sub

cor_plots_facs[["THNaive"]] <- df_cor %>% 
  filter(Population=="THNaive") %>% 
  ggplot(aes(x=FACS, y=RNA, label=substr(PatientID, 4, 6)))+
  geom_point(color=colors_umap_cl[["1"]], size=0.45, alpha=0.75)+
  geom_smooth(method = "lm", linetype="dashed", size=0.25, formula = y ~ x, na.rm = TRUE,
              color=colors_umap_cl[["1"]], se=F, fullrange=T)+
  stat_cor(aes(label=..r.label..), method = "pearson",size=2.5, label.x.npc = c(0.04), label.y.npc = c(0.9))+
  scale_x_continuous(limits = c(0,25), breaks = c(0, 8, 16, 24))+
  scale_y_continuous(limits = c(0,25), breaks = c(0, 8, 16, 24))+
  labs(
    x="CD4<sup>+</sup> CD45RA<sup>+</sup>",
    y="CD4<sup>+</sup> Naive"
  )+
  theme_bw()+
  coord_fixed()+
  mytheme_1+
  theme_axis_sub

cor_plots_facs[["TREG"]] <- df_cor %>% 
  filter(Population=="TREG") %>% 
  ggplot(aes(x=FACS, y=RNA, label=substr(PatientID, 4, 6)))+
  geom_point(color="#578bb9", size=0.45, alpha=0.75)+
  geom_smooth(method = "lm", linetype="dashed", size=0.25, formula = y ~ x, na.rm = TRUE,
              color="#578bb9", se=F, fullrange=T)+
  stat_cor(aes(label=..r.label..), method = "pearson",size=2.5, label.x.npc = c(0.45), label.y.npc = c(0.1))+
  scale_x_continuous(limits = c(0,45), breaks = c(0, 15, 30, 45))+
  scale_y_continuous(limits = c(0,45), breaks = c(0, 15, 30, 45))+
  labs(
    x="CD4<sup>+</sup> FOXP3<sup>+</sup>",
    y="T<sub>REG</sub>"
  )+
  theme_bw()+
  coord_fixed()+
  mytheme_1+
  theme_axis_sub

cor_plots_facs[["TREG/CM1"]] <- df_cor %>% 
  filter(Population=="TREG/CM1") %>% 
  ggplot(aes(x=FACS, y=RNA, label=substr(PatientID, 4, 6)))+
  geom_point(color=colors_umap_cl[["8"]], size=0.45, alpha=0.75)+
  geom_smooth(method = "lm", linetype="dashed", size=0.25, formula = y ~ x, na.rm = TRUE,
              color=colors_umap_cl[["8"]], se=F, fullrange=T)+
  stat_cor(aes(label=..r.label..), method = "pearson",size=2.5, label.x.npc = c(0.04), label.y.npc = c(0.9))+
  scale_x_continuous(limits = c(0,55), breaks = c(0, 15, 30, 45))+
  scale_y_continuous(limits = c(0,55), breaks = c(0, 15, 30, 45))+
    labs(
    x="CD4<sup>+</sup><span> FOXP3<sup>+</sup> /<br>CD69<sup>-</sub></span>",
    y="T<sub>REG</sub> CM<sub>1</sub>"
  )+
  theme_bw()+
  coord_fixed()+
  mytheme_1+
  theme_axis_sub

cor_plots_facs[["TREG/EM2"]] <- df_cor %>% 
  filter(Population=="TREG/EM2") %>% 
  ggplot(aes(x=FACS, y=RNA, label=substr(PatientID, 4, 6)))+
  geom_point(color=colors_umap_cl[["11"]], size=0.45, alpha=0.75)+
  geom_smooth(method = "lm", linetype="dashed", size=0.25, formula = y ~ x, na.rm = TRUE,
              color=colors_umap_cl[["11"]], se=F, fullrange=T)+
  stat_cor(aes(label=..r.label..), method = "pearson",size=2.5, label.x.npc = c(0.3), label.y.npc = c(0.1))+
  scale_x_continuous(limits = c(0,92), breaks = c(0, 30, 60, 90))+
  scale_y_continuous(limits = c(0,92), breaks = c(0, 30, 60, 90))+
  labs(
    x="CD4<sup>+</sup> FOXP3<sup>+</sup> /<br><span>CD69<sup>+</sup> IKZF3<sup>+</sub></span>",
    y="T<sub>REG</sub> EM<sub>2</sub>"
  )+
  theme_bw()+
  coord_fixed()+
  mytheme_1+
  theme_axis_sub

cor_plots_facs[["TREG/EM1"]] <- df_cor %>% 
  filter(Population=="TREG/EM1") %>% 
  ggplot(aes(x=FACS, y=RNA, label=substr(PatientID, 4, 6)))+
  geom_point(color=colors_umap_cl[["15"]], size=0.45, alpha=0.75)+
  geom_smooth(method = "lm", linetype="dashed", size=0.25, formula = y ~ x, na.rm = TRUE,
              color=colors_umap_cl[["15"]], se=F, fullrange=T)+
  stat_cor(aes(label=..r.label..), method = "pearson",size=2.5, label.x.npc = c(0.3), label.y.npc = c(0.1))+
  scale_x_continuous(limits = c(0,50), breaks = c(0, 15, 30, 45))+
  scale_y_continuous(limits = c(0,50), breaks = c(0, 15, 30, 45))+
  labs(
    x="CD4<sup>+</sup> FOXP3<sup>+</sup> /<br><span>CD69<sup>+</sup> IKZF3<sup>-</sup> ICOS<sup>-</sup></span>",
    y="T<sub>REG</sub> EM<sub>1</sub>"
  )+
  theme_bw()+
  coord_fixed()+
  mytheme_1+
  theme_axis_sub

cor_plots_facs[["TREG/CM2"]] <- df_cor %>% 
  filter(Population=="TREG/CM2") %>% 
  ggplot(aes(x=FACS, y=RNA, label=substr(PatientID, 4, 6)))+
  geom_point(color=colors_umap_cl[["13"]], size=0.45, alpha=0.75)+
  geom_smooth(method = "lm", linetype="dashed", size=0.25, formula = y ~ x, na.rm = TRUE,
              color=colors_umap_cl[["13"]], se=F, fullrange=T)+
  stat_cor(aes(label=..r.label..), method = "pearson",size=2.5, label.x.npc = c(0.3), label.y.npc = c(0.1))+
  scale_x_continuous(limits = c(0,47), breaks = c(0, 15, 30, 45))+
  scale_y_continuous(limits = c(0,47), breaks = c(0, 15, 30, 45))+
   labs(
    x="CD4<sup>+</sup> FOXP3<sup>+</sup> /<br><span>CD69<sup>+</sup> IKZF3<sup>-</sup> ICOS<sup>+</sup></span>",
    y="T<sub>REG</sub> CM<sub>2</sub>"
  )+
  theme_bw()+
  coord_fixed()+
  mytheme_1+
  theme_axis_sub

cor_plots_facs[["TTOXNaive"]] <- df_cor %>% 
  filter(Population=="TTOXNaive") %>% 
  ggplot(aes(x=FACS, y=RNA, label=substr(PatientID, 4, 6)))+
  geom_point(color=colors_umap_cl[["12"]], size=0.45, alpha=0.75)+
  geom_smooth(method = "lm", linetype="dashed", size=0.25, formula = y ~ x, na.rm = TRUE,
              color=colors_umap_cl[["12"]], se=F, fullrange=T)+
  stat_cor(aes(label=..r.label..), method = "pearson",size=2.5, label.x.npc = c(0.04), label.y.npc = c(0.9))+
  scale_x_continuous(limits = c(0,27), breaks = c(0, 8, 16, 24))+
  scale_y_continuous(limits = c(0,27), breaks = c(0, 8, 16, 24))+
 labs(
    x="CD8<sup>+</sup> CD45RA<sup>+</sup>",
    y="CD8<sup>+</sup> Naive"
  )+
  theme_bw()+
  coord_fixed()+
  mytheme_1+
  theme_axis_sub
 
cor_plots_facs[["TTOX"]] <- df_cor %>% 
  filter(Population=="TTOX") %>% 
  ggplot(aes(x=FACS, y=RNA, label=substr(PatientID, 4, 6)))+
  geom_point(color="#b50923", size=0.45, alpha=0.75)+
  geom_smooth(method = "lm", linetype="dashed", size=0.25, formula = y ~ x, na.rm = TRUE,
              color="#b50923", se=F, fullrange=T)+
  stat_cor(aes(label=..r.label..), method = "pearson",size=2.5, label.x.npc = c(0.45), label.y.npc = c(0.1))+
  scale_x_continuous(limits = c(0,80), breaks = c(0, 25, 50, 75))+
  scale_y_continuous(limits = c(0,80), breaks = c(0, 25, 50, 75))+
   labs(
    x="CD31<sup>+</sup> U CD244<sup>+</sup>",
    y="T<sub>TOX</sub> non-Naive"
  )+
  theme_bw()+
  coord_fixed()+
  mytheme_1+
  theme_axis_sub

cor_plots_facs[["TTOX/EM1"]] <- df_cor %>% 
  filter(Population=="TTOX/EM1") %>% 
  ggplot(aes(x=FACS, y=RNA, label=substr(PatientID, 4, 6)))+
  geom_point(color=colors_umap_cl[["3"]], size=0.45, alpha=0.75)+
  geom_smooth(method = "lm", linetype="dashed", size=0.25, formula = y ~ x, na.rm = TRUE,
              color=colors_umap_cl[["3"]], se=F, fullrange=T)+
  stat_cor(aes(label=..r.label..), method = "pearson",size=2.5, label.x.npc = c(0.04), label.y.npc = c(0.9))+
  scale_x_continuous(limits = c(0,85), breaks = c(0, 25, 50, 75))+
  scale_y_continuous(limits = c(0,85), breaks = c(0, 25, 50, 75))+
 labs(
    x="CD31<sup>+</sup> U CD244<sup>+</sup> /<br><span>TIM3<sup>-</sup> PD1<sup>Low</sup></span>",
    y="T<sub>TOX</sub> EM<sub>1</sub>"
  )+
  theme_bw()+
  coord_fixed()+
  mytheme_1+
  theme_axis_sub

cor_plots_facs[["TTOX/EM2"]] <- df_cor %>% 
  filter(Population=="TTOX/EM2") %>% 
  ggplot(aes(x=FACS, y=RNA, label=substr(PatientID, 4, 6)))+
  geom_point(color=colors_umap_cl[["16"]], size=0.45, alpha=0.75)+
  geom_smooth(method = "lm", linetype="dashed", size=0.25, formula = y ~ x, na.rm = TRUE,
              color=colors_umap_cl[["16"]], se=F, fullrange=T)+
  stat_cor(aes(label=..r.label..), method = "pearson",size=2.5, label.x.npc = c(0.3), label.y.npc = c(0.1))+
  scale_x_continuous(limits = c(0,57), breaks = c(0, 15, 30, 45))+
  scale_y_continuous(limits = c(0,57), breaks = c(0, 15, 30, 45))+
    labs(
    x="CD31<sup>+</sup> U CD244<sup>+</sup> /<br><span>TIM3<sup>-</sup> PD1<sup>High</sup></span>",
    y="T<sub>TOX</sub> EM<sub>2</sub>"
  )+
  theme_bw()+
  coord_fixed()+
  mytheme_1+
  theme_axis_sub

cor_plots_facs[["TTOX/EM3"]] <- df_cor %>% 
  filter(Population=="TTOX/EM3") %>% 
  ggplot(aes(x=FACS, y=RNA, label=substr(PatientID, 4, 6)))+
  geom_point(color=colors_umap_cl[["5"]], size=0.45, alpha=0.75)+
  geom_smooth(method = "lm", linetype="dashed", size=0.25, formula = y ~ x,  na.rm = TRUE,
              color=colors_umap_cl[["5"]], se=F, fullrange=T)+
  stat_cor(aes(label=..r.label..), method = "pearson",size=2.5, label.x.npc = c(0.3), label.y.npc = c(0.1))+
  scale_x_continuous(limits = c(0,80), breaks = c(0, 25, 50, 75))+
  scale_y_continuous(limits = c(0,80), breaks = c(0, 25, 50, 75))+
  labs(
    x="CD31<sup>+</sup> U CD244<sup>+</sup> /<br><span>TIM3<sup>+</sup> PD1<sup>+</sup></span>",
    y="T<sub>TOX</sub> EM<sub>3</sub>"
  )+
  theme_bw()+
  coord_fixed()+
  mytheme_1+
  theme_axis_sub

Median Pearson’s R

df_cor %>% 
  group_by(Population) %>% 
  filter(!Population %in% c("TREG", "TTOX")) %>% 
  summarise(R=cor.test(RNA, FACS, method="pearson")$estimate) %>% pull(R) %>% median()
## [1] 0.8877222

Assemble plot

plot_cor_full <- cor_plots_facs$TPR+labs(tag="B")+theme(plot.tag = element_text(margin = unit(c(0,0.15,0,0), units = "cm")))+
  cor_plots_facs$THNaive+
  cor_plots_facs$THCM1+
  cor_plots_facs$THCM2+
  cor_plots_facs$TFH+
  cor_plots_facs$`TREG/CM1`+
  cor_plots_facs$`TREG/CM2`+
  cor_plots_facs$`TREG/EM1`+
  cor_plots_facs$`TREG/EM2`+
  cor_plots_facs$TTOXNaive+
  cor_plots_facs$`TTOX/EM1`+
  cor_plots_facs$`TTOX/EM2`+
  cor_plots_facs$`TTOX/EM3`+
  cor_plots_facs$TDN+
  plot_layout(nrow = 2)

plot_cor_full

#ggsave(width = 18.5, height = 7, units = "cm", filename = "Figure2_p2.pdf")

Mini scatter plot

set.seed(1)
FetchData(Combined_T, vars = c("integratedadt_.CD366", "integratedadt_.CD279", "IdentI")) %>% 
  sample_n(3000) %>% 
  mutate(IdentI=as.character(IdentI)) %>% 
  ggplot(aes(x=integratedadt_.CD366, y=integratedadt_.CD279, fill=IdentI, color=IdentI))+
  ggrastr::geom_point_rast(size=0.25, stroke=0, shape=21, alpha=0.75, na.rm=T)+
  scale_fill_manual(values = colors_umap_cl, limits=factor(cluster_order), labels=unlist(labels_cl))+
  geom_rect(aes(xmin=0.95, xmax=2, ymin=0.25, ymax=3), size=0.15, fill=NA, color="black", linetype="solid")+
  scale_y_continuous(limits = c(-0, 5), name = "Marker 1")+
  scale_x_continuous(limits = c(-0, 2), name = "Marker 2")+
  mytheme_1+
  theme(axis.text = element_text(color="white"),
        panel.border = element_rect(size=0.5),
        axis.title.x = element_text(vjust = 7, size=8),
        axis.title.y = element_text(vjust = -5, size=8),
        axis.ticks.x =  element_blank(),
        axis.ticks.y =  element_blank())

#ggsave(filename = "Figure2_p3.pdf", width = 3, height = 3, units = "cm")

Session info

sessionInfo()
## R version 4.1.2 (2021-11-01)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Rocky Linux 8.8 (Green Obsidian)
## 
## Matrix products: default
## BLAS/LAPACK: /g/easybuild/x86_64/Rocky/8/haswell/software/FlexiBLAS/3.0.4-GCC-11.2.0/lib64/libflexiblas.so.3.0
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
##  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8    LC_PAPER=en_US.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
## 
## attached base packages:
## [1] grid      stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
##  [1] pamr_1.56.1        cluster_2.1.2      glmnet_4.1-2       Matrix_1.5-1       immunarch_0.7.0    data.table_1.14.2 
##  [7] dtplyr_1.2.2       rmdformats_1.0.4   ggplotify_0.1.0    ggraph_2.0.6       igraph_1.3.5       ggrastr_1.0.1     
## [13] ggtext_0.1.1       ggalluvial_0.12.3  maxstat_0.7-25     survival_3.2-13    survminer_0.4.9    ggridges_0.5.3    
## [19] cowplot_1.1.1      R.utils_2.11.0     R.oo_1.24.0        R.methodsS3_1.8.1  readxl_1.4.1       caret_6.0-90      
## [25] lattice_0.20-45    patchwork_1.1.2    rstatix_0.7.0      ggpubr_0.4.0       ggrepel_0.9.1      matrixStats_0.61.0
## [31] scales_1.2.1       RColorBrewer_1.1-3 viridis_0.6.2      viridisLite_0.4.1  forcats_0.5.1      stringr_1.4.1     
## [37] dplyr_1.0.10       purrr_0.3.4        readr_2.1.2        tidyr_1.2.1        tibble_3.1.8       ggplot2_3.3.6     
## [43] tidyverse_1.3.1    SeuratObject_4.0.4 Seurat_4.1.0       knitr_1.40        
## 
## loaded via a namespace (and not attached):
##   [1] scattermore_0.8       prabclus_2.3-2        ModelMetrics_1.2.2.2  exactRankTests_0.8-34 bit64_4.0.5          
##   [6] irlba_2.3.5           rpart_4.1-15          doParallel_1.0.17     generics_0.1.3        RANN_2.6.1           
##  [11] future_1.23.0         bit_4.0.4             tzdb_0.3.0            rlist_0.4.6.2         spatstat.data_2.1-2  
##  [16] xml2_1.3.2            lubridate_1.8.0       httpuv_1.6.6          assertthat_0.2.1      gower_0.2.2          
##  [21] xfun_0.33             hms_1.1.2             jquerylib_0.1.4       evaluate_0.16         promises_1.2.0.1     
##  [26] DEoptimR_1.0-11       fansi_1.0.3           dbplyr_2.1.1          km.ci_0.5-2           DBI_1.1.2            
##  [31] htmlwidgets_1.5.4     spatstat.geom_2.3-2   stringdist_0.9.8      stats4_4.1.2          ellipsis_0.3.2       
##  [36] backports_1.4.1       bookdown_0.29         markdown_1.1          deldir_1.0-6          vctrs_0.4.2          
##  [41] Cairo_1.5-12.2        ROCR_1.0-11           abind_1.4-5           cachem_1.0.6          withr_2.5.0          
##  [46] ggforce_0.4.0         robustbase_0.95-0     vroom_1.5.7           sctransform_0.3.3     mclust_5.4.10        
##  [51] goftest_1.2-3         ape_5.6-2             lazyeval_0.2.2        crayon_1.5.2          labeling_0.4.2       
##  [56] recipes_0.1.17        pkgconfig_2.0.3       tweenr_2.0.2          nlme_3.1-153          vipor_0.4.5          
##  [61] nnet_7.3-16           rlang_1.0.6           globals_0.14.0        diptest_0.76-0        lifecycle_1.0.2      
##  [66] miniUI_0.1.1.1        modelr_0.1.8          cellranger_1.1.0      polyclip_1.10-0       lmtest_0.9-39        
##  [71] phangorn_2.10.0       ggseqlogo_0.1         KMsurv_0.1-5          carData_3.0-5         zoo_1.8-9            
##  [76] reprex_2.0.1          beeswarm_0.4.0        GlobalOptions_0.1.2   pheatmap_1.0.12       png_0.1-7            
##  [81] KernSmooth_2.23-20    pROC_1.18.0           shape_1.4.6           parallelly_1.30.0     spatstat.random_2.1-0
##  [86] gridGraphics_0.5-1    ggsignif_0.6.3        magrittr_2.0.3        plyr_1.8.7            ica_1.0-2            
##  [91] compiler_4.1.2        factoextra_1.0.7      fitdistrplus_1.1-6    cli_3.4.1             listenv_0.8.0        
##  [96] pbapply_1.5-0         MASS_7.3-54           mgcv_1.8-38           tidyselect_1.1.2      stringi_1.7.8        
## [101] highr_0.9             yaml_2.3.5            survMisc_0.5.5        sass_0.4.2            fastmatch_1.1-3      
## [106] tools_4.1.2           future.apply_1.8.1    parallel_4.1.2        circlize_0.4.15       rstudioapi_0.13      
## [111] uuid_1.1-0            foreach_1.5.2         gridExtra_2.3         prodlim_2019.11.13    farver_2.1.1         
## [116] Rtsne_0.16            digest_0.6.29         shiny_1.7.2           lava_1.6.10           quadprog_1.5-8       
## [121] fpc_2.2-9             Rcpp_1.0.9            gridtext_0.1.4        car_3.1-0             broom_1.0.1          
## [126] later_1.3.0           RcppAnnoy_0.0.19      httr_1.4.2            kernlab_0.9-31        colorspace_2.0-3     
## [131] rvest_1.0.2           fs_1.5.2              tensor_1.5            reticulate_1.24       splines_4.1.2        
## [136] uwot_0.1.11           yulab.utils_0.0.4     spatstat.utils_2.3-0  graphlayouts_0.8.2    xgboost_1.4.1.1      
## [141] shinythemes_1.2.0     flexmix_2.3-18        plotly_4.10.0         xtable_1.8-4          jsonlite_1.8.0       
## [146] tidygraph_1.2.2       timeDate_3043.102     UpSetR_1.4.0          modeltools_0.2-23     ipred_0.9-12         
## [151] R6_2.5.1              pillar_1.8.1          htmltools_0.5.3       mime_0.12             glue_1.6.1           
## [156] fastmap_1.1.0         class_7.3-19          codetools_0.2-18      mvtnorm_1.1-3         utf8_1.2.2           
## [161] bslib_0.4.0           spatstat.sparse_2.1-0 ggbeeswarm_0.6.0      leiden_0.3.9          rmarkdown_2.17       
## [166] munsell_0.5.0         iterators_1.0.14      haven_2.4.3           reshape2_1.4.4        gtable_0.3.1         
## [171] spatstat.core_2.4-0