-
Notifications
You must be signed in to change notification settings - Fork 1
/
ui.R
649 lines (626 loc) · 59 KB
/
ui.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
# You can find out more about building applications with Shiny here:
#
# http://shiny.rstudio.com
# Load the packages we need for this App
source("init.R")
source("functions.R")
shinyUI(navbarPage("LH library", id="tab", fluid = TRUE,
# Get a nice Shiny theme
theme = shinythemes::shinytheme("united"),
#######################
# Overview of library #
#######################
shiny::tabPanel("atlas",
shiny::h3("the lateral horn library",align="left"),
shiny::br(),
shiny::HTML("Welcome to the <a href='https://en.wikipedia.org/wiki/Lateral_horn_of_insect_brain' target='_blank'>lateral horn</a> of the <a href='https://en.wikipedia.org/wiki/Drosophila_melanogaster' target='_blank'>vinegar fly</a> brain. In short, the lateral horn is a brain area in the insect that is thought to help generate innate behaviours in response to different odours.
Here in our atlas you can browse through all the known cell types that constitute the Drosophilid lateral horn, in 2D here or 3D in the <b><strong>data viewer</strong></b>, as introduced by <a href='https://www.biorxiv.org/content/early/2018/06/05/336982' target='_blank'>Frechter et al. 2018</a>.
Neurons of the lateral horn are named by a hierarchical classification system. They are each classified into a <b><strong>primary neurite cluster</strong></b>, <b><strong>anatomy group</strong></b>
and finally <b><strong>cell type</strong></b>. See the <b><strong>naming system</strong></b> tab for details. The <b><strong>data viewer</strong></b> tab lets you display these morphologies in 3D, access data on neurons' odour responses and
search for specific split-GAL4 lines from <a href='https://www.biorxiv.org/content/early/2018/09/12/404277' target='_blank'>Dolan et al. 2018</a>."),
shiny::br(),
shiny::br(),
shiny::HTML("The data presented on this site originate primarily from five different sources cited in our <strog>about</strong></b> section.
<b><strong>Split-GAL4</strong></b> lines found here can be searched and ordered from <a href='http://splitgal4.janelia.org/cgi-bin/splitgal4.cgi' target='_blank'>here</a>."),
shiny::br(),
shiny::br(),
shiny::HTML("Below, you can click on the primary neurite clusters below to see their constituent anatomy groups and cell types. You can also choose to view the split-GAL4 line collection for
sparse lateral horn driver lines collected by <a href='https://www.biorxiv.org/content/early/2018/09/12/404277' target='_blank'>Dolan et al. 2018</a>."),
shiny::br(),
shiny::hr(),
shiny::selectInput(inputId='AtlasContent', label='dataset:', choices = c("neuron skeletons","split-GAL4 lines"), selected = "neuron skeletons", multiple=FALSE, selectize=FALSE),
conditionalPanel(condition="input.AtlasContent =='neuron skeletons'",
tabsetPanel(type = "tabs",
tabPanel("lateral horn neurons",
fluidRow(
lapply(1:length(pnt_lhns), function(i) {
column(3,tags$button(
id = pnt_lhns[i],
class = "btn action-button",
tags$img(src = PNT_images[grepl(paste0(pnt_lhns[i],"_"),PNT_images)][1],height = "100%",width="600px")
))
})
),
#tags$head(tags$style(".modal-dialog{ width:923px}")), # Will this affect modals elsewhere in the app?
#tags$head(tags$style(".modal-body{ height:600px}")),
tags$head(tags$style(HTML('.modal-lg { width: 1100px;'))),
tags$head(tags$style(HTML('.modal-lg { height: 750px;'))),
#includeCSS("loader.css"), # Load spinny waiting wheel
lapply(1:length(pnt_lhns), function(i) {
shinyBS::bsModal(id = paste0("AG_modal_",pnt_lhns[i]), title = pnt_lhns[i], trigger = pnt_lhns[i], size = "large",
#shiny::HTML("<div class='loader' style='position: absolute; left: 400px; top: 420px; z-index: 0;'>Loading...</div>"),
#shiny::HTML("<div style='position: absolute; left: 220px; top: 350px; z-index: 0; text-align: center; width: 400px; font-size: 30px;'>Loading...</div>"),
shiny::div(slickR::slickROutput(paste0("Carousel",pnt_lhns[i]), width = 1000, height = 534),align="center"),
br(),
br(),
p("These are all the lateral horn neuron ",strong("anatomy groups")," in",pnt_lhns[i]," primary neurite cluster. Below, you can see individual", strong("cell types"),align = "center"),
br(),
br(),
lapply(1:length(CT_images[grepl(paste0(pnt_lhns[i],"[a-z]"),CT_images)]), function(j) {
shiny::div(style=paste0("display:§inline-block; position: absolute; left: 10px; top: ",750+((j-1)*650),"px ; z-index: -10000; "),
tags$button(
id = paste0(i,"_",j),
class = "btn action-button",
#imageOutput(paste0("see:",CT_images[grepl(paste0(pnt_lhns[i],"[a-z]"),CT_images)][j]))
tags$img(src = CT_images[grepl(paste0(pnt_lhns[i],"[a-z]"),CT_images)][j],height = "648px",width="1000px")
),
align = "center"
)
})
)
})
),
tabPanel("projection neurons",
shiny::br(),
shiny::HTML("Images with an orange background depict all projection neurons of a modality, in grey all neurons of a tract, and in white individual anatomy groups. If images do not appear, click on the lateral horn tab and back again (an issue with some browsers)."),
shiny::br(),
shiny::br(),
shiny::fluidRow(
column(3,
shinyWidgets::awesomeRadio("PNmodality", label = "presumptive modality/role",choices = list("all" = "all", "Olfactory" = "Olfactory_", "Gustatory" = "Gustatory_", "Mechanosensory" = "Mechanosensation", "Neuromodulatory" = "Neuromodulatory","Thermo/hygrosensory" = "Thermosensory", "Olfactory+Gustatory" = "Olfactory+Gustatory", "Unknown" = "Unknown"), selected = "Olfactory_", status = "warning")
),
column(3,
shinyWidgets::awesomeRadio("PNneuropil", label = "dendritic neuropil",choices = list("all" = "all", "Antennal lobe" = "AL", "Wedge" = "WED","Mushroom body" = "MB", "Gnathal ganglion", "Anterior ventro-lateral protocerebrum" = "AVLP", "Central protocerebral neuropils" = "Centrifugal|MB", "Unknown" = "Unknown"), selected = "all", status = "warning")
),
column(3,
shinyWidgets::awesomeRadio("PNtract", label = "axon tract",choices = list("all" = "all", "Medial antennal lobe tract (mALT)" = "mALT", "Medio-laterla antennal lobe tract (mlALT)" = "mlALT","Lateral antennal lobe tract (lALT)" = "lALT", "Transverse antennal lobe tract (tALT)" = "tALT", "Transverse antennal lobe tract 3 (t3ALT)" = "t3ALT", "Tract from WEDGE (WEDT)" = "WEDT", "From mushroom body" = "From_MB", "From lateral protocerebrum (LPT)" = "LPT", "Brain midline tract (central)" = "Central", "From central brain" = "Centrifugal", "Uncertain" = "Uncertain"), selected = "all", status = "warning")
)
),
shiny::br(),
shiny::uiOutput("PNGrid")
)
)
),
conditionalPanel(condition="input.AtlasContent =='split-GAL4 lines'",
shiny::fluidRow(
column(3,
shinyWidgets::awesomeRadio("splittype", label = "type",choices = list("all" = "all", "LH output neurons" = "ON", "LH local neurons" = "LN", "LH input neurons" = "IN"), selected = "all", status = "warning")
),
column(3,
shinyWidgets::awesomeRadio("splitNT", label = "transmitter",choices = list("all" = "all", "Acetylcholine" = "ChA", "GABA" = "GABA", "Glutamate" = "Vglut", "Unknown" = "Unknown"), selected = "all", status = "warning")
)
),
shiny::br(),
shiny::uiOutput("imageGrid")
),
shiny::hr()
),
###################
# View LHN library #
###################
tabPanel("data viewer",
includeCSS("errors.css"),
shinyURL.ui(display=F),
sidebarLayout(
sidebarPanel(
h2("lateral horn library"),
icon(">>"), # We seem to need this line for the question bubbles to appear, for some reason?
shiny::HTML("Enter the instinct centre of the vinegar fly, <i>Drosophila melanogaster</i>"),
hr(),
selectInput(inputId='SkeletonType', label='dataset:'%>%label.help("lbl_ds"), choices = sort(unique(all.lh.neurons[,"skeleton.type"])), selected = sort(unique(all.lh.neurons[,"skeleton.type"])), multiple=TRUE, selectize=TRUE),
hr(),
selectInput(inputId='Type', label='neuron type:'%>%label.help("lbl_nt"), choices = list(`example (FlyCircuit PD2a1)`="example",`LH neurons`= "LHN",`LH ouput neurons only`= "ON",`LH local neurons only`= "LN",`LH input neurons`= "IN", `MBONs`= "MBON"), selected = list(`example (PD2a1)`="example"), multiple=FALSE, selectize=TRUE),
hr(),
conditionalPanel(condition="input.Type =='LN'||input.Type =='ON'|input.Type =='LHN'", # Why does this sometimes work and sometimes not?
h5("Select specific cell types"),
uiOutput("LHNselection"),
hr()
),
conditionalPanel(condition="input.Type =='LN'||input.Type =='ON'|input.Type =='LHN'",
h5("OR search groups of lateral horn neurons"),
uiOutput("PNTselection"),
uiOutput("AGselection"),
uiOutput("CTselection"),
hr()
),
conditionalPanel(condition="input.Type =='MBON'",
h5("OR search mushroom body output neurons"),
uiOutput("MBONselection"),
hr()
),
conditionalPanel(condition="input.Type =='IN'",
h5("OR search projection neurons"),
uiOutput("PNtype"),
uiOutput("PNselection"),
hr()
),
# Refresh button
div(style="display:inline-block",actionButton("Append","append selected neurons")),
div(style="display:inline-block",actionButton("Clear","clear selection")),
hr(),
# Choose to show brain sub-volumes
selectInput(inputId='neuropils', label= 'see neuropils:'%>%label.help("lbl_ns"), choices = c("all neuropils",sort(FCWBNP.surf$RegionList)), selected = "LH_R", multiple=TRUE, selectize=TRUE),
shiny::br(),
shinyWidgets::awesomeCheckbox(inputId="BrainMesh", label = "see brain mesh"%>%label.help("lbl_bm"),value=TRUE,status="warning"),
shiny::br(),
# Choose which primary neurite tracts to plot
strong("see primary neurite tracts: "%>%label.help("lbl_pnts")),
br(),
lapply(1:length(pnt_lhns), function(i){
div(style="display:inline-block",shinyWidgets::awesomeCheckbox(inputId=paste0("PNT",pnt_lhns[i]), value=FALSE, label = pnt_lhns[i], status = "warning"))
}), # Individual PNT toggle on and off not working well. Discontinued.
shiny::br(),
shinyWidgets::awesomeCheckbox(inputId="SeePNTs", label = "see primary neurite tracts"%>%label.help("lbl_pnts"),value=FALSE,status="warning"),
shiny::hr(),
# Help text
bsTooltip(id = "lbl_nt", title = "the broadest category for LH neurons", placement = "right", trigger = "hover"),
bsTooltip(id = "lbl_pnt", title = "tracts connect soma to neuropil", placement = "right", trigger = "hover"),
bsTooltip(id = "lbl_ns", title = "neuropils as defined in Ito et al. 2014", placement = "right", trigger = "hover"),
bsTooltip(id = "lbl_ds", title = "the dataset in which to search for neuron skeletons", placement = "right", trigger = "hover"),
bsTooltip(id = "lbl_bm", title = "FCWB brain mesh made from FlyCircuit data", placement = "right", trigger = "hover"),
actionButton("Upload","upload tracing / CATMAID pull"),
shiny::hr(),
actionButton("DownloadAll","download all data")
),
# Show a plot of the brain
mainPanel(
includeCSS("loader.css"), # Load spinny waiting wheel
shiny::HTML("<div class='loader' style='position: absolute; left: 450px; top: 420px; z-index: -10000;'>Loading...</div>"),
shiny::HTML("<div style='position: absolute; left: 220px; top: 400px; z-index: -10000; text-align: center; width: 400px; font-size: 30px;'>Loading...</div>"),
# Output: Tabset
tabsetPanel(type = "tabs",
tabPanel("3D",
rgl::playwidgetOutput("braintoggle"),
rgl::playwidgetOutput("neurontoggle"),
# lapply(pnt_lhns, function(pnt){
# rgl::playwidgetOutput(paste0(pnt,"toggle"))
# }), # Individual PNT toggle on and off not working well. Discontinued.
rgl::rglwidgetOutput("plot3D", width="1200px", height="700px"),
shinyWidgets::switchInput(
inputId = "Hide",
label = "highlighted",
offLabel = "hide",
onLabel = "show",
labelWidth = "200px",
value = FALSE,
onStatus = "warning",
offStatus = "danger"
),
uiOutput("MainTable")
),
tabPanel("odour responses",
br(),
uiOutput("ChooseCTs"),
shinyWidgets::awesomeCheckbox(inputId="CTmean", value=TRUE, label ="use cell type means",status="warning"),
hr(),
plotly::plotlyOutput("Ephys"),
shiny::br(),
shiny::hr(),
shiny::HTML("<i>smoothed number of spikes in the 500 ms window after odour stimulation period shown.
See <a href='https://www.biorxiv.org/content/early/2018/06/05/336982' target='_blank'>Frechter et al. 2018</a> for details.</i>"),
shiny::hr()
),
tabPanel("odour search",
br(),
uiOutput("ChooseOdours"),
shiny::bootstrapPage(
div(style="display:inline-block",shinyWidgets::awesomeCheckbox(inputId="OdourMean", value= FALSE, label ="use mean of chosen odours",status = "warning")),
div(style="display:inline-block",shinyWidgets::awesomeCheckbox(inputId="OdourCTMean", value= TRUE, label ="use mean of cell types", status = "warning"))
),
hr(),
plotly::plotlyOutput("OdoursResponses"),
shiny::br(),
shiny::hr(),
shiny::HTML("<i>smoothed number of spikes in the 500 ms window after odour stimulation period shown.
See <a href='https://www.biorxiv.org/content/early/2018/06/05/336982' target='_blank'>Frechter et al. 2018</a> for details.</i>"),
shiny::hr()
),
tabPanel("split-GAL4 lines",
shiny::br(),
uiOutput("LineCTs"),
uiOutput("LineCode"),
shiny::hr(),
actionButton("BACKline",NULL,icon=icon("angle-left"),lib="font-awesome"),
actionButton("NEXTline",NULL,icon =icon("angle-right",lib="font-awesome")),
shiny::br(),
shiny::br(),
tabsetPanel(type = "tabs",
tabPanel("brain", imageOutput("MaximalProjection")),
tabPanel("VNC", imageOutput("VNCMaximalProjection"))
),
shiny::hr()
),
tabPanel("uniglomerular PN info",
shiny::br(),
shiny::tableOutput('PNINFO'),
tags$head(tags$style("#PNINFO table {background-color: white; }", media="screen", type="text/css")),
shiny::hr(),
shiny::HTML("<i>Information in table primarily collated by Paavo Huoviala and Marta Costa</i>"),
shiny::br(),
shiny::hr()
),
tabPanel("uniglomerular PN responses",
shiny::br(),
plotly::plotlyOutput("PNCalicumResponses", width = "100%", height = "1000px"),
shiny::br(),
shiny::hr(),
shiny::HTML("<i>Data from a Ca2+ imaging study of PN dendrites in the line <b><strong>NP225-Gal4</strong></b> <a href='https://www.ncbi.nlm.nih.gov/pubmed/27321924' target='_blank'>(Badel et al. 2017)</a>.</i>"),
shiny::br(),
shiny::hr()
),
tabPanel("predicted connectivity",
plotly::plotlyOutput("Overlap", width = "100%", height = "1000px"),
shiny::br(),
shiny::hr(),
shiny::HTML("<i>Predicted connectivity is based on an overlap score between PN axons and LH dendrite (see Methods in <a href='https://www.biorxiv.org/content/early/2018/06/05/336982' target='_blank'>Frechter et al. 2018</a>). This matrix has been averaged across cell types and
normalised so that 1 represents a likely strong connection and 0 represents no chance for connectivity.</i>"),
shiny::br(),
shiny::hr()
),
tabPanel("functional connectivity",
shiny::br(),
plotly::plotlyOutput("Jeanne", width = "100%", height = "1000px"),
shiny::br(),
shiny::hr(),
shiny::HTML("<i>Data from a study in which lateral horn neurons voltage responses to GH146 glomerular photostimulation were measured (see <a href='https://www.ncbi.nlm.nih.gov/pubmed/29909998' target='_blank'>Jeanne, Fişek et al. 2018</a>). The rows of this matrix are clustered by the morphological similarity of their dyefills, as assessed by <a href='https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4961245/' target='_blank'>NBLAST</a>, and the columns by the values in this matrix.</i>"),
shiny::br(),
shiny::hr()
)
)
)
)
),
##################
# NBLast neurons #
##################
tabPanel("NBLAST",
sidebarLayout(
sidebarPanel(
shiny::h2("NBLAST against the LH library"),
shiny::HTML("Want to know what cell type your neuron belongs to? Or find a genetic line for it?
Choose a neuron from our library or a neuron you have uploaded and <a href='https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4961245/' target='_blank'>NBLAST</a> it against our library.
If the checkbox below is ticked, both forwards and reverse scores will be calculated, normalised and averaged,
rather than just using the forwards score. The query neuron will be <b><span style='color: black;'>plotted in black</span></b>
in the 3D viewer to the right, alongside the top 10 hits (rainbow coloured from <span style='color: #F21A00;'>red = best</span> to <span style='color: #3B9AB2;'>cyan = worst</span>)."),
shiny::HTML("See what the scores mean <a href='http://flybrain.mrc-lmb.cam.ac.uk/si/nblast/www/how/' target='_blank'>here</a>"),
shiny::br(),
shiny::br(),
shiny::HTML("<b><span style='color: #F21A00;'>To NBLAST neurons they must be in the neuron selection table, in the data viewer tab</span></b>"),
shiny::br(),
shiny::br(),
uiOutput("NBLASTselection"), # Problematic?
shiny::HTML("<i>If multiple neurons are chosen, NBLAST scores will be averaged across these neurons. I.e. they will be treated as one amalgamated neuron</i><br /><br />"),
shinyWidgets::sliderTextInput(inputId = "NumHits",label = "no. hits to visualise:", choices = c(1:100), grid = TRUE, selected = 10),
shinyWidgets::awesomeCheckbox(inputId="UseMean", label="Use mean scores", value= TRUE,status="warning"),
shiny::HTML("<i>Using the mean score is useful for finding exact matches, i.e. one in which the target is a good hit for the query and the query is a good hit for the target too.
This is particularly useful for clustering neurons into types, rather than,
for example, just finding neurons that go through the same tract but branch off differently.</i><br /><br />"),
shinyWidgets::awesomeCheckbox(inputId="NBLASTBrainMesh", label = "see brain mesh"%>%label.help("lbl_bm"),value=TRUE,status="warning"),
actionButton("NBLASTGO","NBLAST")
),
mainPanel(
h2("3D view"),
includeCSS("loader.css"),
shiny::HTML("<div class='loader' style='position: absolute; left: 400px; top: 300px; z-index: -10000;'>Loading...</div>"),
shiny::HTML("<div style='position: absolute; left: 220px; top: 270px; z-index: -10000; text-align: center; width: 400px; font-size: 30px;'>Loading...</div>"),
rgl::playwidgetOutput("NBLASTbraintoggle"),
rgl::playwidgetOutput("NBLASTneurontoggle"),
rgl::rglwidgetOutput("NBLAST_View3D", width="1200px", height="700px"),
conditionalPanel(condition = "output.tracing_nblast_complete",
h3("Score distribution"),
plotOutput("NBLAST_results_plot"),
h2("NBLAST results"),
shinyWidgets::switchInput(
inputId = "NBLASTHIDE",
label = "highlighted",
offLabel = "hide",
onLabel = "show",
labelWidth = "200px",
value = FALSE,
onStatus = "warning",
offStatus = "danger"
),
shiny::uiOutput("NBLAST_MainTable"),
shiny::br(),
shiny::downloadButton('NBLAST_results_download', 'Download all scores as CSV')
)
)
)
),
####################
# LH Naming System #
####################
tabPanel("naming system",
shiny::fluidPage(
shiny::h3("a hierarchical classification system for neurons of the lateral horn", align = "left"),
shiny::br(),
shiny::br(),
shiny::HTML("In order to talk about something, you need to name it. Distilling the brain into its constituent cell types is an important step in not only reducing the dimensionality
of the brain's circuitry into more understandable units but also communicating dicoveries in circuit neuroscience efficiently and <a href='https://en.wikipedia.org/wiki/Celestial_Emporium_of_Benevolent_Knowledge' target='_blank'>comprehensibly</a>, enabling us to identify the same units across studies.
The lateral horn is a complex neuropil consisting of more than 1300 neurons with diverse morphologies but lacking anatomical landmarks by which to categorise neurons,
such as the glomeruli of the antennal lobe and the compartments of the mushrooom body. An <a href='https://www.ncbi.nlm.nih.gov/pubmed/28334573' target='_blank'>elegant definition</a> of cell type comprises something about a neuron's origins, structure and function."),
shiny::br(),
shiny::br(),
shiny::HTML("Neurons with dendrite in the lateral horn are named by a hierarchical classification system introduced in <a href='https://www.biorxiv.org/content/early/2018/06/05/336982' target='_blank'>Frechter et al. 2018</a>.
This system uses three different features of increasing neuroanatomical detail to categorise neurons: <b><strong>primary neurite cluster</strong></b>, <b><strong>anatomy group</strong></b>
and finally <b><strong>cell type</strong></b>. Unlike with mammalian neurons, insect neurons' somata exist outside of the neuropil (the brain mesh of axons and dendrites).
The primary neurite tract is the region of the neuron separating the soma from the rest of the cell’s axons and dendrites. In the insect brain,
neurons of the same cell type always enter the neuropil via the same primary neurite tract. We chose primary neurite tract as the highest order discriminating factor because each neuron
has just one soma and primary neurite tract and because it groups functionally related neurons e.g. those with common neurotransmitters or similar axonal projections.
"),
shiny::br(),
shiny::br(),
shiny::fluidRow(
column(6,
shiny::HTML("To classify a neuron into a cell type, we identify the: <b><strong>(1)</strong></b> primary neurite tract: the tract connecting the soma to the rest of the neuron, Frechter et al. identified 31 primary neurite tracts, named by their relationship with the LH, e.g. Posterior Ventral tract five or PV5.
Next, we use a neuron morphological similarity algorithm NBlAST <a href='https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4961245/' target='_blank'>(Costa et al. 2016)</a> <b><strong>(2)</strong></b> anatomy group: neurons of the same anatomy group share a common axon tract and have broadly similar arborisations in the lateral horn and their target areas, and
<b><strong>(3)</strong></b> cell type, this is the finest level – the only difference between cell types of the same anatomy group are reproducible differences in axonal or dendritic arborisation patterns that likely reflect specific differences in connectivity.
These anatomical cell types are likely the functional units of the lateral horn, and neurons of a type have been shown to respond similarly <a href='https://www.biorxiv.org/content/early/2018/06/05/336982' target='_blank'>(Frechter et al. 2018)</a> and
morphological similar neurons exhibit similar - though not exactly the same - structural <a href='https://www.biorxiv.org/content/early/2017/08/29/167312' target='_blank'>(Dolan, Ghislain Belliart-Guerin et al. 2018)</a> and functional connectivity
<a href='https://www.ncbi.nlm.nih.gov/pubmed/29909998' target='_blank'>(Fişek et al. 2014;</a> <a href='https://www.ncbi.nlm.nih.gov/pubmed/29909998' target='_blank'>Jeanne, Fişek et al. 2018)</a>.
As such our definition of cell type likely reflects both the developmental origin of the neuron in question, its connectivity and its current function."),
shiny::br(),
shiny::br(),
shiny::HTML("To the side is a summary schematic for the nomenclature system used to define lateral horn anatomy groups and cell types. It illustrates the hierarchical steps of our naming scheme using three PV5 lateral horn output neurons as an example.
First the primary neurite tract was identified (left panel, in this case PV5). This is the region of the neuron that connects the soma to axon and dendrite. Next the coarse zones of projection are determined and used to classify the anatomy group
(middle panel, PV5b projects to area 1 while PV5a projects to area 2). This can often be done with registered images of full GAL4 or split-GAL4 expression patterns. Finally, fine anatomical differences are determined (right panel, both PV5b1 and PV5b2 project to Area 1 while PV5a1 projects to area 1)
This often necessitates morphological clustering using single cell data."),
shiny::br(),
shiny::br(),
shiny::HTML("We have also classified projection neurons to the lateral horn i.e. the major inputs to lateral horn neurons.
We divided LH inputs into functional categories based on the sensory modality inferred from their dendritic neuropil and named them by
extending the naming system of <a href='https://www.ncbi.nlm.nih.gov/pubmed/22592945' target='_blank'>Tanaka et al. (2012)</a>."),
shiny::br(),
shiny::br(),
shiny::HTML("Below are the results from our attempts to find and quantify the number of neurons in the major LH-bound primary neurite tracts - which had originally been defined
at the level of light microscopy - using a recent whole brain dataset for the adult female fly brain gathered by <a href='https://en.wikipedia.org/wiki/Transmission_electron_microscopy' target='_blank'>electron microscopy</a> <a href='https://www.ncbi.nlm.nih.gov/pubmed/30033368' target='_blank'>(Zheng et al. 2018)</a>.
(Names with an X indicate 'new' tracts that were in the electron micrographs and found to run approximately parallel with tracts we had identified at light-level, and so in terms of nomenclature neurons therein have stayed as part of the same primary neuritr cluster.)")
),
column(6,
img(src='LHN_naming_cartoon.png', width="738px", height="621px", align = "center")
)
),
shiny::br(),
shiny::br(),
shiny::tableOutput('TRACTS'),
shiny::br(),
shiny::br(),
shiny::HTML("<i>Text based on Frechter et al. 2018 and Dolan et al. 2018</i>"),
shiny::hr()
)
),
####################
# The lateral horn #
####################
tabPanel("the lateral horn",
shiny::fluidPage(
shiny::div(img(src='fly_olfactory_system.png', width="1074px", height="907px"),align="center"),
shiny::br(),
shiny::br(),
shiny::br(),
shiny::br(),
shiny::h3("about the lateral horn of Drosophila melanogaster", align = "left"),
shiny::br(),
shiny::br(),
shiny::fluidRow(
column(5,
shiny::HTML("<i>The lateral horn of the fly is thought to be an insinct processing center, the <a href='http://flybrain.mrc-lmb.cam.ac.uk/jefferislabwebsite/' target='_blank'>Jefferis group</a> are interested in
the statistics of connectivity and convergence between its constituent neurons and how it helps mount
behavioural responses to innate, potentially multi-modal stimuli in the face of the fly's ever changing environment.</i>"),
shiny::br(),
shiny::br(),
shiny::HTML("Animal behaviour emerges from structure, wiring biases and activity in the nervous
system. These structures and biases can broadly be thought of as having emerged from
random, genetically determined and learned processes. This means that valences are
ascribed to stimuli in both an experience-independent, and an experience-dependent
manner. Coarse neuroanatomical work has generally shown that nervous systems
parallelise sensory processing between neural circuits for innate and learned behaviour,
although the view that these streams are completely separate has been challenged <a href='https://www.biorxiv.org/content/early/2017/08/29/167312' target='_blank'>(Dolan, Ghislain Belliart-Guerin et al. 2018)</a>
and at some point these two streams must be integrated <a href='https://www.ncbi.nlm.nih.gov/pubmed/27871975' target='_blank'>(Schultzhaus et al. 2017)</a>."),
shiny::br(),
shiny::br(),
shiny::HTML("This is true of the olfactory system. Olfactory processing has been of interest to those studying neural circuits since the
inception of the field. This is because olfaction is not only a shallow sensory system, in
contrast to vision, but also provides a means by which to elicit a complex array of
behaviours with a wide palette of stimuli, in which even subtle changes in chemical
composition can generate very different behavioural effects. This has raised interesting
questions concerning olfactory perception and discrimination, but has also made the
circuit level study of instinct and memory more tractable."),
shiny::br(),
shiny::br(),
shiny::HTML("Owing to the relative simplicity of their neural circuits, the olfactory systems of insects
have been well exploited in order to elucidate general principles of sensory processing.
Olfactory receptor neurons in peripheral organs (i.e. the antennae and maxillary palps)
of the arthropod provide (<b><strong>ORNs</strong></b>) an interface between the central nervous system and the
environment. Volatile molecules engage seven-transmembrane olfactory receptors on
these olfactory receptor neurons, each olfactory receptor neuron expressing on average
one of fifty olfactory receptors in the case of the most well studied system, that of the
adult fruit fly <i>Drosophila melanogaster</i> <a href='https://www.ncbi.nlm.nih.gov/pubmed/16139208' target='_blank'>(Couto et al. 2005;</a> <a href='https://www.ncbi.nlm.nih.gov/pubmed/16332533' target='_blank'>Fishilevich et al. 2005)</a>.
olfactory receptor neurons project into the antennal lobe in the central brain, where they
form a highly stereotyped glomerular olfactory map. Second order projection neurons
(<b><strong>PNs</strong></b>), that are either uniglomerular (uniglomerular PNs), or sample multiple glomeruli
as well as areas of gustatory information input (multiglomerular PNs), proceed to largely
target just two neuroanatomical areas, the Kenyon cells (<b><strong>KCs</strong></b>) of the mushroom body (<b><strong>MB</strong></b>) and the
lateral horn (<b><strong>LH</strong></b>) of the protocerebrum <a href='https://www.ncbi.nlm.nih.gov/pubmed/17382886' target='_blank'>(Jefferis et al. 2007;</a> <a href='https://www.ncbi.nlm.nih.gov/pubmed/12007410/' target='_blank'>Marin et al. 2002;</a>
<a href='https://www.ncbi.nlm.nih.gov/pubmed/12007409' target='_blank'>Wong et al. 2002;</a> <a href='https://www.ncbi.nlm.nih.gov/pubmed/22592945' target='_blank'>Tanaka et al. 2012)</a>. It has been suggested that these two sites, the LH and the mushroom body, represent
parallel pathways for not only olfactory, but gustatory, visual, mechanosensory, and
thermosensory processing <a href='https://www.biorxiv.org/content/early/2018/06/05/336982' target='_blank'>(Frechter et al. 2018)</a>. Ablation of the mushroom body yields a deficit in olfactory
learning but not in innate responses to olfactory stimuli <a href='https://www.ncbi.nlm.nih.gov/pubmed/8303280' target='_blank'>(de Belle and Heisenberg,
1994;</a> <a href='https://www.ncbi.nlm.nih.gov/pubmed/12210097' target='_blank'>Kido and Ito, 2002)</a>, and transgenic expression of tetanus toxin in PNs that
directly target the mushroom body and directly and indirectly target the LH produces a
deficit in innate courtship behaviour <a href='https://www.ncbi.nlm.nih.gov/m/pubmed/11742061/' target='_blank'>(Heimbeck et al. 2001)</a>."),
shiny::br(),
shiny::br(),
shiny::HTML("Despite receiving similar projections from the antennal lobe, the MB and the LH exhibit very different connectivity rules.
In the MB, sparse, random connectivity with KCs <a href='https://www.ncbi.nlm.nih.gov/pubmed/23615618' target='_blank'>(Caron et al. 2013;</a>
<a href='https://www.ncbi.nlm.nih.gov/pubmed/28796202' target='_blank'>Eichler et al. 2017;</a> <a href='https://www.ncbi.nlm.nih.gov/pubmed/24141312' target='_blank'>Gruntman and Turner 2013)</a>, with each KC receiving pooling an average of 5 PNs, each of which connecting to many other KCs <a href='https://www.ncbi.nlm.nih.gov/pubmed/23615618' target='_blank'>(Caron et al. 2013)</a>.
The KCs themselves only consist of ~2000 individual cells <a href='https://www.ncbi.nlm.nih.gov/pubmed/19706282' target='_blank'>(Masse et al. 2009)</a> split into only three canonical cell types (gamma, alpha'/beta', alpha/beta) synapse upon only ~22 mushroom body output neuron (<b><strong>MBON</strong></b>) cell types consisting of just ~35 individual cells
<a href='https://www.ncbi.nlm.nih.gov/pubmed/25535793'(Aso et al.2014;</a> <a href='https://www.ncbi.nlm.nih.gov/pubmed/28718765' target='_blank'>Takemura et al. 2017)</a>.
It is thought that memories are stored in the KC->MBON connection weight which can be depressed by dopaminergic inputs.
Combined with local inhibition <a href='https://www.ncbi.nlm.nih.gov/pubmed/24561998' target='_blank'>(Lin et al. 2014)</a>, this set up means that memories have a sparse KC representation <a href='https://www.ncbi.nlm.nih.gov/pubmed/12130775' target='_blank'>(Perez-Orive et al. 2002)</a> which helps to minimise conflict between memory representations.
In stark contrast, it seems that LH neurons exhibit stereotyped functional connectivity across animals <a href='https://www.ncbi.nlm.nih.gov/pubmed/29909998' target='_blank'>(Fişek et al. 2014;</a> <a href='https://www.ncbi.nlm.nih.gov/pubmed/29909998' target='_blank'>Jeanne, Fişek et al. 2018)</a>
and structural connectivity within a cell type in the same animal <a href='https://www.biorxiv.org/content/early/2017/08/29/167312' target='_blank'>(Dolan, Ghislain Belliart-Guerin et al. 2018)</a>. LH neuron responses to dours can be explained as a linear summation
of their PN inputs <a href='https://www.ncbi.nlm.nih.gov/pubmed/29909998' target='_blank'>(Fişek et al. 2014)</a> and neurons of similar morphology that share a primary neurite tract (see <b><strong>naming</strong></b> tab) respond similarly <a href='https://www.biorxiv.org/content/early/2018/06/05/336982' target='_blank'>(Frechter et al. 2018)</a>.
In contrast to KCs they comprise likely more than ~1390 neurons dividing into ~250 cell types of which ~150 have most of their dendrite within the LH ('core LH' neurons) <a href='https://www.biorxiv.org/content/early/2018/06/05/336982' target='_blank'>(Frechter et al. 2018)</a>.
This means that the actual number of KCs and LH neurons is similar, but the diversity of LH neurons is far greater than their MB counterparts, including MBONs.
In other words, olfactory second->third order neuron divergence in the MB is ~1:15 in terms of cell number, but leads to a 9:1 reduction in dimensionality in terms of MBON putput.
In the LH, divergence is ~1:9 in terms of cell numbers but ~1:1 in terms of core LH output cell types."),
shiny::br(),
shiny::br(),
shiny::HTML("Part of the reason why the LH is relatively ill-understood as compared with the
mushroom body is that its anatomical structure is less clear, and has proven less
targetable by genetic techniques than the more distinctive mushroom bodies.
To this end, we have produced a set of genetic reagents to target the lateral horn <a href='https://www.biorxiv.org/content/early/2018/09/12/404277' target='_blank'>(Dolan et al. 2018)</a>.
However, in order to resolve outstanding questions about its function, its structure in terms of
circuit logic needs to be fully understood, and this will require high-resolution, synaptic level reconstruction of LH circuitry.
The large number of KCs enables sparse odor coding, which is proposed to avoid synaptic interference during memory formation.
Why should the lateral horn also have such a large number of neurons and cell types?"),
shiny::br(),
shiny::br(),
shiny::HTML("<i>Diagram by Philipp Schlegel</i>")
),
column(7,
shiny::div(shiny::img(src='neuroanatomy.png', width="738px", height="434px"),align="center"),
shiny::br(),
shiny::br(),
shiny::h4("a lateral horn output neuron - PV5a1"),
shiny::div(shiny::img(src='LHON_3A_PV5a.png', width="412px", height="295px"),align="center"),
shiny::br(),
shiny::br(),
shiny::h4("a lateral horn local neuron - PV5a1"),
shiny::div(shiny::img(src='LHLN_1D_AV4a1.png', width="308px", height="267px"),align="center"),
shiny::br(),
shiny::br(),
shiny::h4("a lateral horn input neuron - WED-PN1"),
shiny::div(shiny::img(src='LHPN_70C_WED-PN1.png', width="504px", height="621px"),align="center"),
shiny::br(),
shiny::br(),
shiny::HTML("<i>Black, DA1 PN. Coloured neuron are reconstructions from electron microscopy, purple - primary neurite tract,
blue - dendrite, orange - axon, green - intervening cable, cyan - input synapses, red - output synapses.</i>")
)
),
shiny::hr(),
shiny::HTML("")
)
),
#########
# About #
#########
tabPanel("about",
h3("Purpose"),
shiny::HTML("Olfactory information in <i>Drosophila melanogaster</i> may be processed by as few as three synapses before engaging motor programmes. Previous research has largely focused on the more superficial components of this shallow system.
In the the <a href='http://flybrain.mrc-lmb.cam.ac.uk/jefferislabwebsite/' target='_blank'> Jefferis group</a> at the <a href='https://www2.mrc-lmb.cam.ac.uk/' target='_blank'>MRC LMB</a> in Cambridge, UK, we aim to describe the internal circuitry of the lateral horn (LH), the insect analogue of the mammalian cortical amygdala.
This web app accompanies two publications, <a href='https://www.biorxiv.org/content/early/2018/06/05/336982' target='_blank'>Frechter et al. 2018</a> and <a href='https://www.biorxiv.org/content/early/2018/09/12/404277' target='_blank'>Dolan et al. 2018</a>,
and aims to bring together datasets that enrich our knowledge of cell types of the lateral horn."
),
shiny::br(),
shiny::br(),
shiny::br(),
shiny::div(shiny::HTML('<iframe src="https://www.youtube.com/embed/blFk1rGZLCU" width="840" height="630" frameborder="0" allowfullscreen> </iframe>'),align="center"),
h3("R tools"),
shiny::HTML("We have developed a <a href='https://github.com/jefferislab' target='_blank'>suite of tools in R</a> to enable users to work with morphological skeleton data for neurons.
Video demos showing how to use NBLAST and other related resources are available <a href='http://jefferislab.org/si/nblast/www/demos/' target='_blank'>here</a>.
You can also use NBLAST with data from <a href='http://www.flycircuit.tw/' target='_blank'>FlyCircuit</a> without needing to use R, through another R Shiny app, <a href='http://flybrain.mrc-lmb.cam.ac.uk/si/nblast/www/nblast_online/' target='_blank'>NBLAST-on-the-fly</a> by James Manton."),
shiny::br(),
shiny::br(),
shiny::br(),
shiny::div(shiny::HTML('<iframe src="https://www.youtube.com/embed/Ck0Fyefh4S0" width="840" height="630" frameborder="0" allowfullscreen> </iframe>'),align="center"),
h3("Source code"),
shiny::HTML("The full code for this web app can be downloaded from <a href='https://github.com/jefferislab' target='_blank'>GitHub</a>."),
h3("Preparing own data"),
shiny::HTML("Protocols for <a href='http://cshprotocols.cshlp.org/content/2013/4/pdb.prot071720.full' target='_blank'>immunostaining and imaging fly brains</a>, as well as <a href='http://cshprotocols.cshlp.org/content/2013/4/pdb.prot071738.full' target='_blank'>registration of the resulting images</a> are available from Cold Spring Harbor Protocols.
We recommend the use of <a href='http://fiji.sc/Simple_Neurite_Tracer' target='_blank'>Simple Neurite Tracer</a> for tracing neurons from the acquired images, detailed instructions for which are available from <a href='http://fiji.sc/Simple_Neurite_Tracer:_Step-By-Step_Instructions' target='_blank'>here</a>.
In order to see single cell morphologies in genetic lines that label multiple neurons per brain, <a href='https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4460454/' target='_blank'>MultiColor FlpOut (MCFO)</a> is recommended."),
h3("Split-GAL4 lines"),
shiny::HTML("Split-GAL4 lines found here can be searched and ordered from <a href='http://splitgal4.janelia.org/cgi-bin/splitgal4.cgi' target='_blank'>here</a>."),
h3("Data sources"),
shiny::br(),
shiny::HTML("<b><strong>1.</strong></b> Frechter, S., Bates, A.S., Tootoonian, S., Dolan, M.-J., Manton, J.D., Jamasb, A., Kohl, J., Bock, D., and Jefferis, G.S.X.E. (2018). Functional and Anatomical Specificity in a Higher Olfactory Centre. Biorxiv.
<i>[dye fills for LH morphologies and odour response data from whole-cell patch recordings of single, identified LH neurons]</i>"),
shiny::br(),
shiny::br(),
shiny::HTML("<b><strong>2.</strong></b> Dolan, M-J, Frechter, S., Bates, A.S., Dan, C., Huoviala, P., Roberts, R.J.V., Schlegel, P., Dhawan, S., Tabano, R., Dionne, H., Christoforou, C., Close, K., Sutcliffe, B., Giuliani, B., Feng, L., Costa, M., Ihrke, G., Meissner, G., Bock, D., Aso, Y., Rubin, G.M. and Jefferis, G.S.X.E. (2018). Functional and Anatomical Specificity in a Higher Olfactory Centre. Biorxiv.
<i>[split-GAL4 lines for lateral horn neurons, cell type segmentations from confical stack data and single cell <a href='https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4460454/' target='_blank'>MCFO</a> skeletons]</i>"),
shiny::br(),
shiny::br(),
shiny::HTML("<b><strong>3.</strong></b> Jeanne, J.M., Fişek, M., and Wilson, R.I. (2018). The Organization of Projections from Olfactory Glomeruli onto Higher-Order Neurons. Neuron.
<i>[some dye fill morphologies, paper reports functional olfactory PN->LH neuron connectivity]</i>"),
shiny::br(),
shiny::br(),
shiny::HTML("<b><strong>4.</strong></b> Chiang, A.-S., Lin, C.-Y., Chuang, C.-C., Chang, H.-M., Hsieh, C.-H., Yeh, C.-W., Shih, C.-T., Wu, J.-J., Wang, G.-T., Chen, Y.-C., et al. (2011). Three-dimensional reconstruction of brain-wide wiring networks in Drosophila at single-cell resolution. Curr. Biol.
<i>[over 16,000 single cell morphologies from <a href='https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4460454/' target='_blank'>MCFO</a>, increased number skeletons available from <a href='http://www.flycircuit.tw/' target='_blank'>FlyCircuit</a>]</i>"),
shiny::br(),
shiny::br(),
shiny::HTML("<b><strong>5.</strong></b> Badel, L., Ohta, K., Tsuchimoto, Y., and Kazama, H. (2016). Decoding of context-dependent olfactory behavior in Drosophila. Neuron.<i>
[Calcium imaging of PN dendrites in response to odours]</i>"),
shiny::br(),
shiny::br(),
shiny::HTML("<i>Note: You can cite this Web app by citing Frechter et al. and in addition the relevant publications from which the data you wish to mention originate, e.g. Chiang et al. 2011 for FlyCircuit skeletons.</i>"),
h3("Contact us"),
shiny::HTML("If you require more information about this work, please contact <a href='https://www.linkedin.com/in/alex-bates-22a265a7/' target='_blank'>Alex Bates</a> at <b><strong>ab2248[at]cam.ac.uk</strong></b> or <a href='https://www2.mrc-lmb.cam.ac.uk/group-leaders/h-to-m/gregory-jefferis/' target='_blank'>Gregory Jefferis</a> at <b><strong>jefferis[at]mrc-lmb.cam.ac.uk</strong></b>"
),
h3("Acknowledgements"),
shiny::HTML("This Shiny App was built by Alex Bates, in part based on code by <a href='http://flybrain.mrc-lmb.cam.ac.uk/si/nblast/www/nblast_online/' target='_blank'>James Manton</a>.
It relies on light-level data collected by Gregory Jefferis, Shahar Frechter, Michael-John Dolan (along with the FlyLight team at Janelia Research Campus), Ann-Shyn Chiang's group, Mehmet Fişek and Jamie Jeanne and collated by Alex Bates,
and EM data reconstructed primarily by Alex Bates, Ruairi Roberts, Philipp Schlegel and Gregory Jefferis using a nanoscale resolution dataset for a single adult female fly brain from the Bock group at Janelia Research Campus <a href='https://www.ncbi.nlm.nih.gov/pubmed/30033368' target='_blank'>(Zheng et al. 2018)</a>."
),
h3("On the horizon - an introduction to connectomic data"),
shiny::br(),
shiny::br(),
shiny::br(),
shiny::div(shiny::HTML('<iframe src="https://www.youtube.com/embed/S2yFegvbPfQ" width="840" height="630" frameborder="0" allowfullscreen> </iframe>'),align="center"),
shiny::hr()
),
#############
# Downloads #
#############
tabPanel("download",
h3("data"),
selectInput(inputId='DownloadAllType', label=NULL,
choices = c("all morphologies","all odour response data","predicted connectivity", "LH split line information", "Antennal lobe PN summary information", "LH cell type summary", "LHN NBlast scores"),
selected = "all morphologies", multiple=FALSE, selectize=TRUE),
downloadButton("DownloadAllData", "download"),
h3("R tools"),
shiny::HTML("We have developed a <a href='https://github.com/jefferislab' target='_blank'>suite of tools in R</a> to enable users to work with morphological skeleton data for neurons.
Video demos showing how to use NBLAST and other related resources are available <a href='http://jefferislab.org/si/nblast/www/demos/' target='_blank'>here</a>.
You can also use NBLAST with data from <a href='http://www.flycircuit.tw/' target='_blank'>FlyCircuit</a> without needing to use R, through another R Shiny app, <a href='http://flybrain.mrc-lmb.cam.ac.uk/si/nblast/www/nblast_online/' target='_blank'>NBLAST-on-the-fly</a> by James Manton."),
h3("Split-GAL4 lines"),
shiny::HTML("Split-GAL4 lines found here can be searched and ordered from <a href='http://splitgal4.janelia.org/cgi-bin/splitgal4.cgi' target='_blank'>here</a>."),
h3("Source code"),
shiny::HTML("The full code for this web app can be downloaded from <a href='https://github.com/jefferislab' target='_blank'>GitHub</a>."),
h3("Data sources"),
shiny::br(),
shiny::HTML("<b><strong>1.</strong></b> Frechter, S., Bates, A.S., Tootoonian, S., Dolan, M.-J., Manton, J.D., Jamasb, A., Kohl, J., Bock, D., and Jefferis, G.S.X.E. (2018). Functional and Anatomical Specificity in a Higher Olfactory Centre. Biorxiv.
<i>[dye fills for LH morphologies and odour response data from whole-cell patch recordings of single, identified LH neurons]</i>"),
shiny::br(),
shiny::br(),
shiny::HTML("<b><strong>2.</strong></b> Dolan, M-J, Frechter, S., Bates, A.S., Dan, C., Huoviala, P., Roberts, R.J.V., Schlegel, P., Dhawan, S., Tabano, R., Dionne, H., Christoforou, C., Close, K., Sutcliffe, B., Giuliani, B., Feng, L., Costa, M., Ihrke, G., Meissner, G., Bock, D., Aso, Y., Rubin, G.M. and Jefferis, G.S.X.E. (2018). Functional and Anatomical Specificity in a Higher Olfactory Centre. Biorxiv.
<i>[split-GAL4 lines for lateral horn neurons, cell type segmentations from confical stack data and single cell <a href='https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4460454/' target='_blank'>MCFO</a> skeletons]</i>"),
shiny::br(),
shiny::br(),
shiny::HTML("<b><strong>3.</strong></b> Jeanne, J.M., Fişek, M., and Wilson, R.I. (2018). The Organization of Projections from Olfactory Glomeruli onto Higher-Order Neurons. Neuron.
<i>[some dye fill morphologies, paper reports functional olfactory PN->LH neuron connectivity]</i>"),
shiny::br(),
shiny::br(),
shiny::HTML("<b><strong>4.</strong></b> Chiang, A.-S., Lin, C.-Y., Chuang, C.-C., Chang, H.-M., Hsieh, C.-H., Yeh, C.-W., Shih, C.-T., Wu, J.-J., Wang, G.-T., Chen, Y.-C., et al. (2011). Three-dimensional reconstruction of brain-wide wiring networks in Drosophila at single-cell resolution. Curr. Biol.
<i>[over 16,000 single cell morphologies prepared by MARCM, increased number skeletons available from <a href='http://www.flycircuit.tw/' target='_blank'>FlyCircuit</a>]</i>"),
shiny::br(),
shiny::br(),
shiny::HTML("<b><strong>5.</strong></b> Badel, L., Ohta, K., Tsuchimoto, Y., and Kazama, H. (2016). Decoding of context-dependent olfactory behavior in Drosophila. Neuron.<i>
[Calcium imaging of PN dendrites in response to odours]</i>"),
shiny::br(),
shiny::br(),
shiny::HTML("<i>Note: You can cite this Web app by citing Frechter et al. and in addition the relevant publications from which the data you wish to mention originate, e.g. Chiang et al. 2011 for FlyCircuit skeletons.</i>")
)
)
)