 Okay, so my talk is about a particular neuroinformatics system that I developed with Michael Arbeb at my time at USC. He's now just retired, so I'm continuing on with this project. This is called the Brain Operation Database. So just to put it in a bit of context and see how it fits in with the rest of the field of neuroinformatics. There's a few databases currently that are dedicated to storing details about computational models of the brain, such as Model DB, Open Source Brain. And these are focused more on storing the code of the model and details about the model. And then on the other side, there's a lot of empirical databases that are specialized for different types of experimental data, like connectivity data in the monkey, human imaging data, neurophysiology data. But where Bode B comes in is in linking model descriptions with summaries of empirical data. So documenting models in terms of the data that's used to support their design, as well as the data that's used to test them. So for half of my talk, I'll give an overview of Bode B. And then we've also developed one of these specialized databases called Sensory Motor DB. And this is for storing and collating and analyzing neurophysiology data and linking that with behavioral data. So Bode B defines a functional ontology for brain models. And so our core entities are, of course, a model. And we decompose models into hierarchies of interacting submodules. Brain operating principles. So these are computational principles that are implemented by various brain regions. For example, a winner-take-all mechanism or heavy-in-learning. Summaries of empirical data. And so at least at systems-level modeling, modelers may not be so concerned with the very low-level details of the empirical data. And they sort of want an overview of it. Of course, this is dependent on the type of modeling that's being done. But so we summarize empirical data at a level appropriate for different types of models. And then, of course, we store summaries of the key model simulation results. So just a bit about how these entities are related to each other. So models are built using summaries of empirical data. So these embody the assumptions made by the model and inform the design of the model. They represent brain regions or networks of interacting brain regions. They implement brain operating principles. And they generate simulation results. And these simulation results can then be linked to summaries of the empirical data that they either explain or contradict. And where no appropriate empirical data exists, they can make predictions. So as I said, we link models to summaries of empirical data. And these can be entered in a generic sort of free form format, just describing them in text. Or we've developed a few specialized formats for different data types with corresponding visualization. And where possible, we maintain links to the primary data sources. So the specialized formats that we've developed so far that I'll go through in this talk are summaries of imaging data, connectivity data from the MCAC, and human EEG data. And then when I talk about sensory motor DB, I'll talk a bit about how we summarize neurophysiological data currently. So connectivity data is summarized in Bode B at a very high level in terms of region X projects to region Y. And we can use this information to generate these sort of interactive graphs of connectivity in different parts of the brain. So this one's showing for area AIP all the regions, at least in the COCOMAC database that it projects to. So you can get a nice page summarizing this along with the link to COCOMAC to see if you want to view more detailed data about this connection. You can see what experiments support this, what injection, what type of tracers was used, where they were injected, where they saw the labeling, what sort of path it took through the brain if you're interested in those details. So this just shows a little demo. We can search through this summaries of empirical data. Here we're looking for connectivity summaries from area AIP to other regions. You can see all the results here, along with links to COCOMAC. You can generate a clickable graph, and you can navigate around, view these different regions, view the connections. And if you double click on any of the edges in this graph, you'll be taken to the page for that connection, along with a link to COCOMAC, where you can see the details. So brain imaging data is stored in Bode B as coordinates of activation peaks in other Taylor-Ack or MNI space. And we've developed this 3D visualization tool called Brain Surfer to be able to view these along with different brain regions. And you can convert them, for example, from MNI to Taylor-Ack space and navigate around the brain. And each of these pages that describes brain imaging SED has a little description of the experiment, the control and experimental conditions, the method used, the coordinate space, a list of the coordinates. And then a link where you can see more detailed information about the experimental data and the braided database. So this is showing an example SED. This is one for skill learning. So early mirror reading versus late mirror reading. You can see the link to braida. We can select these coordinates. We can launch up Brain Surfer, view them in this sort of navigable 3D space, drag these slices around. And here I've selected two SEDs. One is mirror-reverse text reading versus plain text reading, and then a related one, early mirror reading versus late mirror reading. And we can change the color of these coordinates to see where these coordinates overlap or they don't. And then view different brain regions as three-dimensional meshes and see where these coordinates are located. So EEG data, we allow users to summarize EEG data in terms of ERPs. And these are summarized as groups of ERP components. So this is an example showing an entry for the Breitschaff potential, along with its early and late component. And these are defined by their peak latency and the electrode locations. And then users can view these in standard electrode layouts. So here's showing where the late component of the Breitschaff potential is usually recorded from. So moving on to neurophysiology data. There's currently few resources for organizing and storing this type of data. And for systems-level motor and decision neuroscience, we want to be able to link neural activity to the actual behavior. And so we partnered with several non-human primate labs to fill this gap with sensory motor DB. So this builds on the NeuroData Without Borders data format. So we convert each lab's custom data formats into the NeuroData Without Borders format. And we allow linkage between the firing rates of these neurons and recorded videos of behavior, of the animal's behavior. And we're focusing on reaching and grasping behavior. We allow users to define their own custom analyses in R. And we federate this database with BodeB. So model descriptions can then link to summaries of the analyses that you can run in sensory motor DB. So this is just showing an example of a particular experiment. This is from Sasha Kraskal's lab at UCL. And this is looking at F5 pyramidal track neurons during observation versus execution of grasps. And here you can see for the different conditions, for the various units that were recorded from, what their firing rate was, their average firing rate in these conditions, along with different trial events such as the start of the trial, the go signal, the movement onset, etc. And then you can click on a particular condition and look at a view of that condition and see a video of the actual behavior along with time-stamped events. So this is showing it's a bit difficult to see what's going on. This is showing a monkey reaching and grasping out to a ring and different events pop up in the video. For example, this one is showing the movement onset. So we developed some interactive visualizations for all these data types. So this is showing a particular unit, its activity in a particular condition, over all their trials recorded from. So at the top you see a roster plot of the spikes along with the different events in each trial. We can generate a histogram from these spikes and a firing rate. And this is showing the activity of this neuron aligned to the start event of each trial. You can click on each of these events and realign them to other events. So for example, this is showing the same neurons activity in the same condition aligned to the offset of the hold action. And then you can also change the different ways that the firing rate is calculated. So for example, the bin width of the Gaussian width. So here we're just searching through the database for experiments involving region F5, pulling up that same experiment. And then we can go to the unit view page, see the activity of this particular unit in all the conditions of the experiment, realign its firing rate to different events. You can do this on the roster plots as well. And you can change the way that the firing rate is calculated. So here we're changing the bin width and the Gaussian width. And you get an updated view of the firing rate. So now we can zoom in on one particular condition. So here's one of the videos I showed before. So this is grasping a sphere object. You can see the different events pop up as the video plays. You can slow down the video, go through it frame by frame, and look at this in relation to the events and the neural activity traces. Okay, so we also allow users to run either some standard analyses or implement their own custom analyses in R. And we use libraries pandas and RPi2 libraries to interface with R, run these analyses and retrieve results. And then we use the D3 JavaScript library to generate some of these visualizations. So one of the examples that we have that was developed in collaboration with Sasha Kraskal's lab is a visual motor classification analysis. And so this classifies neurons based on the different conditions in the experiment as visual motor or visual motor neurons. And we allow users to then parameterize and run these analyses on any dataset. So in this example, users can specify different time windows of interest to analyze. So for example, baseline, object view period, grasping period, map different conditions in the experiment onto different factors and levels, and then classify neurons based on a series of, in this case, two-way ANOVA analyses. And then we allow users to view the results of these analysis on this sort of hierarchical donut chart, showing the proportion of neurons with each label. And then on the right here you can see the mean population firing rate for neurons with each type of classification. And at the bottom we show some raw statistical output from R. So we can click on this then and export the results of this analysis to Bode B in summary form. And Bode B will automatically generate sort of text-based description of the analysis results along with this clickable hierarchical donut chart showing the different types of neurons. And we can then link these SCDs to model descriptions. So this is showing an example of one of the datasets from Luca Benini and Lena Arnafagazzi's lab in Parma. So they've got a lot of neurons that they've recorded from a lot of different types of conditions. So we're going to run a visual motor classification analysis on them. So here we can identify different time windows of interest relative to different events in each trial. We can do sort of fixed duration time windows or relative duration, so from one event to another event. And then for each factor, for each level, we can map the different conditions of the experiment to it. So this is mapping all the conditions involving execution of grasping to the grasping level of that factor. So you can run the analysis. It actually takes much more time than that. And view the results of this. So here on the right you can see the mean population firing rates of all the neurons of all the different factors and levels. And then on the left you can see this hierarchical donut chart showing you the proportion of neurons of each type. And you can click on different parts of this chart. It'll zoom in and show you on the right here the population firing rate for all those types of neurons. And then here at the bottom, if you're interested, you can see the raw output from R. So now we can export the results of this analysis to BodeB. And here it's just showing you it generates this text-based description, a summary of the results, along again with this hierarchical donut chart showing you the proportion of neurons of each type. Okay, so now we've got that data summarized in BodeB. We can link it to different model descriptions. And one of the things that BodeB allows you to do then is to compare different models in terms of the data that they're linked to. So for example, this is showing a benchmarking analysis, comparing four different models in terms of the data that they're linked to here. And this is color coded so you can see which pieces of data were used to support the design of each model in purple. And then which pieces of data each model explains in terms of its simulation results in green. And so this allows you to sort of compare models in a qualitative way and as well as identify future targets for modeling. So you can see some data that might be addressed by one model but not another and plan some increment, some next version combining features from both of these models to address that piece of data. So just a bit about how we're deploying this. So currently BodeB and Sensory Motor DB communicate via RESTful APIs. And we're partnering with several labs that are running Sensory Motor DB copies locally so they can organize and analyze their data locally. And then they can either keep that privately on their labs copy or share it publicly on the public version of Sensory Motor DB. And then as I've just shown you can export the results to BodeB as summaries of empirical data. And BodeB will maintain links back to the detailed analysis results. So just to summarize BodeB links model descriptions to experimental data used to build or test them. It stores summaries of experimental data with links to detailed data sets. And it does this through Federation with specialized databases. And it allows models to be compared in terms of the experimental data that they take into account or explain. And as I've said currently this is done in sort of a qualitative way. But we're interested in integrating this with a system like SI unit to do this in a more quantitative fashion in terms of unit tests that can be directly compared against data. And then Sensory Motor DB builds on open data formats for neurophysiology and links neural activity and behavior. And then federates with BodeB to support modeling. So I just want to thank Michael Arbebe who actually just retired yesterday who started this project. And Michael went to our programmer as well as our collaborators at UCL, Parma and the German primate center. Thank you. Thank you very much. Should I say Jimmy? Questions? It's a fantastic report. You look so almost like you're doing the HVP one project, right? But how do you see adoption? How many people are actually putting data, putting models, running banks? Because all those efforts are often isolated and there's a bit of a money for some time and then something else coming up because the funding is... So what's the adoption, the long-term aspect of it and the scalability of it? Yeah, so one thing that we've learned at least in the early days of developing BodeB is that it's difficult to get people to use it unless you're providing them with some service, something that they need to do anyway. And that's sort of the strategy we've taken with Sensory Motor DB is to... And we just came upon this after showing it to some neurophysiologists and they said, oh, that would be good to organize my data. And so then we came up with this plan to have it developed and deployed locally and then feeding into a public repository. And I think that's the way we'd like to go with BodeB as well, to have it be useful locally for developing models. Thank you very much for your talk and I'd like to know about more Sensory Motor DB and how users put their data into the DB. Could you explain a little more? Yeah, so currently we've partnered with three labs and they each have their own custom data formats or ways that they organize their data. And so currently we've been working with each of them to develop some programs that can convert their data formats into the NeuroData Without Borders format. And I envision that each lab that is interested would have somebody that would be responsible for that and that's another reason for running this locally. We can't make tools, universal tools for every lab.