 Yes, okay, so I'm going to be talking about open source brain at the moment and it's been mentioned a few times already So I'll hopefully skip over some of the introductions But basically that yeah the motivation for this is very similar to the motivation for a lot of other initiatives We really want to make computational newer science more scientific more rigorous and the ways We've identified to actually try to do this or the shortcomings is the problems with ood Reproducibility there's models out there code is out there But it would be very good if you could actually reproduce in full or reproduce in your system of your choice The results from that paper and it's not necessarily always the case even if you've got the Fortran code sitting there Accessibility it's not just computational neuroscientists. We want to have looking at these models and improving them We also want to make them accessible to theoretical experimental neuroscientists Portability everybody uses their own simulator. Maybe rebuilds the simulator. It would be good if you weren't limited to the format that's the original model was built in and Transparency Ideally for really complex models you need to be able to drill down to the specifics of that and that shouldn't involve opening up a text editor and reading Thousands of lines of code so we want to make some kind of way to expose these internal physiological properties of models and make them Open to critical evaluation. So open source brain repository. It's online. It's at open source brain org A bit of background for this. It's been around for probably just over five years. It's been funded by the Welcome Trust generously and The key aim of this is to have an open source model development repository specifically for computational neuroscience What it actually consists of is a database of well tested spiking neuron and network models in standardized formats now We're concentrating on spiking Neuron models simply because that's what we know most about But a lot of the processes we use a lot of the tools we use are applicable for any other types of Neuronal modeling like neural mass models and we have some base initial interactions with some people from those fields as well But the key thing we're trying to do is allow anyone to come along comment on extend reuse the models That we have on this and really build a collaboration platform. So not just the people who've Provided the models put the scripts up there and you ask them questions But anybody can come along if it's interesting for the community. They can contribute to it They can make it better. They can document it And we want to use the the best way to actually do this It's to use the best tools and practices that you've just heard about fraud that have been developed and are very successful in Open source software development. So what types of models do we actually have already an open source brain? We've a number of models cell and network models from the New York cortex thalamus I won't go to these in great detail Cerebellum mainly because we're interested in that in the silver lab Hippocampus, but also some classic models like the Prince and murder Paloac pacemaker network some more abstract neural networks examples fits Unigumo is a cave itch and also linking to ongoing projects like open worm Which is also available on open source brain org so for these models here these model types They're available on model DB. You can download most of these and run them in the particular simulator They were developed in so what's the advantage for actually developing these further on? Open source brain so to give an example of this Give an example of the 2005 paper by Roger Traub and colleagues. This was a very detailed model at 14 different cell types a single column Thalamocortical network model 14 different cell types multi-compartmental neurons each of these had distinct distributions of ion channels and showed a number of properties of Thalamocortical networks, but one of the issues with this it was very good It was very well described in the paper, but and you could download code It was open source, but it was about 20,000 lines of Fortran code and not very many people Even the authors on the paper had actually used this code But this was interesting for a number of different people and a number of groups over the years have taken this taken on board to Try to convert this to other formats. So what you actually have on open source brain now is a Project page corresponding to this model for a Thalamocortical network model And on here you get a list of the various people. There's groups in Poland in India Michael Heinz and the Neuron has also worked extensively on this people who are interested in this model and are interested in making it more accessible And moving it forward you also get a link here to the original model code on Model eB and a warning that's in Fortran But what you also get is a link for each of these projects on open source brain to a github repository now Hopefully I don't have to say too much about github, but the basic idea here is that it's an open source code sharing website and Corresponding to this you have a number of different versions of this model here the original Fortran code a version that's been converted to Moose and Neuron and neuro construct version which contains Neuroml and The people who are interested in this have contributed these various different pieces of code and the great thing about github is you can Actually see all the history of who has actually worked on this the various different versions of this and you can also Find out who's making the most contributions to this making the most useful contributions and You associate with each of these commits you have some comments and for branches as well I mean as an example here if you could read this it says version which works on my computer now This is very valuable information if you find that original code You're looking through the Fortran and you actually say oh, it's actually Helena who's here Has actually at one point got the code to work on her computer Which is a very very useful information rather than just getting a zip file and trying to run it yourself on your computer So it is the whole idea of collaboration and also assigning credit for the various people who are working on this And so associate also with the projects on open source brain. There's a wiki. So here in this model Roger Trapp himself admitted in the paper that it's very preliminary But there is a place where people can come and discuss the various limitations with the models some of the difficulties installing it but also the physiological properties of the model and you also actually get a here a form in this example here I believe Helena again has Try to reproduce the some of the figures from the paper in the in the slightly updated Fortran and in her version of Neuron so again, this is making the model more accessible proving What it can actually do and you can actually see what people have done with it here So it's a way for groups to get together interested in specific areas and to move interesting models forward And all in open source, but obviously if you have five different versions of the model in different simulators That's not necessarily best. Maybe somebody fixes a bug in one of them improves it in one So what you actually need is a common format that you can express models like this which can then be mapped to the simulators of choice for different people So that's as you've heard mentioned of already what's enabled by neuro ML So hopefully most of you have heard of this before but it's a standardized language for model descriptions in computational neuroscience The most stable version of this has concentrated on detailed neuronal morphologies ion channel synapses and 3d network structure the types of computational multi-compartmental models that have been traditionally built on neuron and Genesis And over the years There's about 30 over 30 different simulators applications databases have added support for neuro ML in some form or other So here's just a few of them here So you have the kind of traditional neuronal simulators like neuron Genesis and moose, but you also have databases like neuromorpho There's about seven or eight thousand cells on neuromorpho They can download in your ML format channel PD You can also download from the blue brain project a lot of these ion channels in Neuromorph format other tools for maybe generating neuronal morphologies CX 3d There's a version of this you can generate a network in 3d Exported to neuron and there's a number of other tools and initiatives here which are using various forms of this So as I mentioned, it's Being used as a common format for exchanging between these applications, but one of the limitations That was present in the version one of neuro ML was that it was very focused on multi-compartmental Hodgkin-Huxley based Models so what we really wanted to do for version two was to try to make it more extensible so that you can build new model types Maybe more abstract models on top of this language and And as an example of the type of model we want to try to incorporate in version two this Bretton Gershner Model of adaptive exponential integrate and fire cell. It's just two ODE's But by changing some of the parameters in this model, you can reproduce quite similar to the ease of Gavitch model you can reproduce a lot of different spiking behaviors of Neurons from multiple brain regions So this would be great to get into a neural mal 2 in neural one What we would have had to do with to be update the specification update each of the individual implementations But what we have in version 2 and I won't go through this in any great detail is a language that we're calling lens which Where you can actually specify these differential equations here in a machine readable format unambiguously and then for Neuron the new amount corresponding neural to element you just specify which parameters it points back to the definition of this in lens And so in this way you get a full machine readable Implementation of that model and then this can be used to generate code for multiple different simulators So we can map this to math lab XP P neuron and so on And so when somebody comes up with a new type of neuron model that they'd like to Support in the format all you do is implement this in this language here, and it's convertible to other formats like 9ml as well And in this way the language can be extensible. So we have in the current version of Neuromal, Neuromal 2 the third beta release is just about to be released Hierarchy of these elements so for describing cell models describing synapse models and other inputs like voltage clamps and so on Behind the scenes for all of these there's a machine readable description, and if the language gets extended with a new Synapse type you can just go to the description, and then it should be supported in all of the Simulators which can support lens which can read this and convert it to the new format So that's what we're trying to do for Neuromal and the idea is with open source brain That's if you get your model into this format all the possibilities which are opened up through having it in this machine readable format And all the cogeneration possibilities will be open to all of these models. So you can list an open source brain Lots of these models is about 80 70 or 80 different models in different stages of development and curation But for each of these you can see where it is with the current level of support for example In neuron and genesis how well it's supported in whether it's supported in Neuromal 2 and what we really want to do is fill Out this as much as possible So for models that aren't covered in Neuromal Just extend the language build support new types in there But also actually we've developed a testing framework for each of these So what we want to do is not just say yes, you can download this and it will run in Neuron to actually have software tests which Look at this generate the download the simulator run the model in that particular simulator Test that it actually is identical to what you're predicting and then if you follow these links here You actually get a log of which version of software we choose which version of the model what it actually did So that if you come back to it in two years time, you know that it has worked So this is slightly different testing that Rick will talk about later It's more software testing that it actually does what you're expecting it to do Okay So just to give one or two more examples of types of models that are on Open source brain you all have heard of the easy cave it's spiking neuron model and this again we produce multiple different types of behavior for Simple in a simple neuron model This was has been for a long time available in MATLAB from easy cave it's website But now there's a open source brain repository with a version on pine So not only Neuromel a lot of the models that we are supporting there are well expressed or available in pine Which is Python based multi? simulator language for expressing neuronal models and also Neuromel format and You can actually go to the wiki associated with this and there's a brief explanation of some minor parameter changes Which were needed in the from the original MATLAB code to get this to run properly on Neuromel and Pine and this work was actually completed in 2013 by a as part of the Google summer of code by a Brazilian student Victor shoud and Yeah, so basically there's a record now that I'm sure multiple different students have Found when they download that MATLAB code, maybe they have to make some minor modifications But now there's a place that people can actually check through this and maybe add support for a new simulator or Comment again on that particular piece of code. So for This year as well there's a Google summer of code students looking at network models of v1 and this student Ramon Martinez has actually identified some classic papers some classic models of Orientation selection in Orientation selection in v1 and The code for these models hasn't actually been available But what he's done is read the paper and implemented this in a set of pine scripts So now if you follow the github repository for this you find a nice clean set of Scripts in pine which reproduce some of the figures from those papers and can be reused for other models of v1 and again the good thing about this is that Ramon's name will be all over these codes here. So if somebody does Take those develop new models. That's good credit will be given to the people who've actually Developed these scripts so while converting an old Paper into pine doesn't necessarily get you a publication. It does get you exposure for Whoever uses that further down the line. Okay, so that's great that you have Models in Neuromell and pine so if it runs and does exactly the same as the original version What is the actual advantage of converting it to there and the big advantage as you've seen already is that once we know? What's actually in that github repository on open source brain itself we can pull that in and extract that information out of it Which would be much more difficult if it was in C++ or neuron or so on so here's an example of what we do there's a open source brain project for the Peking you sell from the shitter and Bauer and We have a 3d visualizer on open source brain that you've seen a little bit of already Which has pulled in that neuron mouth file from the github repository and you can visualize this inside your browser As long as your browser supports webgl you'll be able to use this even on your mobile phone and Since there's information in this file as well about the locations of the iron channels So for example potassium and sodium channels where it's actually located in the soma or the thick dendrite or even the leak Conductions and it varies over the The dendritic tree here all this information can be pulled out and presented in your browser without having to install any software Or anything else and the only requirement on the repository developer is that they put it in there in compliant Neuromell So show another example of this. This is the trap network model, which has also been converted to Neuromell and this is just a 300 cell 10% of the full network Which is again being visualized on OSB and you can see the structure of the model as we have it in 3d The different cell types that are actually present in there. You can go in look at the overall structure Maybe click on one of the cells and then see okay, which cell type this is this is layer 5 tufted pyramidal cell and just make this Very complex model much more accessible to people who would never actually install Neuron or know what to do with the Fortran code and Make it easier for people to comment on this to say well this particular cell type is missing or if you click on a cell and say well, there's actually IH present on a different location What we really want to do is lower the boundary lower the barriers to actually Accessibility and use of these models So I've mentioned well we've heard already about open worm and this example here Really demonstrates the advantages for both OSB and open worm that we have a nice model to actually show an open source brain And we can visualize this in 3d as we can see But the big advantage of this is that all the code for this is shared is publicly available So the elements that we're using for this visualizer here are actually shared with the open worm community So if there's improvements made there to this visualization capability, we benefit from that and he Extra things we implement for parsing Neuromel models can be reused by them also and just given a quick example of that Stephen has mentioned Jepetto and we have started a more up-to-date Model of C elegans, which is fully specified in Neuromel. These are actually just integrate and fire Neuron models It's just showing the somas here of these models But the new features we're trying to build into the OSB visualizer and into Jepetto is actually simulating The model inside the browser. So this is Jepetto has loaded up a Neuromel File containing a description an integrate and fire network for this model And you can actually press start and what you can actually see is activity in each of these neurons In the browser, you can see some of the cells start to light up there but basically The components behind the scenes for running this model are in Neuromel We're developing those the components for visualizing this are being updated by the open worm people And none of this would have been possible unless we're both sharing our code sharing all the models working on the areas that we have expertise in and then putting online and Enabling the community to come along and use these tools. Okay, so just to wrap up those elements that I've shown are really Trying to address these really important issues of reproducibility accessibility to computational and non computational people portable ability across different simulators and transparency being able to drill down into the models very complex models and Get comments and feedback and input from as many different people as possible So we have quite a number of people signed up and nearly 300 members 43 different research groups in open source brain org at 80 different projects and various levels of Conversion to Neuromel and pine and They just point out again This is very big button on the home page here sign up everybody here and anyone else in the community is very welcome to come along Put up whatever kind of models you want and github you have complete control of your github repository if you support Neuromel and pine We will do as many interesting things as we can with it and publicize it on the website and we really want to build a community about this and improve models improve accessibility of What you're doing with those and basically build better more scientific models So finally just to acknowledge a number of people here not just in silver lab But a lot of our collaborators that we work with very close work with the open worm project Neuromel community and support from the UK and CF node and of course welcome trust. So thank you any questions for pouring Thank you very much. I was wondering. Can you make a comment regarding 9 ml? I mean because I was wondering I mean obviously they're sort of especially in the context of ICF I mean there was there was an additional development and do you see that this is now converging or sort of how How can it more is happening now? I think with 9 ml There are some updates to the repository there for us Lemms is roughly the equivalent to what 9 ml the new features that 9 ml enables We do actually have as part of our import and export features you can actually most of those models there you can Attempt to export them into 9 ml. So if there is a simulator which only supports 9 ml We can export valid 9 ml out from a Neuromel description into that format and hopefully load it up into another simulator It's not complete. It needs testing. But again, there's a file there 9 ml writer which anybody can update and make sure that it's valid We do want to have a greater compatibility with these but we do think well We're biased but we do think there's some features in lens that you need like the hierarchical expression and extension that Are there at the moment in limbs that could be imported into 9 ml as well But the key thing we want to do is just make sure they're compatible and open and yeah, so Yeah, very nice talk. Thank you So you talked about the value of being able to convert your model from like one simulator to another Did you have any interest in trying to convert one model from a different? Neuron model to another so for example, I had a student who Who tried to take I don't think it was one of the models you showed it was a Ruben internment model from like I don't know 10 years ago and they'd they'd done it in Some sort of Hodgkin-Huxley type simulator and we try to convert it to an Izzy Kevich model, okay And you know hijinks ensued as it sort of half worked But I mean is that the kind of is that something that would be of potential interest to try different Realizations of of the same. Yeah, I mean in theory somebody could I mean supporting Neuron L you could potentially Develop a a tool a library which reads in any Neuron L model and you say right try to reproduce This behavior in a different type of Neuron L model I mean it's conceivable that you could do that you'd have to re-optimize your model according to those parameters, but What Neuron L actually provides is the input for a Hodgkin-Huxley model the output Izzy Kevich this bit in the middle for how You would actually do that is not necessarily something that Neuron L solves, but it might enable you I mean the other scenario is that you just create a github repository saying converting hh models into Izzy Kevich and then Put it up there put some examples up there send an email and hopefully somebody will help you doing that I mean it's a it's not a difficult not an incredibly difficult problem, but it's an interesting approach to take And there are probably some people out there who might want to contribute to this. So but yeah, yeah I Think at one point I've heard I heard it discussed that there was going to be or there was some work on a high High resolution or high density network model or network serialization That would not be XML is do you have any updates on that? There is a library called Libneur ML which was in the two I didn't mention, but it was in the 2012 I NCF Google summer of code and thank you again I NCF which was developed by Mike fella which does Support much larger. It doesn't require you to save your morphologies into XML every time and read it back in it does use a Mongo database for a serialized a more efficient serial More efficient serial the serialization of the model It has some options for saving that to HDF 5 as well, but it's Neuromal compliant So you can load up a neural model or regenerate a neural model and say save it into one of these other formats Which should be much faster to read and write or more compact and then load it back up again And because you're using an API you just deal with the same neural elements This has been out there. It's published. It's open and I believe it's still it does still work So that might be something to look in but there's definitely a lot more that can be done with Making the for example the HDF 5 much more efficient and The the formats you actually save it in you don't necessarily need to save all the XML strings You could save a much more compact representation of that for reading in and reading out But as long as you have an object model maybe defined by Neuromal that you can handle then you don't really care How it's actually saved in