1. Today you have to create a Rmarkdown report. Make it nice:
  • Remember that setwd() is not working in rmarkdown but rmarkdown set as default the folder in which it is, so, if you need to take data from other folders put the entire path
  • For each point of the exercise put the text of the exercise
  • Make at least 1 chunck of code for each exercise (you can do more than one if you think it’s more easy to understand)
  • Manipulate figure dimensions to make them visible or change figure parameters
  1. Import in R all the datasets:
  • Spatial_expression_data.rds file in Datasets: it contains normalized gene expression values for genes annotated in kegg pathways. (load in in the expr object)
  • Spatial_expression_annotation_genes.csv: it contains information about marker genes for clusters of spots. (load in in the mark object)
  • Spatial_expression_annotation_pathways.rds: it contains gene annotations (pathway they belong to). (load in in the path object)
  • Spatial_expression_annotation_clusters.rds: it contains information about spot division in clusters. (load in in the clus object)

Remember: you have to take every information and manipulate data only using r functions. Make your code reproducible

options(stringsAsFactors = F)

expr=readRDS("Datasets/Spatial_expression_data.rds")

mark=read.csv("Datasets/Spatial_expression_annotation_genes.csv")

path=readRDS("Datasets/Spatial_expression_annotation_pathways.rds")

clus=readRDS("Datasets/Spatial_expression_annotation_clusters.rds")

  1. Create a subset of expr by keeping:
  • only genes that are at least markers for three clusters in mark (you can explore functionalities of rowSums() function)
  • spots in clus belonging to annotated clusters (the ones for with markers are available in mark).

Then:

  • make complex heatmap plotting genes on rows and spots on columns. Change color scale to make it meaningful.
library(ComplexHeatmap)
library(grid)
library(circlize)


mark$N_mark=rowSums(mark[, c(2:ncol(mark))])
selected_genes=subset(mark,N_mark>=3)$gene

expr2=subset(expr, rownames(expr)%in%selected_genes)

available_mark=gsub("marker_cluster", "", colnames(mark[2:(ncol(mark)-1)]))

available_mark
## [1] "0" "1" "2" "3" "4" "5" "6" "7" "8"
spots=subset(clus, cluster%in%available_mark)

head(spots)
##                    cluster               spot
## AAACAAGTATCTCCCA-1       4 AAACAAGTATCTCCCA-1
## AAACACCAATAACTGC-1       3 AAACACCAATAACTGC-1
## AAACAGAGCGACTCCT-1       0 AAACAGAGCGACTCCT-1
## AAACAGCTTTCAGAAG-1       7 AAACAGCTTTCAGAAG-1
## AAACAGGGTCTATATT-1       3 AAACAGGGTCTATATT-1
## AAACATTTCCCGGATT-1       1 AAACATTTCCCGGATT-1
table(spots$spot%in%colnames(expr2)) # control if all spots are in the expression data frame
## 
## FALSE  TRUE 
##  3642    88
expr2=expr2[, which(colnames(expr2)%in%spots$spot)]


dim(expr2)
## [1] 203  88
expr2=as.matrix(expr2)

color=colorRamp2(c(min(unlist(expr2)), mean(unlist(expr2)), max(unlist(expr2))), c("white", "magenta", "purple"))
Heatmap(expr2, col=color)


  1. Add information to the heatmap you created.
  • Add annotations on both rows (pathway annotation) and columns (spot clusters).

  • Split columns according to clusters.

  • Add a barplot annotation on rows showing for each gene the total number of genes that belong to the pathway it belongs to (according to the entire kegg annotation).

p=as.data.frame(table(path$kegg_pathway))

path$N_total=p$Freq[match(path$kegg_pathway, p$Var1)]


expr2_annot=path[match(rownames(expr2), path$gene), c("kegg_pathway", "N_total")]
head(expr2_annot)
##                                     kegg_pathway N_total
## GABRD    NEUROACTIVE_LIGAND_RECEPTOR_INTERACTION     124
## PRKCZ                CHEMOKINE_SIGNALING_PATHWAY      98
## PEX10                                 PEROXISOME      37
## PANK4          PANTOTHENATE_AND_COA_BIOSYNTHESIS      11
## HES5                     NOTCH_SIGNALING_PATHWAY      25
## TNFRSF14  CYTOKINE_CYTOKINE_RECEPTOR_INTERACTION     113
ann_sp=spots$cluster[match(colnames(expr2), spots$spot)]


haR = HeatmapAnnotation(
    N_g = anno_barplot(expr2_annot$N_total),  # annotation name and values
    pathway = expr2_annot$kegg_pathway,# other annotation name and values
    gp = gpar(col = "black"),
    which = "row"
)



haC = HeatmapAnnotation(
 cluster = ann_sp,
    gp = gpar(col = "black"),
    which = "column"
)





color=colorRamp2(c(min(unlist(expr2)), mean(unlist(expr2)), max(unlist(expr2))), c("white", "magenta", "purple"))


ht=Heatmap(expr2, col=color, column_split = ann_sp, left_annotation =haR,
        top_annotation = haC)
draw(ht, heatmap_legend_side = "bottom", 
    annotation_legend_side = "bottom")


  1. Use Spatial_expression_annotation_genes.csv in Datasets (you already read it).
  • Compare markers for cluster 0 ,1 and 3 using a venn diagram. You can try to add colors and to change labels.
  • Select the genes that are in common between all the three clusters and make a boxplot for each gene (use facet) to see if there are differences in expression values between the three clusters.
library(VennDiagram)

group1 <- mark$gene[which(mark$marker_cluster0)]
group2 <- mark$gene[which(mark$marker_cluster1)]
group3 <- mark$gene[which(mark$marker_cluster3)]


venn.diagram(
  x = list(group1, group2, group3),
  category.names = c("Cluster 0" , "Cluster 1" , "Cluster 3"),
  filename = "venn_diagram_markers.png",imagetype = "png",   # possible imege types are: "png", "tiff" or "svg"
  output=TRUE
) 
## [1] 1
g=group1[which(group1%in%group2 & group1%in%group3)]

expr_g=expr[g,]

head(expr_g)
##       AAACAAGTATCTCCCA-1 AAACACCAATAACTGC-1 AAACAGAGCGACTCCT-1
## CHRM3           0.000000          0.0000000           0.000000
## FMN2            0.000000          0.0000000           0.000000
## FH              0.000000          0.6931472           0.000000
## KMO             0.000000          0.0000000           0.000000
## EXO1            0.000000          0.0000000           0.000000
## AKT3            1.609438          0.6931472           1.098612
##       AAACAGCTTTCAGAAG-1 AAACAGGGTCTATATT-1 AAACATTTCCCGGATT-1
## CHRM3          0.0000000           0.000000           0.000000
## FMN2           0.0000000           0.000000           0.000000
## FH             0.6931472           0.000000           0.000000
## KMO            0.0000000           0.000000           0.000000
## EXO1           0.0000000           0.000000           0.000000
## AKT3           0.6931472           1.609438           1.098612
##       AAACCACTACACAGAT-1 AAACCCGAACGAAATC-1 AAACCGGAAATGTTAA-1
## CHRM3           0.000000                  0          0.0000000
## FMN2            0.000000                  0          0.0000000
## FH              0.000000                  0          1.0986123
## KMO             0.000000                  0          0.0000000
## EXO1            0.000000                  0          0.0000000
## AKT3            1.791759                  0          0.6931472
##       AAACCGGGTAGGTACC-1 AAACCGTTCGTCCAGG-1 AAACCTAAGCAGCCGG-1
## CHRM3          0.0000000           0.000000          0.0000000
## FMN2           0.0000000           0.000000          0.0000000
## FH             0.6931472           0.000000          0.0000000
## KMO            0.0000000           0.000000          0.0000000
## EXO1           0.0000000           0.000000          0.0000000
## AKT3           2.0794415           1.386294          0.6931472
##       AAACCTCATGAAGTTG-1 AAACGAAGAACATACC-1 AAACGACAGTCTTGCC-1
## CHRM3           0.000000          0.0000000          0.0000000
## FMN2            0.000000          0.0000000          0.0000000
## FH              1.098612          0.6931472          0.0000000
## KMO             0.000000          0.0000000          0.0000000
## EXO1            0.000000          0.0000000          0.0000000
## AKT3            1.098612          1.0986123          0.6931472
##       AAACGAGACGGTTGAT-1 AAACGCCCGAGATCGG-1 AAACGCTGGGCACGAC-1
## CHRM3          0.0000000          0.0000000           0.000000
## FMN2           0.0000000          0.0000000           0.000000
## FH             0.0000000          0.6931472           0.000000
## KMO            0.0000000          0.0000000           0.000000
## EXO1           0.0000000          0.0000000           0.000000
## AKT3           0.6931472          1.0986123           1.386294
##       AAACGGGCGTACGGGT-1 AAACGGTTGCGAACTG-1 AAACGTGTTCGCCCTA-1
## CHRM3           0.000000           0.000000          0.0000000
## FMN2            0.000000           0.000000          0.0000000
## FH              0.000000           0.000000          0.6931472
## KMO             0.000000           0.000000          0.0000000
## EXO1            0.000000           0.000000          0.0000000
## AKT3            1.386294           1.386294          1.0986123
##       AAACTAACGTGGCGAC-1 AAACTCGGTTCGCAAT-1 AAACTCGTGATATAAG-1
## CHRM3          0.0000000          0.0000000          0.0000000
## FMN2           0.0000000          0.0000000          0.0000000
## FH             0.0000000          0.0000000          0.0000000
## KMO            0.0000000          0.0000000          0.0000000
## EXO1           0.0000000          0.0000000          0.0000000
## AKT3           0.6931472          0.6931472          0.6931472
##       AAACTGCTGGCTCCAA-1 AAACTTAATTGCACGC-1 AAACTTGCAAACGTAT-1
## CHRM3                  0           0.000000           0.000000
## FMN2                   0           0.000000           0.000000
## FH                     0           0.000000           1.098612
## KMO                    0           0.000000           0.000000
## EXO1                   0           0.000000           0.000000
## AKT3                   0           1.386294           0.000000
##       AAAGAATGTGGACTAA-1 AAAGACATGAAGTTTA-1 AAAGACCCAAGTCGCG-1
## CHRM3           0.000000           0.000000           0.000000
## FMN2            0.000000           0.000000           0.000000
## FH              0.000000           0.000000           0.000000
## KMO             0.000000           0.000000           0.000000
## EXO1            0.000000           0.000000           0.000000
## AKT3            1.386294           1.386294           1.386294
##       AAAGACTGGGCGCTTT-1 AAAGCTTGCCTACATA-1 AAAGGCCCTATAATAC-1
## CHRM3           0.000000           0.000000          0.0000000
## FMN2            0.000000           0.000000          0.0000000
## FH              0.000000           0.000000          0.0000000
## KMO             0.000000           0.000000          0.0000000
## EXO1            0.000000           0.000000          0.0000000
## AKT3            1.386294           1.386294          0.6931472
##       AAAGGCTACGGACCAT-1 AAAGGCTCTCGCGCCG-1 AAAGGGATGTAGCAAG-1
## CHRM3           0.000000           0.000000          0.0000000
## FMN2            0.000000           0.000000          0.0000000
## FH              0.000000           1.098612          0.6931472
## KMO             0.000000           0.000000          0.0000000
## EXO1            0.000000           0.000000          0.0000000
## AKT3            1.098612           1.098612          1.3862944
##       AAAGGGCAGCTTGAAT-1 AAAGGTAAGCTGTACC-1 AAAGGTCAACGACATG-1
## CHRM3          0.0000000          0.0000000           0.000000
## FMN2           0.0000000          0.0000000           0.000000
## FH             0.6931472          1.0986123           0.000000
## KMO            0.0000000          0.0000000           0.000000
## EXO1           0.0000000          0.0000000           0.000000
## AKT3           1.3862944          0.6931472           1.098612
##       AAAGTAGCATTGCTCA-1 AAAGTCACTGATGTAA-1 AAAGTCGACCCTCAGT-1
## CHRM3          0.0000000          0.0000000          0.0000000
## FMN2           0.0000000          0.0000000          0.0000000
## FH             0.6931472          0.6931472          0.6931472
## KMO            0.0000000          0.0000000          0.0000000
## EXO1           0.0000000          0.0000000          0.0000000
## AKT3           0.6931472          1.0986123          0.6931472
##       AAAGTGCCATCAATTA-1 AAAGTGTGATTTATCT-1 AAAGTTGACTCCCGTA-1
## CHRM3           0.000000                  0          0.0000000
## FMN2            0.000000                  0          0.0000000
## FH              0.000000                  0          0.6931472
## KMO             0.000000                  0          0.0000000
## EXO1            0.000000                  0          0.0000000
## AKT3            1.386294                  0          1.9459101
##       AAATAACCATACGGGA-1 AAATAAGGTAGTGCCC-1 AAATACCTATAAGCAT-1
## CHRM3          0.0000000          0.0000000          0.0000000
## FMN2           0.0000000          0.0000000          0.0000000
## FH             0.6931472          0.6931472          0.0000000
## KMO            0.0000000          0.0000000          0.0000000
## EXO1           0.0000000          0.0000000          0.0000000
## AKT3           1.3862944          1.3862944          0.6931472
##       AAATAGCTTAGACTTT-1 AAATCACTCCTAAACG-1 AAATCCGATACACGCC-1
## CHRM3          0.0000000          0.0000000          0.0000000
## FMN2           0.0000000          0.0000000          0.0000000
## FH             0.6931472          0.6931472          0.0000000
## KMO            0.0000000          0.0000000          0.0000000
## EXO1           0.0000000          0.0000000          0.0000000
## AKT3           1.6094379          1.3862944          0.6931472
##       AAATCTAGCCCTGCTA-1 AAATCTGCCCGCGTCC-1 AAATGATTCGATCAGC-1
## CHRM3                  0          0.0000000           0.000000
## FMN2                   0          0.0000000           0.000000
## FH                     0          0.0000000           1.386294
## KMO                    0          0.0000000           0.000000
## EXO1                   0          0.0000000           0.000000
## AKT3                   0          0.6931472           1.098612
##       AAATGCTCGTTACGTT-1 AAATGGCATGTCTTGT-1 AAATGGCCCGTGCCCT-1
## CHRM3           0.000000                  0          0.0000000
## FMN2            0.000000                  0          0.0000000
## FH              0.000000                  0          0.0000000
## KMO             0.000000                  0          0.0000000
## EXO1            0.000000                  0          0.0000000
## AKT3            1.098612                  0          0.6931472
##       AAATGGTCAATGTGCC-1 AAATGTATCTTATCCC-1 AAATTAACGGGTAGCT-1
## CHRM3          0.0000000           0.000000          0.0000000
## FMN2           0.0000000           0.000000          0.0000000
## FH             0.6931472           0.000000          0.0000000
## KMO            0.0000000           0.000000          0.0000000
## EXO1           0.0000000           0.000000          0.0000000
## AKT3           0.6931472           1.386294          0.6931472
##       AAATTAATAAGCGCGA-1 AAATTACACGACTCTG-1 AAATTACCTATCGATG-1
## CHRM3          0.0000000           0.000000           0.000000
## FMN2           0.0000000           0.000000           0.000000
## FH             0.6931472           1.098612           0.000000
## KMO            0.0000000           0.000000           0.000000
## EXO1           0.0000000           0.000000           0.000000
## AKT3           0.0000000           1.386294           1.386294
##       AAATTCCAGGTCCAAA-1 AAATTGATAGTCCTTT-1 AAATTGGTGAGAAGCA-1
## CHRM3                  0           0.000000          0.0000000
## FMN2                   0           0.000000          0.0000000
## FH                     0           0.000000          0.6931472
## KMO                    0           0.000000          0.0000000
## EXO1                   0           0.000000          0.0000000
## AKT3                   0           1.098612          1.3862944
##       AAATTTACCGAAATCC-1 AAATTTGCGGGTGTGG-1 AACAACTGGTAGTTGC-1
## CHRM3          0.0000000          0.0000000           0.000000
## FMN2           0.0000000          0.0000000           0.000000
## FH             0.6931472          0.0000000           0.000000
## KMO            0.0000000          0.0000000           0.000000
## EXO1           0.0000000          0.0000000           0.000000
## AKT3           1.0986123          0.6931472           1.386294
##       AACAATACATTGTCGA-1 AACAATTACTCTACGC-1 AACACACGCTCGCCGC-1
## CHRM3          0.0000000           0.000000           0.000000
## FMN2           0.0000000           0.000000           0.000000
## FH             0.0000000           1.386294           1.098612
## KMO            0.0000000           0.000000           0.000000
## EXO1           0.0000000           0.000000           0.000000
## AKT3           0.6931472           1.098612           0.000000
##       AACACGACTGTACTGA-1 AACACGAGACGCGGCC-1 AACAGCTGTGTGGCAA-1
## CHRM3           0.000000           0.000000           0.000000
## FMN2            0.000000           0.000000           0.000000
## FH              0.000000           0.000000           1.098612
## KMO             0.000000           0.000000           0.000000
## EXO1            0.000000           0.000000           0.000000
## AKT3            1.386294           1.098612           1.098612
##       AACAGGAAATCGAATA-1 AACAGGATGGGCCGCG-1 AACAGGTAGTATGGAT-1
## CHRM3           0.000000          0.6931472          0.0000000
## FMN2            0.000000          0.0000000          0.0000000
## FH              1.098612          1.0986123          0.6931472
## KMO             0.000000          0.0000000          0.0000000
## EXO1            0.000000          0.0000000          0.0000000
## AKT3            0.000000          1.7917595          1.0986123
##       AACATATCAACTGGTG-1 AACATCGATACGTCTA-1 AACATTGAAGTTGATC-1
## CHRM3          0.0000000          0.6931472           0.000000
## FMN2           0.0000000          0.0000000           0.000000
## FH             0.0000000          0.0000000           0.000000
## KMO            0.0000000          0.0000000           0.000000
## EXO1           0.0000000          0.0000000           0.000000
## AKT3           0.6931472          1.3862944           1.098612
##       AACATTGTGACTCGAG-1 AACCAAGACTTCTCTG-1 AACCAGTATCACTCTT-1
## CHRM3           0.000000          0.0000000           0.000000
## FMN2            0.000000          0.0000000           0.000000
## FH              0.000000          0.0000000           0.000000
## KMO             0.000000          0.0000000           0.000000
## EXO1            0.000000          0.0000000           0.000000
## AKT3            1.386294          0.6931472           1.386294
##       AACCATAGGGTTGAAC-1 AACCATGGGATCGCTA-1 AACCCAGAGACGGAGA-1
## CHRM3           0.000000          0.0000000           0.000000
## FMN2            0.000000          0.0000000           0.000000
## FH              1.098612          0.6931472           1.609438
## KMO             0.000000          0.0000000           0.000000
## EXO1            0.000000          0.0000000           0.000000
## AKT3            1.386294          1.0986123           1.386294
##       AACCCATCCCATGATC-1 AACCCGACAACCCGTG-1 AACCCGAGCAGAATCG-1
## CHRM3          0.6931472           0.000000           0.000000
## FMN2           0.0000000           0.000000           0.000000
## FH             0.0000000           1.386294           1.386294
## KMO            0.0000000           0.000000           0.000000
## EXO1           0.0000000           0.000000           0.000000
## AKT3           0.6931472           1.098612           0.000000
##       AACCCGATAGGGCTTC-1 AACCCTACTGTCAATA-1 AACCCTGGTGGAACCA-1
## CHRM3          0.0000000           0.000000          0.0000000
## FMN2           0.0000000           0.000000          0.0000000
## FH             0.0000000           1.098612          0.0000000
## KMO            0.0000000           0.000000          0.0000000
## EXO1           0.0000000           0.000000          0.0000000
## AKT3           0.6931472           1.609438          0.6931472
##       AACCGAGCTTGGTCAT-1 AACCGCTAAGGGATGC-1 AACCGTTGTGTTTGCT-1
## CHRM3          0.0000000           0.000000           0.000000
## FMN2           0.0000000           0.000000           0.000000
## FH             0.6931472           1.098612           0.000000
## KMO            0.0000000           0.000000           0.000000
## EXO1           0.0000000           0.000000           0.000000
## AKT3           0.6931472           1.098612           1.098612
##       AACCTAAAGCCGTCCG-1 AACCTCGCTTTAGCCC-1 AACCTGTCACGGAATT-1
## CHRM3          0.0000000           0.000000           0.000000
## FMN2           0.0000000           0.000000           0.000000
## FH             0.6931472           0.000000           0.000000
## KMO            0.0000000           0.000000           0.000000
## EXO1           0.0000000           0.000000           0.000000
## AKT3           0.6931472           1.791759           1.098612
##       AACCTTTAAATACGGT-1
## CHRM3           0.000000
## FMN2            0.000000
## FH              1.098612
## KMO             0.000000
## EXO1            0.000000
## AKT3            1.098612
expr_g$gene=rownames(expr_g)
head(expr_g)
##       AAACAAGTATCTCCCA-1 AAACACCAATAACTGC-1 AAACAGAGCGACTCCT-1
## CHRM3           0.000000          0.0000000           0.000000
## FMN2            0.000000          0.0000000           0.000000
## FH              0.000000          0.6931472           0.000000
## KMO             0.000000          0.0000000           0.000000
## EXO1            0.000000          0.0000000           0.000000
## AKT3            1.609438          0.6931472           1.098612
##       AAACAGCTTTCAGAAG-1 AAACAGGGTCTATATT-1 AAACATTTCCCGGATT-1
## CHRM3          0.0000000           0.000000           0.000000
## FMN2           0.0000000           0.000000           0.000000
## FH             0.6931472           0.000000           0.000000
## KMO            0.0000000           0.000000           0.000000
## EXO1           0.0000000           0.000000           0.000000
## AKT3           0.6931472           1.609438           1.098612
##       AAACCACTACACAGAT-1 AAACCCGAACGAAATC-1 AAACCGGAAATGTTAA-1
## CHRM3           0.000000                  0          0.0000000
## FMN2            0.000000                  0          0.0000000
## FH              0.000000                  0          1.0986123
## KMO             0.000000                  0          0.0000000
## EXO1            0.000000                  0          0.0000000
## AKT3            1.791759                  0          0.6931472
##       AAACCGGGTAGGTACC-1 AAACCGTTCGTCCAGG-1 AAACCTAAGCAGCCGG-1
## CHRM3          0.0000000           0.000000          0.0000000
## FMN2           0.0000000           0.000000          0.0000000
## FH             0.6931472           0.000000          0.0000000
## KMO            0.0000000           0.000000          0.0000000
## EXO1           0.0000000           0.000000          0.0000000
## AKT3           2.0794415           1.386294          0.6931472
##       AAACCTCATGAAGTTG-1 AAACGAAGAACATACC-1 AAACGACAGTCTTGCC-1
## CHRM3           0.000000          0.0000000          0.0000000
## FMN2            0.000000          0.0000000          0.0000000
## FH              1.098612          0.6931472          0.0000000
## KMO             0.000000          0.0000000          0.0000000
## EXO1            0.000000          0.0000000          0.0000000
## AKT3            1.098612          1.0986123          0.6931472
##       AAACGAGACGGTTGAT-1 AAACGCCCGAGATCGG-1 AAACGCTGGGCACGAC-1
## CHRM3          0.0000000          0.0000000           0.000000
## FMN2           0.0000000          0.0000000           0.000000
## FH             0.0000000          0.6931472           0.000000
## KMO            0.0000000          0.0000000           0.000000
## EXO1           0.0000000          0.0000000           0.000000
## AKT3           0.6931472          1.0986123           1.386294
##       AAACGGGCGTACGGGT-1 AAACGGTTGCGAACTG-1 AAACGTGTTCGCCCTA-1
## CHRM3           0.000000           0.000000          0.0000000
## FMN2            0.000000           0.000000          0.0000000
## FH              0.000000           0.000000          0.6931472
## KMO             0.000000           0.000000          0.0000000
## EXO1            0.000000           0.000000          0.0000000
## AKT3            1.386294           1.386294          1.0986123
##       AAACTAACGTGGCGAC-1 AAACTCGGTTCGCAAT-1 AAACTCGTGATATAAG-1
## CHRM3          0.0000000          0.0000000          0.0000000
## FMN2           0.0000000          0.0000000          0.0000000
## FH             0.0000000          0.0000000          0.0000000
## KMO            0.0000000          0.0000000          0.0000000
## EXO1           0.0000000          0.0000000          0.0000000
## AKT3           0.6931472          0.6931472          0.6931472
##       AAACTGCTGGCTCCAA-1 AAACTTAATTGCACGC-1 AAACTTGCAAACGTAT-1
## CHRM3                  0           0.000000           0.000000
## FMN2                   0           0.000000           0.000000
## FH                     0           0.000000           1.098612
## KMO                    0           0.000000           0.000000
## EXO1                   0           0.000000           0.000000
## AKT3                   0           1.386294           0.000000
##       AAAGAATGTGGACTAA-1 AAAGACATGAAGTTTA-1 AAAGACCCAAGTCGCG-1
## CHRM3           0.000000           0.000000           0.000000
## FMN2            0.000000           0.000000           0.000000
## FH              0.000000           0.000000           0.000000
## KMO             0.000000           0.000000           0.000000
## EXO1            0.000000           0.000000           0.000000
## AKT3            1.386294           1.386294           1.386294
##       AAAGACTGGGCGCTTT-1 AAAGCTTGCCTACATA-1 AAAGGCCCTATAATAC-1
## CHRM3           0.000000           0.000000          0.0000000
## FMN2            0.000000           0.000000          0.0000000
## FH              0.000000           0.000000          0.0000000
## KMO             0.000000           0.000000          0.0000000
## EXO1            0.000000           0.000000          0.0000000
## AKT3            1.386294           1.386294          0.6931472
##       AAAGGCTACGGACCAT-1 AAAGGCTCTCGCGCCG-1 AAAGGGATGTAGCAAG-1
## CHRM3           0.000000           0.000000          0.0000000
## FMN2            0.000000           0.000000          0.0000000
## FH              0.000000           1.098612          0.6931472
## KMO             0.000000           0.000000          0.0000000
## EXO1            0.000000           0.000000          0.0000000
## AKT3            1.098612           1.098612          1.3862944
##       AAAGGGCAGCTTGAAT-1 AAAGGTAAGCTGTACC-1 AAAGGTCAACGACATG-1
## CHRM3          0.0000000          0.0000000           0.000000
## FMN2           0.0000000          0.0000000           0.000000
## FH             0.6931472          1.0986123           0.000000
## KMO            0.0000000          0.0000000           0.000000
## EXO1           0.0000000          0.0000000           0.000000
## AKT3           1.3862944          0.6931472           1.098612
##       AAAGTAGCATTGCTCA-1 AAAGTCACTGATGTAA-1 AAAGTCGACCCTCAGT-1
## CHRM3          0.0000000          0.0000000          0.0000000
## FMN2           0.0000000          0.0000000          0.0000000
## FH             0.6931472          0.6931472          0.6931472
## KMO            0.0000000          0.0000000          0.0000000
## EXO1           0.0000000          0.0000000          0.0000000
## AKT3           0.6931472          1.0986123          0.6931472
##       AAAGTGCCATCAATTA-1 AAAGTGTGATTTATCT-1 AAAGTTGACTCCCGTA-1
## CHRM3           0.000000                  0          0.0000000
## FMN2            0.000000                  0          0.0000000
## FH              0.000000                  0          0.6931472
## KMO             0.000000                  0          0.0000000
## EXO1            0.000000                  0          0.0000000
## AKT3            1.386294                  0          1.9459101
##       AAATAACCATACGGGA-1 AAATAAGGTAGTGCCC-1 AAATACCTATAAGCAT-1
## CHRM3          0.0000000          0.0000000          0.0000000
## FMN2           0.0000000          0.0000000          0.0000000
## FH             0.6931472          0.6931472          0.0000000
## KMO            0.0000000          0.0000000          0.0000000
## EXO1           0.0000000          0.0000000          0.0000000
## AKT3           1.3862944          1.3862944          0.6931472
##       AAATAGCTTAGACTTT-1 AAATCACTCCTAAACG-1 AAATCCGATACACGCC-1
## CHRM3          0.0000000          0.0000000          0.0000000
## FMN2           0.0000000          0.0000000          0.0000000
## FH             0.6931472          0.6931472          0.0000000
## KMO            0.0000000          0.0000000          0.0000000
## EXO1           0.0000000          0.0000000          0.0000000
## AKT3           1.6094379          1.3862944          0.6931472
##       AAATCTAGCCCTGCTA-1 AAATCTGCCCGCGTCC-1 AAATGATTCGATCAGC-1
## CHRM3                  0          0.0000000           0.000000
## FMN2                   0          0.0000000           0.000000
## FH                     0          0.0000000           1.386294
## KMO                    0          0.0000000           0.000000
## EXO1                   0          0.0000000           0.000000
## AKT3                   0          0.6931472           1.098612
##       AAATGCTCGTTACGTT-1 AAATGGCATGTCTTGT-1 AAATGGCCCGTGCCCT-1
## CHRM3           0.000000                  0          0.0000000
## FMN2            0.000000                  0          0.0000000
## FH              0.000000                  0          0.0000000
## KMO             0.000000                  0          0.0000000
## EXO1            0.000000                  0          0.0000000
## AKT3            1.098612                  0          0.6931472
##       AAATGGTCAATGTGCC-1 AAATGTATCTTATCCC-1 AAATTAACGGGTAGCT-1
## CHRM3          0.0000000           0.000000          0.0000000
## FMN2           0.0000000           0.000000          0.0000000
## FH             0.6931472           0.000000          0.0000000
## KMO            0.0000000           0.000000          0.0000000
## EXO1           0.0000000           0.000000          0.0000000
## AKT3           0.6931472           1.386294          0.6931472
##       AAATTAATAAGCGCGA-1 AAATTACACGACTCTG-1 AAATTACCTATCGATG-1
## CHRM3          0.0000000           0.000000           0.000000
## FMN2           0.0000000           0.000000           0.000000
## FH             0.6931472           1.098612           0.000000
## KMO            0.0000000           0.000000           0.000000
## EXO1           0.0000000           0.000000           0.000000
## AKT3           0.0000000           1.386294           1.386294
##       AAATTCCAGGTCCAAA-1 AAATTGATAGTCCTTT-1 AAATTGGTGAGAAGCA-1
## CHRM3                  0           0.000000          0.0000000
## FMN2                   0           0.000000          0.0000000
## FH                     0           0.000000          0.6931472
## KMO                    0           0.000000          0.0000000
## EXO1                   0           0.000000          0.0000000
## AKT3                   0           1.098612          1.3862944
##       AAATTTACCGAAATCC-1 AAATTTGCGGGTGTGG-1 AACAACTGGTAGTTGC-1
## CHRM3          0.0000000          0.0000000           0.000000
## FMN2           0.0000000          0.0000000           0.000000
## FH             0.6931472          0.0000000           0.000000
## KMO            0.0000000          0.0000000           0.000000
## EXO1           0.0000000          0.0000000           0.000000
## AKT3           1.0986123          0.6931472           1.386294
##       AACAATACATTGTCGA-1 AACAATTACTCTACGC-1 AACACACGCTCGCCGC-1
## CHRM3          0.0000000           0.000000           0.000000
## FMN2           0.0000000           0.000000           0.000000
## FH             0.0000000           1.386294           1.098612
## KMO            0.0000000           0.000000           0.000000
## EXO1           0.0000000           0.000000           0.000000
## AKT3           0.6931472           1.098612           0.000000
##       AACACGACTGTACTGA-1 AACACGAGACGCGGCC-1 AACAGCTGTGTGGCAA-1
## CHRM3           0.000000           0.000000           0.000000
## FMN2            0.000000           0.000000           0.000000
## FH              0.000000           0.000000           1.098612
## KMO             0.000000           0.000000           0.000000
## EXO1            0.000000           0.000000           0.000000
## AKT3            1.386294           1.098612           1.098612
##       AACAGGAAATCGAATA-1 AACAGGATGGGCCGCG-1 AACAGGTAGTATGGAT-1
## CHRM3           0.000000          0.6931472          0.0000000
## FMN2            0.000000          0.0000000          0.0000000
## FH              1.098612          1.0986123          0.6931472
## KMO             0.000000          0.0000000          0.0000000
## EXO1            0.000000          0.0000000          0.0000000
## AKT3            0.000000          1.7917595          1.0986123
##       AACATATCAACTGGTG-1 AACATCGATACGTCTA-1 AACATTGAAGTTGATC-1
## CHRM3          0.0000000          0.6931472           0.000000
## FMN2           0.0000000          0.0000000           0.000000
## FH             0.0000000          0.0000000           0.000000
## KMO            0.0000000          0.0000000           0.000000
## EXO1           0.0000000          0.0000000           0.000000
## AKT3           0.6931472          1.3862944           1.098612
##       AACATTGTGACTCGAG-1 AACCAAGACTTCTCTG-1 AACCAGTATCACTCTT-1
## CHRM3           0.000000          0.0000000           0.000000
## FMN2            0.000000          0.0000000           0.000000
## FH              0.000000          0.0000000           0.000000
## KMO             0.000000          0.0000000           0.000000
## EXO1            0.000000          0.0000000           0.000000
## AKT3            1.386294          0.6931472           1.386294
##       AACCATAGGGTTGAAC-1 AACCATGGGATCGCTA-1 AACCCAGAGACGGAGA-1
## CHRM3           0.000000          0.0000000           0.000000
## FMN2            0.000000          0.0000000           0.000000
## FH              1.098612          0.6931472           1.609438
## KMO             0.000000          0.0000000           0.000000
## EXO1            0.000000          0.0000000           0.000000
## AKT3            1.386294          1.0986123           1.386294
##       AACCCATCCCATGATC-1 AACCCGACAACCCGTG-1 AACCCGAGCAGAATCG-1
## CHRM3          0.6931472           0.000000           0.000000
## FMN2           0.0000000           0.000000           0.000000
## FH             0.0000000           1.386294           1.386294
## KMO            0.0000000           0.000000           0.000000
## EXO1           0.0000000           0.000000           0.000000
## AKT3           0.6931472           1.098612           0.000000
##       AACCCGATAGGGCTTC-1 AACCCTACTGTCAATA-1 AACCCTGGTGGAACCA-1
## CHRM3          0.0000000           0.000000          0.0000000
## FMN2           0.0000000           0.000000          0.0000000
## FH             0.0000000           1.098612          0.0000000
## KMO            0.0000000           0.000000          0.0000000
## EXO1           0.0000000           0.000000          0.0000000
## AKT3           0.6931472           1.609438          0.6931472
##       AACCGAGCTTGGTCAT-1 AACCGCTAAGGGATGC-1 AACCGTTGTGTTTGCT-1
## CHRM3          0.0000000           0.000000           0.000000
## FMN2           0.0000000           0.000000           0.000000
## FH             0.6931472           1.098612           0.000000
## KMO            0.0000000           0.000000           0.000000
## EXO1           0.0000000           0.000000           0.000000
## AKT3           0.6931472           1.098612           1.098612
##       AACCTAAAGCCGTCCG-1 AACCTCGCTTTAGCCC-1 AACCTGTCACGGAATT-1
## CHRM3          0.0000000           0.000000           0.000000
## FMN2           0.0000000           0.000000           0.000000
## FH             0.6931472           0.000000           0.000000
## KMO            0.0000000           0.000000           0.000000
## EXO1           0.0000000           0.000000           0.000000
## AKT3           0.6931472           1.791759           1.098612
##       AACCTTTAAATACGGT-1  gene
## CHRM3           0.000000 CHRM3
## FMN2            0.000000  FMN2
## FH              1.098612    FH
## KMO             0.000000   KMO
## EXO1            0.000000  EXO1
## AKT3            1.098612  AKT3
library(reshape2)

expr_g=melt(expr_g)

head(expr_g)
##    gene           variable    value
## 1 CHRM3 AAACAAGTATCTCCCA-1 0.000000
## 2  FMN2 AAACAAGTATCTCCCA-1 0.000000
## 3    FH AAACAAGTATCTCCCA-1 0.000000
## 4   KMO AAACAAGTATCTCCCA-1 0.000000
## 5  EXO1 AAACAAGTATCTCCCA-1 0.000000
## 6  AKT3 AAACAAGTATCTCCCA-1 1.609438
expr_g$cluster=clus$cluster[match(expr_g$variable, clus$spot)]

expr_g=subset(expr_g, cluster%in%c("0", "1", "3"))

library(ggplot2)

library(ggpubr)
ggplot(expr_g, aes(x=cluster, y=value))+geom_boxplot(notch = T)+theme_bw()+facet_wrap(~gene, scales = "free_y")+stat_compare_means(comparisons = list(c("0", "1"), c("0", "3"), c("1", "3")))


  1. Compare markers for all available clusters using an upset plot.
library(UpSetR)

colnames(mark)
##  [1] "gene"            "marker_cluster0" "marker_cluster1" "marker_cluster2"
##  [5] "marker_cluster3" "marker_cluster4" "marker_cluster5" "marker_cluster6"
##  [9] "marker_cluster7" "marker_cluster8" "N_mark"
 # Define some vectors

group0 <- mark$gene[which(mark$marker_cluster0)]
group1 <- mark$gene[which(mark$marker_cluster1)]
group2 <- mark$gene[which(mark$marker_cluster2)]
group3 <- mark$gene[which(mark$marker_cluster3)]
group4 <- mark$gene[which(mark$marker_cluster4)]
group5 <- mark$gene[which(mark$marker_cluster5)]
group6 <- mark$gene[which(mark$marker_cluster6)]
group7 <- mark$gene[which(mark$marker_cluster7)]
group8 <- mark$gene[which(mark$marker_cluster8)]


# Make a names list with vectors

group_list=list("Cluster 0"=group0, 
                "Cluster 1"=group1,
                "Cluster 2"=group2,
                "Cluster 3"=group3,
                "Cluster 4"=group4,
                "Cluster 5"=group5,
                "Cluster 6"=group6,
                "Cluster 7"=group7,
                "Cluster 8"=group8)
# Make the upset
upset(fromList(group_list),nsets =9, order.by = "freq" )