VisiumHD Colorectal Cancer Datasets
Source:vignettes/visiumhd_colon_code.Rmd
visiumhd_colon_code.RmdP1
# apply highSpaClone to infer spatial CNV and detect tumor subclones
library(highSpaClone)
library(ggplot2)
library(dplyr)
# load data
data <- readRDS('./visiumhd_colon_p1_data.rds')
# create highSpaClone object
obj <- createObject(counts=data$counts,
location=data$location,
annotations_file = data$annotation,
min_avg_expression=0,
min_gene_counts=0)
# smooth gene expression by chromosome
smooth_obj <- smooth_expr(obj = obj, parallel = T, use_chunk = T)
# tumor identification
tumor_obj <- FindClone(smooth_obj,
ref=c("B cells","T cells", "Smooth Muscle", "Endothelial"),
K=2,
lambda=0.001)
# tumor spatial visualization
colors <- c("#ebe5c2", "#D57358")
spatialplot(tumor_obj, colors=colors, point_size = 0.01, use_coord_flip=T, use_x_reverse=T)
tumor.df <- tumor_obj@cluster
tumor.id <- tumor.df %>% filter(cell.label=='Tumor') %>% select(cell.id)
subclone_obj <- FindClone(smooth_obj,
ref=c("B cells","T cells", "Smooth Muscle", "Endothelial"),
tumor.id=tumor.id$cell.id,
K=2,
lambda=1)
colors <- c("#D57358","#8a508f")
spatialplot(subclone_obj, colors=colors, point_size = 0.01, use_coord_flip=T, use_x_reverse=T)
# CNV heatmap
log.cnv <- log2(subclone_obj@cnv.data)
log.cnv[log.cnv > -0.5 & log.cnv < 0.5] <- 0
visiumhd_colon_p1 <- list(
cnv.data = log.cnv,
annotation = subclone_obj@cluster,
chr_pos = subclone_obj@chr_pos
)
cnv_heatmap(
cnv.obj=visiumhd_colon_p1,
groupby = "cell.label",
min_value = -3,
max_value = 3,
auto_size = F,
show = TRUE,
save = TRUE,
outfile = "visiumhd_colon_p1_heatmap.pdf"
)P2
# load data
data <- readRDS('./visiumhd_colon_p2_data.rds')
# create highSpaClone object
obj <- createObject(counts=data$counts,
location=data$location,
annotations_file = data$annotation,
min_avg_expression=0,
min_gene_counts=0)
# smooth gene expression by chromosome
smooth_obj <- smooth_expr(obj = obj, parallel = T, use_chunk = T)
# tumor identification
tumor_obj <- FindClone(smooth_obj,
ref=c("B cells","T cells", "Smooth Muscle", "Endothelial"),
K=2,
lambda=0.001)
# tumor spatial visualization
colors <- c("#ebe5c2", "#D57358")
spatialplot(tumor_obj, colors=colors, point_size = 0.01, use_coord_flip=T, use_x_reverse=T)
tumor.df <- tumor_obj@cluster
tumor.id <- tumor.df %>% filter(cell.label=='Tumor') %>% select(cell.id)
subclone_obj <- FindClone(smooth_obj,
ref=c("B cells","T cells", "Smooth Muscle", "Endothelial"),
tumor.id=tumor.id$cell.id,
K=2,
lambda=1)
colors <- c("#D57358","#8a508f")
spatialplot(subclone_obj, colors=colors, point_size = 0.01, use_coord_flip=T, use_x_reverse=T)
# CNV heatmap
log.cnv <- log2(subclone_obj@cnv.data)
log.cnv[log.cnv > -0.5 & log.cnv < 0.5] <- 0
visiumhd_colon_p2 <- list(
cnv.data = log.cnv,
annotation = subclone_obj@cluster,
chr_pos = subclone_obj@chr_pos
)
cnv_heatmap(
cnv.obj=visiumhd_colon_p2,
groupby = "cell.label",
min_value = -3,
max_value = 3,
auto_size = F,
show = TRUE,
save = TRUE,
outfile = "visiumhd_colon_p2_heatmap.pdf"
)P5
# load data
data <- readRDS('./visiumhd_colon_p5_data.rds')
# create highSpaClone object
obj <- createObject(counts=data$counts,
location=data$location,
annotations_file = data$annotation,
min_avg_expression=0,
min_gene_counts=0)
# smooth gene expression by chromosome
smooth_obj <- smooth_expr(obj = obj, parallel = T, use_chunk = T)
# tumor identification
tumor_obj <- FindClone(smooth_obj,
ref=c("B cells","T cells", "Smooth Muscle", "Endothelial"),
K=2,
lambda=0.001)
# tumor spatial visualization
colors <- c("#ebe5c2", "#D57358")
spatialplot(tumor_obj, colors=colors, point_size = 0.01, use_coord_flip=T, use_x_reverse=T)
tumor.df <- tumor_obj@cluster
tumor.id <- tumor.df %>% filter(cell.label=='Tumor') %>% select(cell.id)
subclone_obj <- FindClone(smooth_obj,
ref=c("B cells","T cells", "Smooth Muscle", "Endothelial"),
tumor.id=tumor.id$cell.id,
K=2,
lambda=1)
colors <- c("#D57358","#8a508f")
spatialplot(subclone_obj, colors=colors, point_size = 0.01, use_coord_flip=T, use_x_reverse=T)
# CNV heatmap
log.cnv <- log2(subclone_obj@cnv.data)
log.cnv[log.cnv > -0.5 & log.cnv < 0.5] <- 0
visiumhd_colon_p5 <- list(
cnv.data = log.cnv,
annotation = subclone_obj@cluster,
chr_pos = subclone_obj@chr_pos
)
cnv_heatmap(
cnv.obj=visiumhd_colon_p5,
groupby = "cell.label",
min_value = -3,
max_value = 3,
auto_size = F,
show = TRUE,
save = TRUE,
outfile = "visiumhd_colon_p5_heatmap.pdf"
)