Load the library and the data

library(SpaGene)

load("brain10X/brain10x.rds")

Find spatially variable genes and patterns

brain10x_sv<-SpaGene(count,location)
# the most significant spt
head(brain10x_sv$spagene_res[order(brain10x_sv$spagene_res$adjp),])
##                  score      zval pval adjp
## 3110035E14Rik 7.838590 -58.63093    0    0
## Igfbp2        9.747681 -41.03227    0    0
## Scg2          8.992579 -47.99306    0    0
## Ptma          9.705009 -41.42563    0    0
## Ngef          8.725417 -50.45585    0    0
## Dbi           7.745826 -59.48606    0    0
pattern<-FindPattern(brain10x_sv,nPattern = 15)

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

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,],fontsize_row = 6)

Identify colocalized ligand-receptor pairs

 load("LRpair.rds")
 brain10x_lr<-SpaGene_LR(count,location,LRpair=LRpair)  
 # the most signficant colocalized LR pairs
 head(brain10x_lr[order(brain10x_lr$adj),])
##                score comm      zval          pval          adjp
## Cck_Cckbr   28.63822  214 -32.06833 6.095309e-226 1.075212e-222
## Apoe_Sdc4   28.74954  242 -30.67785 5.620267e-207 4.957076e-204
## Pdyn_Oprk1  28.85343  201 -29.38006 4.936498e-190 2.902661e-187
## Apoe_Abca1  28.95733  210 -28.08228 8.062429e-174 3.555531e-171
## Tac1_Tacr1  29.13173  204 -25.90386 3.012735e-148 1.062893e-145
## Nptx1_Nptxr 29.15028  204 -25.67211 1.197629e-145 3.521030e-143

Plot Ligand-receptor pair Cck-Cckbr

 plotLR(count,location,LRpair=c("Cck","Cckbr"),alpha.min=0.2,pt.size = 1)