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)
