case_images: PMC11815282_01
case_images: Implementation and overview of the statistics and visualization capabilities of the VIBE package. (A) The df_harmonize() function harmonizes dummy data, creating a structured dataframe with appropriate column names and format for VIBE functionalities. The harmonize_df_pathway() function combines genes into pathways for VIBE visuals. (B) The get_thresholds() function defines gene-specific thresholds (mean, median or 75% quantile (Q3)) for expression analysis and indication selection. (C) The calculate_percentage_per_quadrant() function extends get_thresholds() for dual-gene analysis, displaying percentage of samples in quadrants, correlation, and statistical significance (Spearman correlation). (D) plot_expression_box() presents a boxplot with sample distribution, thresholds, percentage satisfying thresholds, and user-defined grouping variables and groups (i.e. "intr") generated when harmonizing the dataframe. (E) plot_expression_scatter() plots a scatterplot with user-selected grouping variables and groups and statistics calculated by calculate_percentage_per_quadrant() function. (F) heatmap_sample_expression() visualizes gene expression via heatmaps, allowing grouping variable selection, group plots, gene splitting, and ordering of genes. (G) heatmap_samples_above_median() represent the percentage of samples satisfying threshold for all the genes with similar functionalities as mentioned in heatmap_sample_expression(). The barplots above the heatmap depict the distribution of samples across four quartiles based on percentage: Q1 (0-25%), Q2 (25-50%), Q3 (50-75%), and Q4 (75-100%). The indications are clustered using Hierarchical clustering, as indicated by the dendrograms. (H) plot_expression_box_split() function visualizes the expression of Gene 1 grouped by additional grouping columns with statistics (% above median for each group, the fold change (FC) and Kruskal-Wallis p-value (Pval)) above.
case_images: fonc-14-1441133-g001.jpg
case_images: PMC11815282_02_fonc-14-1441133-g001.jpg
case_images: f1
case_images: TYRP1 and CD3D samples was comparatively low in SKCM relative to the lung cancers ( Supplementary Figure 1 ). This observation suggests that the targeting strategy in melanoma with an anti-TYRP1/CD3 bispecific modality might be challenging.
case_images: "Tumor target" expression highlights indications of interest for a novel ADC. (A) VIBE's plot_expression_box function shows a box for each group of interest, indication in this example, showing simulated data included in the VIBE package. Dots indicate individual samples; the orange line indicates the median expression of the plotted gene across all samples in the dataset. The percentage of samples with higher than median expression is printed above each box, while the number of samples in each group is shown just above the x-axis. (B) The plot_box_pre_post function plots a box for pre- and post-treatment samples, with each dot representing a sample, while lines connect paired samples. The fold change (FC) and Kruskal-Wallis p-value (KW p) are printed above each group of interest. (C) The plot_expression_box_split function allows for the comparison of non-matched data and includes the fold change (FC) and Kruskal-Wallis p-value (Pval) between the two groups. The number of samples included in each dataset is printed just above the x-axis. The orange dotted-line indicates the median expression for this gene across all samples in the combined dataset. Indication abbreviations are listed in 
  Table 1
  .
case_images: fonc-14-1441133-g002.jpg
case_images: PMC11815282_02_fonc-14-1441133-g002.jpg
case_images: f2
case_images: Although scatterplots, as shown in  Figure 2A , offer detailed insights into quadrant-specific sample distributions, they become complex when comparing one target with multiple genes or pathways.
case_images: PMC11815282_02
case_images: Implementation and overview of the statistics and visualization capabilities of the VIBE package. (A) The df_harmonize() function harmonizes dummy data, creating a structured dataframe with appropriate column names and format for VIBE functionalities. The harmonize_df_pathway() function combines genes into pathways for VIBE visuals. (B) The get_thresholds() function defines gene-specific thresholds (mean, median or 75% quantile (Q3)) for expression analysis and indication selection. (C) The calculate_percentage_per_quadrant() function extends get_thresholds() for dual-gene analysis, displaying percentage of samples in quadrants, correlation, and statistical significance (Spearman correlation). (D) plot_expression_box() presents a boxplot with sample distribution, thresholds, percentage satisfying thresholds, and user-defined grouping variables and groups (i.e. "intr") generated when harmonizing the dataframe. (E) plot_expression_scatter() plots a scatterplot with user-selected grouping variables and groups and statistics calculated by calculate_percentage_per_quadrant() function. (F) heatmap_sample_expression() visualizes gene expression via heatmaps, allowing grouping variable selection, group plots, gene splitting, and ordering of genes. (G) heatmap_samples_above_median() represent the percentage of samples satisfying threshold for all the genes with similar functionalities as mentioned in heatmap_sample_expression(). The barplots above the heatmap depict the distribution of samples across four quartiles based on percentage: Q1 (0-25%), Q2 (25-50%), Q3 (50-75%), and Q4 (75-100%). The indications are clustered using Hierarchical clustering, as indicated by the dendrograms. (H) plot_expression_box_split() function visualizes the expression of Gene 1 grouped by additional grouping columns with statistics (% above median for each group, the fold change (FC) and Kruskal-Wallis p-value (Pval)) above.
case_images: fonc-14-1441133-g001.jpg
case_images: PMC11815282_02_fonc-14-1441133-g001.jpg
case_images: f1
case_images: TYRP1 and CD3D samples was comparatively low in SKCM relative to the lung cancers ( Supplementary Figure 1 ). This observation suggests that the targeting strategy in melanoma with an anti-TYRP1/CD3 bispecific modality might be challenging.
case_images: "Tumor target" expression highlights indications of interest for a novel ADC. (A) VIBE's plot_expression_box function shows a box for each group of interest, indication in this example, showing simulated data included in the VIBE package. Dots indicate individual samples; the orange line indicates the median expression of the plotted gene across all samples in the dataset. The percentage of samples with higher than median expression is printed above each box, while the number of samples in each group is shown just above the x-axis. (B) The plot_box_pre_post function plots a box for pre- and post-treatment samples, with each dot representing a sample, while lines connect paired samples. The fold change (FC) and Kruskal-Wallis p-value (KW p) are printed above each group of interest. (C) The plot_expression_box_split function allows for the comparison of non-matched data and includes the fold change (FC) and Kruskal-Wallis p-value (Pval) between the two groups. The number of samples included in each dataset is printed just above the x-axis. The orange dotted-line indicates the median expression for this gene across all samples in the combined dataset. Indication abbreviations are listed in 
  Table 1
  .
case_images: fonc-14-1441133-g002.jpg
case_images: PMC11815282_02_fonc-14-1441133-g002.jpg
case_images: f2
case_images: Although scatterplots, as shown in  Figure 2A , offer detailed insights into quadrant-specific sample distributions, they become complex when comparing one target with multiple genes or pathways.
case_images: Identification of indications for bi-specific or pathway-guided single ADC. (A) Scatterplot representing the distribution of samples in 4 different quadrants based on the user-defined threshold ("Tumor target" vs "Immune target"). VIBE's plot_expression_scatter() function generates a flow cytometry-like scatterplot, dividing samples into four quadrants based on the median expression of "Tumor target" and "Immune target" across all samples. The plot_groups argument of the function was used to select the indications as shown in 
  Figure 1A
  . Indications and treatment groups with over 40% of samples expressing high levels of both "Tumor target" and "Immune target" are highlighted in orange. (B) Boxplot representing the percentage of samples in user-defined groups and quadrants. The plot_perc_pop() function in VIBE generates a boxplot that displays the percentage of samples expressing high levels of both "Tumor target" and "Immune target". (C) Heatmap representing the expression of user-defined grouping of genes (pathways) in user-defined/selected indications. VIBE's heatmap_sample_expression() function is based on the ComplexHeatmap package, enabling easy grouping of genes into pathways and visualization of their expression along with the target of interest, such as the "Tumor Target" in this case. One can easily visualize the change in the expression of genes in pathways compared to the "Tumor target". (D) Heatmap representing the percentage of samples in user-defined grouping of genes (pathways) and user-defined/selected indications. VIBE's heatmap_samples_above_median() function, also based on ComplexHeatmap, allows users to visualize the percentage of samples with high expression levels of individual genes within the defined pathways. (E) Heatmap representing the expression of pathways in user-defined/selected indications. VIBE's heatmap_sample_expression() function allows users to visualize the average expression of genes in pathways in conjunction with the "Tumor Target". Comparing the composite pathway expression to individual genes, as shown in 
  Figure 3C
  , offers a more robust approach for making decisions on indication selection, particularly when considering the mode of the ADC's mechanism. (F) Composite analysis of pathways vs ADC. VIBE's heatmap_composite_scores() function generates a heatmap representing the percentage of samples in the Q2 quadrant of the scatterplot. The function allows the user to define a threshold to select indications based on the scores. In this case, a threshold of 20 was used.
case_images: fonc-14-1441133-g003.jpg
case_images: PMC11815282_02_fonc-14-1441133-g003.jpg
case_images: f3
case_images: By examining the percentage of samples falling within the second quadrant of the scatterplot ( Figure 3A ) and the corresponding bar plot ( Figure 3B ), we identified PDAC pre-treatment, STAD pre-treatment, CRC pre-treatment, and CRC post-treatment as potential indications and treatment groups of interest for the bispecific antibody. To represent the first scenario, heatmap visualizations were used to illustrate gene expression ( Figure 3C ) and the percentage of samples with expression above the median threshold ( Figure 3D ). In the second scenario, averaged expression of genes to represent pathways, were visualized alongside the "Tumor target" in a heatmap ( Figure 3E ). To address this, the heatmap_composite_score() function presents a user-defined quadrant-specific percentage of samples in a heatmap ( Figure 3F ).
case_images: Target prioritization in Nivolumab-experienced melanoma samples using publicly available datasets (A) Heatmap representing the expression of the selected genes and user-defined signatures in response and outcome categories at baseline in the GSE91061 dataset. (B) Boxplot representing the percentage of samples with high expression of PDCD1 and CD3 in response and outcome categories in GSE91061 dataset. (C) Flow-cytometry-based scatter-plot representing scatter of TYRP1 and Tc1 where the samples are colored based on the expression of CD3. The correlation and P-value are reported in the scatterplot along with the %samples in Q2 quadrant. Panels A-C include abbreviations: CR/PR, complete response/partial response; PD, progressive disease; SD, stable disease. (D) Expression of TYRP1 across tumor samples from selected TCGA projects, visualized using VIBE's plot_expression_box() function. (E) Comparison of TYRP1 expression between tumor and adjacent normal tissues using the plot_expression_box_split() function. At the top of the plot the percentage of samples with TYRP1 expression above the overall median expression is indicated for both normal and tumor samples in each TCGA-project. The fold-change (FC) and Kruskal-Wallis p-value (Pval) between the tumor and adjacent normal tissues are indicated here as well. In panels (D, E), the orange line indicates the median expression for this gene across all samples in the dataset. The number of samples is printed just above the x-axis. Panels D, E include the following TCGA-project abbreviations: SKCM, skin cutaneous melanoma; LUAD, lung adenocarcinoma; LUSC, lung squamous cell carcinoma; ESCA, esophageal carcinoma; STAD, stomach adenocarcinoma; READ, rectum adenocarcinoma; PAAD, pancreatic adenocarcinoma; COAD, colon adenocarcinoma; OV, ovarian serous cystadenocarcinoma; BLCA, bladder urothelial carcinoma; BRCA, breast invasive carcinoma; HNSC, head and neck squamous cell carcinoma; UCEC, uterine Corpus Endometrial Carcinoma; KIRC, kidney renal clear cell carcinoma; CESC, cervical squamous cell carcinoma and endocervical adenocarcinoma.
case_images: fonc-14-1441133-g004.jpg
case_images: PMC11815282_02_fonc-14-1441133-g004.jpg
case_images: f4
case_images: The expression of the selected genes and T-cell signatures was visualized using a heatmap across response and treatment categories at baseline ( Figure 4A ). SD and PD. Similarly,  Figure 4B  shows that a high percentage of samples, both pre- and post-treatment, with above-median expression levels of PDCD1 and CD3 were observed in patients exhibiting CR/PR indicating that these markers may be predictive of positive treatment outcomes on nivolumab. In line with this, we assessed the percentage of samples with high expression of TYRP1 and Tc1 cytotoxic T cell signature in the GSE91061 dataset ( Figure 4C ). Tc1 signature, overall, the correlation between the two was non-significant or negative across the different outcome groups. To further explore the broad applicability of an anti-TYRP1/CD3 bi-specific across various cancer types we leverage data from the publicly available TCGA dataset. TYRP1 expression was highest in SKCM, followed by LUAD, and LUSC ( Figure 4D ). Figure 4E ). For SKCM, this comparison could not be adequately assessed due to the lack of normal samples (n=1).