Load the library and the data

library(SpaGene)

load("Slideseq/SlideseqV2_ROI.rds")

Find spatial variable genes and patterns

mc_sv<-SpaGene(sp_count,location)
head(mc_sv$spagene_res[order(mc_sv$spagene_res$adjp),])
##          score      zval pval adjp
## Aldoc 11.75183 -46.25374    0    0
## Car8  11.65978 -47.99349    0    0
## Fth1  11.67742 -47.66017    0    0
## Itpr1 11.41548 -52.61112    0    0
## Mbp   11.51742 -50.68440    0    0
## Pcp2  11.44129 -52.12334    0    0
pattern<-FindPattern(mc_sv)

PlotPattern(pattern,location,pt.size = 0.3)

Top 5 genes falling into each pattern

top5<-apply(pattern$genepattern,2,function(x){names(x)[order(x,decreasing=T)][1:5]})
library(pheatmap)
pheatmap(pattern$genepattern[rownames(pattern$genepattern)%in%top5,])

Identify colocalized ligand-receptor pairs

 load("LRpair.rds")
 mc_lr<-SpaGene_LR(sp_count,location,LRpair=LRpair)   
 head(mc_lr[order(mc_lr$adj),])
##                 score comm       zval         pval         adjp
## Psap_Gpr37l1 30.71656  601 -11.498993 6.673135e-31 9.629333e-28
## Il16_Kcnd2   30.73462  588 -11.070412 8.729765e-29 6.298525e-26
## App_Sorl1    30.91871  597  -6.702967 1.021147e-11 4.911716e-09
## Ptn_Ptprz1   30.94366  605  -6.111117 4.946806e-10 1.784560e-07
## App_Cd47     30.94624  561  -6.049891 7.247182e-10 2.091537e-07
## Mdk_Ptprz1   30.95570  510  -5.825396 2.848860e-09 6.851508e-07

Plot Ligand-receptor pairs Psap-Gpr37l1 and Ptn-Ptprz1

 plotLR(sp_count,location,LRpair=c("Psap","Gpr37l1"),alpha.min=0.2,pt.size = 0.3)

 plotLR(sp_count,location,LRpair=c("Ptn","Ptprz1"),alpha.min=0.2,pt.size = 0.3)