We're celebrating this success story by being part of XpressAI’s cool 2024 Advent Calendar 🎄
The Virtual Brain (TVB) is one of our most beloved projects at Codemart. We've been proudly growing it for over 12 years, with the goal of helping the neuroscience community understand how the most complex organ in the human body works 🧠
Over the years we have collaborated with countless talented brain enthusiasts, from all over the world: researchers, scientists, developers, students – to make neuroscience exciting and accessible for everyone.
And that's why TVB is an open-source project: we want to share what we know, gain knowledge from other experts and build together a comprehensive infrastructure for studying and treating brain diseases.
TVB on the EBRAINS platform
Since collaboration is key in the open-source world, TVB has officially joined EU’s Human Brain Project in April 2018, which meant that even more people had access to our work.
Fast forward to 2020 and our brain simulator was made available on the EBRAINS platform, which offers data, tools and resources for neurostudies.
During the EBRAINS era new auxiliary modules were created to facilitate the usage of TVB from within the EBRAINS infrastructure, specifically from within the official EBRAINS JupyterLab.
This is where Xpress AI and Xircuits came into picture.
Creating TVB simulations with Xircuits
While TVB is a powerful tool for simulating the brain, we wanted to streamline the setup of a simulation as much as possible.
We realised that creating a simulation is very similar to creating workflows: we need to configure several components (model, integrator, coupling, etc.) before feeding them to a big Simulator component. So we started searching for a tool that creates workflows and in JupyterLab.
In 2022 we found Xircuits: a “visual programming environment for JupyterLab”, developed by XpressAI. What you can basically do is drag-and-drop components, create workflows and run them. From a technical point of view, this is a JupyterLab extension, built using React and Python.
At first we created a PoC – we wanted to see if we can adapt this tool to run TVB simulations. The PoC was a big success! Not only were we creating and running simulations with this tool – it also looked pretty cool!
tvb-ext-xircuits: the best of both worlds
We soon realised that we wanted to adapt Xircuits to our custom use-cases. That’s how a new module, called tvb-ext-xircuits, came to life.
We forked the original Xircuits repository and got to work. We added new features, focused on interacting with EBRAINS resources, to name a few:
EBRAINS's own wiki has ample information about this tool and all the others developed for interacting with the EBRAINS platform.
tvb-ext-xircuits is already deployed on the EBRAINS infrastructure and we are currently working on deploying it on the JSC platform from the Jülich Supercomputing Centre.
Strengthening our collaboration with Xpress AI
From the beginning, the XpressAI team was open to collaboration and we even had a PR merged into the official Xircuits repo!
In addition, there were times when we needed their help to implement some of our custom changes and they were always eager and quick to offer their support.
And in November 2024 we had the first TVB-Xircuits meeting where we discussed processes to strengthen and evolve this collaboration, making both projects better for their individual user bases.