NeuroNLP is a modern web-based portal for navigating fruit fly brain data. NLP stands for Natural Language Processing, which means the website allows user to use intuitive plain English queries for in-depth exploration and investigation of brain structure. The data currently provided are of the following kinds: Neurons: 3D skeleton, neuron name, type, data source, neurotransmitter, transgenic lines, etc. Synapses:presynaptic and postsynaptic neurons, number of synapses. The NLP module allows for querying neurons and synaptic partners by a variety of attributes of the query targets (refer to Search Bar section below for examples). NeuroNLP can be accessed from any browser supporting WebGL. Try it on your smartphone!
NeuroNLP site consists of mainly 4 sections Header bar: provides operations such as hide neurons, create tags,etc. 3D visualizer: 3D skeleton visualization of queried neurons and the underlying neuropils. Information Panel: detailed information including synaptic partners of neuron pinned in the visualizer. Search bar: natural language interface for query neurons.
The Search Bar is the central querying interface. It supports natural language queries of neurons, synaptic partners, etc. By combining various attributes of query targets, you can create some very powerful queries. Click on the info button to the left of the search bar.
The visualization panel provides a interactive workspace of neuron skeletons in the context of relevant neuropils. It allows you to change view, select neurons, pin neurons, etc. In addition the the neuron and neuropil mesh files, the visualization panel provides a list of useful buttons for ease of interaction. For more details regarding the visualization panel, click on the button on the top right corner of the panel. Pinning neuron of interest and removing all unpinned neuron by clicking the button is a good way to clean up the workspace and keep only the neurons of your interest.
The graph view panel can be generated by clicking one of the graph view generation buttons in the visualization panel. Graph View Generation Buttons: The buttons provide the capability to generate graphs from the currently queried data. These neurons can be at single-cell scale, or cell-type scale if supported by the dataset. Graph View: The graph view provides a 2D graph visualizing all neurons and their connections in the current workspace. Nodes can be reordered by dragging them and hovering over nodes will highlight the corresponding neurons.
The Search Bar is the central querying interface. It supports natural language queries of neurons, synaptic partners, etc. By combining various attributes of query targets, you can create some very powerful queries. Your queries should start with a verb; the verbs supported right now are: show: clear workspace and then show the queried neurons, add: add to the workspace the neurons queried, remove/span>: remove from the workspace the queried neuron, keep: keep in the workspace only the neurons that meet the criterion of the query, hide: hide the neurons that meet the criterion of the query (this does not remove them from workspace, but reduce their visibility), pin: pin the neurons that meet the criterion of the query. Pinned neurons are automatically highlighted, and cannot be removed by the "trash can" button on top of the NeuroNLP window. unpin: unpin the neurons that meet the criterion of the query, color: color the neurons that meet the criterion of the query with a user defined color (can be hex color code, e.g., FF0000 for red), or these predefined colors. clear: clear up the workspace, removing all neurons and synapses. Next, we explain the rules for defining the criterion of the query, using the verb show as an example. show cell-type neurons: Shows the neurons of the cell type. Example: show PEG neurons, or simply show peg. Name is case insensitive. Any name listed in the Cell Types menu can be searched directly using this method. show $string$ neurons: Shows neurons with a name that contains the string. Example: show $PEG$ neurons, or simply show $PEG$, will query any neuron whose name contain the string *PEG*. show /rstring/r neurons: Show neurons whose name matches the regular expressing string (This requires some knowledge of how the neurons are named in each dataset). Example: show /r(.*)PEG(.*)R1(.*)/r neurons, or simply show /r(.*)PEG(.*)R1(.*)/r will show the PEG neurons that innervate PB glomerulus R1. show neurons in|that innervate|that arborize in neuropil/subregion: Shows neurons that has output or input in a neuropil or a subregion of a neuropil. Examples: show neurons in ellipsoid body, or using abbreviations show neurons in EB, show PEG neurons that arborize in PB glomerulus r9. show neurons that innervate right al and right mb. Note that this is different from show neurons that innervate right al or right mb. show mbon that have input in right alpha lobe compartment 3. show local neurons in neuropil: Shows the neurons that has only inputs and outputs within the neuropil (note that due to lack of data in some datasets, some neurons are only traced in one neuropil and thus are classified local neuron by default). Examples: show local neurons in ellipsoid body show neurons with|that have inputs|outputs in neuropil/subregion: More specific then the previous query on the inputs or outputs. Examples: show neurons with inputs in AME, show $R3w$ neurons that have outputs in EB, show neurons with inputs in right antennal lobe and outputs in right lateral horn, or equivalently show neurons projecting from right antennal lobe to right lateral horn, show neurons that connect right AL and right MB. Includes both the neurons that has inputs in AL and outputs in MB, and those has inputs in MB and outputs in AL. show neurons presynaptic|postsynaptic to: Shows the neurons that are presynaptic or postsynaptic to the neurons defined after the word to. Exmples: show neurons presynaptic to TuBu05, show $aMe$ presynaptic to KCs that innervate alpha'1 compartment, show DAN postsynaptic to MBONs with at least 30 synapses. show presynaptic|postsynaptic neurons: Shows the neurons that are presynaptic or postsynaptic to the neurons already in workspace. Examples: show presynaptic neurons, show postsynaptic neurons with at least 10 synapses, show postynaptic MBON that innervate gamma lobe with at least 5 synapses Other short-hands: show /:referenceId:[5813014882, 912147912, 880875861]: Shows the neurons whose referenceId in the original dataset is in the list. It can be used similar to \$ \\$ and regular expression and combined with other types of criteria. Examples: show /:referenceId:[5813014882, 912147912, 880875861] Coloring: if no criteria are specified, the color will be applied to the neurons added in the most recent query. For example, if you query: show A neurons, then add B neurons, color red will color B neurons red. color A neurons 0000FF will then color A neurons blue.