Open for (neuro)science tutorials: Tools for modeling

Thanks for attending the webinar or viewing the video of the Open for (neuro)science tutorial: Tools for modeling, with @AntonArkhipov and @kael! This webinar demonstrated how to use the Brain Modeling Toolkit and SONATA data format for your research.
Please feel free to chime in here with additional questions or follow-up questions to those asked at the live webinar. You can find the recording of this webinar and information about other webinars in this series here .

Question: Is the BMTK using NEURON to run the simulations?
Anton: BMTK uses NEURON to run biophysically detailed simulations, NEST to run point-neuron simulations, and DiPDE to run population dynamics simulations

Question: Can we learn a bit more about how extensive and detailed the available documentation on BMTK and SONATA is? Is it detaled down to the level of single function calls, arguments, etc (like Matlab Help?)
Anton: The documentation is fairly detailed. There’s a lot of information in the papers about SONATA and BMTK, and more details are in the github repos:

Question: From where can we download .json file?
Anton: Take a look at the SONATA github repo. It has examples and tutorials, including examples of JSON files. GitHub - AllenInstitute/sonata: Collaboration between BBP and AIBS

Question: If I want to use another .json file in dynamic_params, from where can I get different file(.json file)?
Anton: More .json files are available in the Allen Cell Types Database:

Question: Why is euler angle considered?
Anton: For convenience. It’s one way to represent angles. We also support quaternions.

Question: Are there tools to fit model parameter values to match empirical data?
Anton: Not for networks at the moment. We do have code for optimizing models of individual cells, from this paper:
Follow-up question: In the biophysically detailed model of V1 that Allen Institute distributes, do the neurons have active ionic currents in the somatic and dendritic compartments? If so, how were these parameters tuned and is there a list of the physiology included in each somewhere?
Anton: The neurons in our V1 model have active conductances in the soma. The conductances were optimized using the method described in the same paper I already mentioned:’s a fitting procedure that matches experimental Ephys recordings in slice.
The data for each cell and the models of these cells are available at the Allen Cell Types Database:

Question: As a NEST user with my own custom build synapses (studying various and new forms of plasticity that are not part of mainline NEST distributions), I’m curious to see how i can look under the hood of the generated NEST code. How much can I fiddle with that without loosing the whole point of working with BMTK?
Kael (live): I think you should be able to do that. We’ve done something similar, with custom cell types – for instance, at the Allen Institute, we have our own GLIF models. We have those models available and it’s pretty easy to run those models using BMTK. Anton mentioned the V1 point-neuron model – that was actually run using custom NEST neuron types. I’m not sure how synapses would work exactly, but it should be the same.
Anton (live): Please give it a shot and if you have any questions we’d be happy to help.

Question: Can you also send connections back to LGN from V1?
Anton: It depends on how you model LGN. If you model it as a set of filters, then no, not at the moment. But you can model LGN as a set of actual cells, in which case you can certainly send the connections back from V1 to LGN. In our current model LGNconsists of filters (“virtual nodes”).

Question: What is the temporal resolution for synaptic delay?
Anton: It’s up to the user and the time step they select.

Question: On Windows, is NEURON only available for Python 2.7?
Kael (live): No, it’s also available for Python 3.6 and above, and on any OS.

Question: Is it possible to also include calcium (or other custom made intracellular processes) dynamics in the biophysical model?
Anton: Yes, certainly.

Question: Is it also possible to integrate plasticity processes? is there a prebuilt plasticity model library and can we also define our custom plasticity model to integrate into the network?
Anton: Yes, it is possible. For example, one can supply custom MOD files, if that’s what you are used to. But no, at the moment we don’t have a library like you mentioned.

Question: Thank you for the interesting lecture. It was mentioned, that the V1 model can be further improved. I wonder if you can outline the possible improvements, that you are expecting to implement?
Anton: At the moment our main focus for improving the model is to integrate new connectivity data, from our Synaptic Physiology dataset and from the Electron Microscopy dataset.

Question: Do you have a possibility to randomize neuronal and synaptic parameters over neural populations with a priori set probabilities?
Kael (live): I don’t think we’ve tried that. You can randomize it during the building process. We’ve built BMTK and SONATA to show these very large network models. So during the building process you can randomize parameters and then it will save them statically.

Question: Can you elaborate more on dynamics parameters?
Kael (live): SONATA lets you create custom cell dynamics parameters however you fit. One thing SONATA does is it that it lets you accommodate for multiple simulators, not just NEURON and NEST. One thing you can do is go to the Allen Cell Types Database for individual cells, you can download dynamic parameters as .json files and BMTK will automatically recognize them if you want to create a model from that data. We actually have support for models in NeuroML format, and BMTK will also automatically run and recognize that.

Question: How do you describe neural populations at the population level (not single spiking neuron)?
Anton: This can be easily done in the PopNet module of BMTK, where each population is represented simply as a node. Please see examples in the PopNet tutorial (in particular, under “Building a network”):

Question: Which neuron equations are you implementing? I am working with shunting equations (following S Grossberg equations) for example. Is it possible to use shunting equations instead of the additive integrate and fire model (which is the one that most simulators use)?

Kael and Anton: Here at the Allen Institute we have multiple cell-models we typically use. For point-neuron models we use Generalized Leaky-Integrate and firing type neurons. For multi-compartment models it’s a bit more complicated, but the simple answer is that it’s mostly using Hodgkin-Huxley like conductance models.

BMTK can use any neuron equations that are already built into NEURON (for multi-compartment models) or NEST (for point-neuron models). It is possible to create your own and use them in BMTK, but you would have to do so natively in NEURON or NEST, which usually requires to do so in either Hoc or C++, respectively. Please contact us if you have further questions.