## ----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()