## ----setup, include=FALSE----------------------------------------------------- knitr::opts_chunk$set(echo = TRUE) ## ----message=FALSE------------------------------------------------------------ library(SPIAT) ## ----------------------------------------------------------------------------- data("simulated_image") # define cell types formatted_image <- define_celltypes( simulated_image, categories = c("Tumour_marker","Immune_marker1,Immune_marker2", "Immune_marker1,Immune_marker3", "Immune_marker1,Immune_marker2,Immune_marker4", "OTHER"), category_colname = "Phenotype", names = c("Tumour", "Immune1", "Immune2", "Immune3", "Others"), new_colname = "Cell.Type") ## ---- fig.height = 2, fig.width = 3.2----------------------------------------- marker_intensity_boxplot(formatted_image, "Immune_marker1") ## ---- fig.height=3, fig.width=6, dpi = 72, out.width="100%"------------------- plot_cell_marker_levels(formatted_image, "Immune_marker1") ## ---- fig.height = 2.2, out.width="75%"--------------------------------------- plot_marker_level_heatmap(formatted_image, num_splits = 100, "Tumour_marker") ## ----------------------------------------------------------------------------- data_subset <- select_celltypes( formatted_image, keep=TRUE, celltypes = c("Tumour_marker","Immune_marker1,Immune_marker3", "Immune_marker1,Immune_marker2", "Immune_marker1,Immune_marker2,Immune_marker4"), feature_colname = "Phenotype") # have a look at what phenotypes are present unique(data_subset$Phenotype) ## ----------------------------------------------------------------------------- # First predict the phenotypes (this is for generating not 100% accurate phenotypes) predicted_image2 <- predict_phenotypes(spe_object = simulated_image, thresholds = NULL, tumour_marker = "Tumour_marker", baseline_markers = c("Immune_marker1", "Immune_marker2", "Immune_marker3", "Immune_marker4"), reference_phenotypes = FALSE) # Then define the cell types based on predicted phenotypes predicted_image2 <- define_celltypes( predicted_image2, categories = c("Tumour_marker", "Immune_marker1,Immune_marker2", "Immune_marker1,Immune_marker3", "Immune_marker1,Immune_marker2,Immune_marker4"), category_colname = "Phenotype", names = c("Tumour", "Immune1", "Immune2", "Immune3"), new_colname = "Cell.Type") # Delete cells with unrealistic marker combinations from the dataset predicted_image2 <- select_celltypes(predicted_image2, "Undefined", feature_colname = "Cell.Type", keep = FALSE) # TSNE plot g <- dimensionality_reduction_plot(predicted_image2, plot_type = "TSNE", feature_colname = "Cell.Type") ## ---- echo=TRUE, eval=FALSE--------------------------------------------------- # plotly::ggplotly(g) ## ---- echo=FALSE, fig.width = 4, fig.height = 4, out.width = "70%"------------ knitr::include_graphics("tSNE1.jpg") ## ---- eval=FALSE-------------------------------------------------------------- # predicted_image2 <- # select_celltypes(predicted_image2, c("Cell_3302", "Cell_4917", "Cell_2297", # "Cell_488", "Cell_4362", "Cell_4801", # "Cell_2220", "Cell_3431", "Cell_533", # "Cell_4925", "Cell_4719", "Cell_469", # "Cell_1929", "Cell_310", "Cell_2536", # "Cell_321", "Cell_4195"), # feature_colname = "Cell.ID", keep = FALSE) ## ---- eval=FALSE-------------------------------------------------------------- # # TSNE plot # g <- dimensionality_reduction_plot(predicted_image2, plot_type = "TSNE", feature_colname = "Cell.Type") # # # plotly::ggplotly(g) # uncomment this code to interact with the plot ## ---- echo=FALSE, fig.width = 4, fig.height = 4, out.width = "70%"------------ knitr::include_graphics("tSNE2.jpg") ## ---- fig.height = 2.5-------------------------------------------------------- my_colors <- c("red", "blue", "darkcyan", "darkgreen") plot_cell_categories(spe_object = formatted_image, categories_of_interest = c("Tumour", "Immune1", "Immune2", "Immune3"), colour_vector = my_colors, feature_colname = "Cell.Type") ## ---- eval=FALSE-------------------------------------------------------------- # marker_surface_plot(formatted_image, num_splits=15, marker="Immune_marker1") ## ---- echo=FALSE, out.width = "75%"------------------------------------------- knitr::include_graphics("marker_surface1.jpg") ## ---- eval=FALSE-------------------------------------------------------------- # marker_surface_plot_stack(formatted_image, num_splits=15, markers=c("Tumour_marker", "Immune_marker1")) ## ---- echo=FALSE, out.width = "75%"------------------------------------------- knitr::include_graphics("marker_surface2.jpg") ## ----------------------------------------------------------------------------- sessionInfo()