Here we will be calculating radial distance from tumor regions using semla (Larsson et al. 2023) R package, then fit a spline to observe the trend of Fibro2 and Fibro3 scores (and their genes) as a function of distance from the tumor regions.
1 Radial Distance Calculation
Code
xenium_samples <-qread("outputs/xenium_obj_harmony_integrated.qs")xenium_samples <-SplitObject(xenium_samples, split.by ='sample_id')xenium_samples <-lapply(xenium_samples, function(x){ x <-UpdateSeuratForSemla(x) x <-RadialDistance( x,column_name ="annotation",selected_groups =c("Tumor"),maxDist =100 ) x$r_dist_Tumor_sqrt <-sign(x$r_dist_Tumor)*sqrt(abs(x$r_dist_Tumor))return(x)})
2 Fibro2/3 expression ~ Radial Distance
Code
fiorini_data[[]] |>filter(annotation =='Fibroblasts'& r_dist_Tumor_sqrt >0) |>select(fibro2_score_scaled, fibro3_score_scaled, r_dist_Tumor_sqrt) |>pivot_longer(c("fibro2_score_scaled", "fibro3_score_scaled"), names_to ="Signature", values_to ="Score") |>ggplot(aes(r_dist_Tumor_sqrt, Score, color = Signature)) +geom_smooth(method ="gam", formula = y ~s(x, bs ="cs"), linewidth =2) +geom_vline(aes(xintercept =0, color ="border"), linetype ="dashed") +xlab("sqrt(Radial Distance from Tumor)") +ylab("Fibroblast-specific Fibro2/3 Score") +scale_color_manual(values = fibro_sig_cols) +theme_bw()
Larsson, Ludvig, Lovisa Franzén, Patrik L Ståhl, and Joakim Lundeberg. 2023. “Semla: A Versatile Toolkit for Spatially Resolved Transcriptomics Analysis and Visualization.”Bioinformatics 39 (10): btad626.