Load the library and the data

library(SpaGene)
load("Slideseq/slideseqv2_mob_raw.rds")

Find spatially variable genes and patterns

v2mob_sv<-SpaGene(count,location)

# the most signifiant spatially variable genes
head(v2mob_sv$spagene_res[order(v2mob_sv$spagene_res$adjp),])
##           score      zval pval adjp
## Apod   12.25829 -51.27164    0    0
## Apoe   12.19521 -52.93573    0    0
## Calb2  12.63720 -41.27495    0    0
## Camk2b 12.60589 -42.10092    0    0
## Doc2g  11.68623 -66.36385    0    0
## Fabp7  11.70258 -65.93264    0    0
pattern<-FindPattern(v2mob_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")
 v2mob_lr<-SpaGene_LR(count,location,LRpair=LRpair)

 # the most signficant colocalized LR pairs
 head(v2mob_lr[order(v2mob_lr$adj),])
##                  score comm       zval         pval         adjp
## Nlgn1_Nrxn3   30.72145 1205 -15.938533 1.711483e-57 2.728103e-54
## Calm2_Cacna1c 30.89595  998 -10.150367 1.650606e-24 1.315533e-21
## Nlgn1_Nrxn1   30.96777 1128  -7.767902 3.989827e-15 1.589946e-12
## Nlgn1_Nrxn2   30.96731 1098  -7.783175 3.536347e-15 1.589946e-12
## App_Cd47      30.97744 1210  -7.447186 4.767607e-14 1.519913e-11
## App_Sorl1     30.98573 1035  -7.172286 3.687775e-13 9.797188e-11

Plot the Ligand-receptor pair Nlgn1_Nrxn3

 plotLR(count,location,LRpair=c("Nlgn1","Nrxn3"),alpha.min=0.1,pt.size = 0.2)