TigerZheng commited on
Commit
94dbe80
·
verified ·
1 Parent(s): 49e86d9

Update PFCdevApp.qmd

Browse files
Files changed (1) hide show
  1. PFCdevApp.qmd +83 -41
PFCdevApp.qmd CHANGED
@@ -1,21 +1,22 @@
1
  ---
2
- title: "SPIDER-web"
3
  author: "Cao Lab"
4
  server: shiny
5
  format:
6
  dashboard:
7
- logo: https://ZhengTiger.github.io/picx-images-hosting/PFCapp/Logo-circle.7sn4nqapcl.png
 
8
  nav-buttons:
9
  - icon: github
10
- href: https://github.com/ZhengTiger/SPIDER-Seq
11
  ---
12
  # Home
13
 
14
- <p style="font-size: 50px; font-weight: bold; text-align: center;">Modular organization of mouse prefrontal cortex subnetwork revealed by spatial single-cell multi-omic analysis of SPIEDER-Seq</p>
15
 
16
  <br>
17
 
18
- <img src="https://ZhengTiger.github.io/picx-images-hosting/PFCapp/Figure1A.2doqkri93w.webp" style="width: 100%;">
19
 
20
  <br>
21
  <br>
@@ -25,7 +26,7 @@ Summary
25
  </p>
26
 
27
  <p style="font-size: 20px; text-align: justify;">
28
- Deciphering the connectome, transcriptome and spatial-omics integrated multi-modal brain atlas and the underlying organization principles remains a great challenge. We developed a cost-effective Single-cell Projectome-transcriptome In situ Deciphering Sequencing (SPIDER-Seq) technique by combining viral barcoding tracing with single-cell sequencing and spatial-omics. This empowers us to delineate a comprehensive integrated single-cell spatial molecular, cellular and projectomic atlas of mouse prefrontal cortex (PFC). The projectomic and transcriptomic cell clusters display distinct modular organization principles, but are coordinately configured in the PFC. The projection neurons gradiently occupied different territories in the PFC aligning with their wiring patterns. Importantly, they show higher co-projection probability to the downstream nuclei with reciprocal circuit connections. Moreover, we integrated projectomic atlas with their distinct spectrum of neurotransmitter/neuropeptide and the receptors-related gene profiles and depicted PFC neural signal transmission network. By which, we uncovered potential mechanisms underlying the complexity and specificity of neural transmission. Finally, we predicted neuron projections with high accuracy by combining gene profiles and spatial information via machine learning. This study facilitates our understanding of brain multi-modal network and neural computation.
29
  </p>
30
 
31
 
@@ -40,13 +41,13 @@ scRNAseq
40
  </p>
41
 
42
  <p style="font-size: 20px; text-align: justify;">
43
- Our scRNAseq dataset sequenced the PFC of 3 mice. It contains the transcriptome of mouse PFC and the projectome information of 24 PFC targets. Users can browse the following content through the scRNAseq page:
44
  </p>
45
 
46
- - scRNAseq Clustering: Select different resolutions to view cell clusters on UMAP
47
- - Gene Expression: Select different genes to view their expression on UMAP
48
- - Barcode Expression: Select different projections to view their expression on UMAP
49
- - Barcode Cell Numbers: View PFC projection cell numbers in different cell clusters
50
 
51
 
52
 
@@ -55,28 +56,14 @@ Spatial data
55
  </p>
56
 
57
  <p style="font-size: 20px; text-align: justify;">
58
- Our spatial dataset sequenced 36 slices of mouse PFC. It contains 32 genes and 15 targets information of mouse PFC. Users can browse the following content through the spatial page:
59
  </p>
60
 
61
  - Spatial Clustering: Select different resolutions to view the spatial distribution of cell clusters
62
  - Spatial Gene Expression: Select different genes to view their spatial expression
63
- - Spatial Barcode Expression: Select different projections to view their spatial expression
64
- - Barcode Spatial Distribution: View the spatial distribution of PFC projection neurons along anterior-posterior and ventralis-dorsalis axes
65
 
66
 
67
 
68
- <p style="font-size: 20px; font-weight: bold; text-align: left;">
69
- 3D
70
- </p>
71
-
72
- <p style="font-size: 20px; text-align: justify;">
73
- 3D interactive visualization of mouse PFC. Users can browse the following content through the 3D page:
74
- </p>
75
-
76
- - Transcriptome 3D Visualization: Select different transcriptome cell clusters to interactively view them in 3D
77
- - Projectome 3D Visualization: Select different Projectome targets to interactively view them in 3D
78
-
79
-
80
  <p style="font-size: 20px; font-weight: bold; text-align: left;">
81
  Download
82
  </p>
@@ -100,12 +87,12 @@ library(viridis)
100
  library(dplyr)
101
 
102
  source("R/Palettes.R")
103
- #source('R/includes.R')
104
- seu.harmony <- readRDS(url("https://hf-mirror.com/TigerZheng/PFCdev-data/resolve/main/seu.harmony.rds","rb"))
105
- seu.harmony.metadata <- readRDS('data/seu.harmony.metadata.rds')
106
- seu.harmony@meta.data <- seu.harmony.metadata
107
 
108
- #options(rgl.useNULL = TRUE)
 
 
 
 
109
  ```
110
 
111
 
@@ -121,11 +108,15 @@ selectInput('dataset', 'Select dataset', c("All cells","Neurons"))
121
  ```
122
 
123
  ```{r}
124
- selectInput('celltype', 'Select celltype', c("MainType","Subtype_v2"), selected = "MainType")
 
 
 
 
125
  ```
126
 
127
  ```{r}
128
- selectInput('gene', 'Select Gene', rownames(seu.harmony), selected = "Cux2")
129
  ```
130
 
131
 
@@ -151,29 +142,80 @@ plotOutput('gene_plot')
151
  #### Column
152
 
153
  ```{r}
154
- plotOutput('target_plot')
155
  ```
156
 
157
- #### Column
158
-
159
- ```{r}
160
- plotOutput('target_bar_plot')
161
- ```
162
 
163
 
164
  ```{r}
165
  #| context: server
166
 
167
  output$cluster_plot <- renderPlot({
 
 
 
 
 
 
 
 
 
 
 
 
168
  DimPlot(
169
- seu.harmony,
170
  reduction = 'umap',
171
  group.by = input$celltype,
172
  cols = col_cluster[[input$celltype]],
173
- label = T
 
174
  ) +
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
175
  coord_fixed()
176
  })
177
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
178
  ```
179
 
 
1
  ---
2
+ title: "PFCdev-web"
3
  author: "Cao Lab"
4
  server: shiny
5
  format:
6
  dashboard:
7
+ theme: flatly
8
+ logo: https://ZhengTiger.github.io/picx-images-hosting/PFCdev/Logo.3yemp7xp5k.webp
9
  nav-buttons:
10
  - icon: github
11
+ href: https://github.com/ZhengTiger/PFC_develop
12
  ---
13
  # Home
14
 
15
+ <p style="font-size: 50px; font-weight: bold; text-align: center;">Molecular and spatial signatures of the developing mouse prefrontal cortex</p>
16
 
17
  <br>
18
 
19
+ <img src="https://ZhengTiger.github.io/picx-images-hosting/PFCdev/main.9kgd3316wd.webp" style="width: 100%;">
20
 
21
  <br>
22
  <br>
 
26
  </p>
27
 
28
  <p style="font-size: 20px; text-align: justify;">
29
+ Prefrontal cortex (PFC) is the high-level center of brain cognitive function, which regulates emotion, memory, decision-making, behavior, neuroendocrine and other brain functions. The sculpting of neural circuits during PFC development involves cellular and molecular reconfiguration. Here, we integrated analysis of single-cell transcriptome, spatial transcriptome and connectome data to decipher the spatial construction and molecular basis of neural circuits in the developing mouse prefrontal cortex.
30
  </p>
31
 
32
 
 
41
  </p>
42
 
43
  <p style="font-size: 20px; text-align: justify;">
44
+ Our scRNAseq data sequenced the PFC of mice at four different stages (P1, P4, P10, Adult). Users can browse the following content through the scRNAseq page:
45
  </p>
46
 
47
+ - Select dataset: Select datasets containing different cell types
48
+ - Select time: Select datasets containing different developmental stages
49
+ - Select celltype: Select different resolutions to view cell clusters on UMAP
50
+ - Select gene: Select different genes to view their expression on UMAP
51
 
52
 
53
 
 
56
  </p>
57
 
58
  <p style="font-size: 20px; text-align: justify;">
59
+ We collected the whole brain stereo-seq datasets of P0 and Adult mice from [(Han et al., Neuron, 2025)](https://doi.org/10.1016/j.neuron.2025.02.015), extracted and analyzed the PFC brain region. Users can browse the following content through the spatial page:
60
  </p>
61
 
62
  - Spatial Clustering: Select different resolutions to view the spatial distribution of cell clusters
63
  - Spatial Gene Expression: Select different genes to view their spatial expression
 
 
64
 
65
 
66
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  <p style="font-size: 20px; font-weight: bold; text-align: left;">
68
  Download
69
  </p>
 
87
  library(dplyr)
88
 
89
  source("R/Palettes.R")
 
 
 
 
90
 
91
+ seu.downsample <- readRDS('data/seu.harmony.downsample.rds')
92
+ seu.downsample <- seu.downsample[,
93
+ !(seu.downsample$orig.ident=="Adult" &
94
+ seu.downsample$SubType_v4 %in% c("Im L2/3 IT","Im L4/5 IT","Im L5 IT","Im L6 IT","NPC"))]
95
+ #seu.harmony@meta.data <- seu.harmony.metadata
96
  ```
97
 
98
 
 
108
  ```
109
 
110
  ```{r}
111
+ selectInput('time', 'Select time', c("All","P0","P4","P10","Adult"), selected = "All")
112
+ ```
113
+
114
+ ```{r}
115
+ selectInput('celltype', 'Select celltype', c("MainType","SubType_v4"), selected = "SubType_v4")
116
  ```
117
 
118
  ```{r}
119
+ selectInput('gene', 'Select gene', rownames(seu.downsample), selected = "Cux2")
120
  ```
121
 
122
 
 
142
  #### Column
143
 
144
  ```{r}
145
+ plotOutput('vln_plot')
146
  ```
147
 
 
 
 
 
 
148
 
149
 
150
  ```{r}
151
  #| context: server
152
 
153
  output$cluster_plot <- renderPlot({
154
+ if (input$time == "All"){
155
+ seu <- seu.downsample
156
+ }else{
157
+ seu <- subset(seu.downsample, cells = colnames(seu.downsample)[seu.downsample$orig.ident==input$time])
158
+ }
159
+ if (input$dataset=="Neurons"){
160
+ seu <- subset(seu.downsample, cells = colnames(seu.downsample)[seu.downsample$MainType==c("Excitatory", "Inhibitory")])
161
+ }
162
+ seu@meta.data[,input$celltype] <- factor(
163
+ seu@meta.data[,input$celltype],
164
+ levels = names(col_cluster[[input$celltype]])
165
+ )
166
  DimPlot(
167
+ seu,
168
  reduction = 'umap',
169
  group.by = input$celltype,
170
  cols = col_cluster[[input$celltype]],
171
+ pt.size = 2,
172
+ label = F
173
  ) +
174
+ theme_bw(base_size = 15) +
175
+ theme(panel.grid = element_blank()) +
176
+ coord_fixed() +
177
+ labs(title = "")
178
+ })
179
+
180
+
181
+ output$gene_plot <- renderPlot({
182
+ if (input$time == "All"){
183
+ seu <- seu.downsample
184
+ }else{
185
+ seu <- subset(seu.downsample, cells = colnames(seu.downsample)[seu.downsample$orig.ident==input$time])
186
+ }
187
+ if (input$dataset=="Neurons"){
188
+ seu <- subset(seu.downsample, cells = colnames(seu.downsample)[seu.downsample$MainType==c("Excitatory", "Inhibitory")])
189
+ }
190
+ FeaturePlot(
191
+ seu,
192
+ features = input$gene,
193
+ reduction = 'umap',
194
+ order = T,
195
+ pt.size = 2
196
+ ) +
197
+ theme_bw(base_size = 15) +
198
+ theme(panel.grid = element_blank(), plot.title = element_text(hjust = 0.5)) +
199
  coord_fixed()
200
  })
201
 
202
+
203
+ output$vln_plot <- renderPlot({
204
+ if (input$time == "All"){
205
+ seu <- seu.downsample
206
+ }else{
207
+ seu <- subset(seu.downsample, cells = colnames(seu.downsample)[seu.downsample$orig.ident==input$time])
208
+ }
209
+ if (input$dataset=="Neurons"){
210
+ seu <- subset(seu.downsample, cells = colnames(seu.downsample)[seu.downsample$MainType==c("Excitatory", "Inhibitory")])
211
+ }
212
+ seu@meta.data[,input$celltype] <- factor(
213
+ seu@meta.data[,input$celltype],
214
+ levels = names(col_cluster[[input$celltype]])
215
+ )
216
+ VlnPlot(seu, features = input$gene, group.by = input$celltype,
217
+ cols = col_cluster[[input$celltype]]) +
218
+ NoLegend()
219
+ })
220
  ```
221