OCNS Infrastructure/software/tools SIG: meet and greet, initial discussions

Hello everyone,

Just an update: the OCNS VP has drafted up an e-mail to send out to all members, so hopefully it’ll be sent out next week. That’ll give all the members a chance to get in touch too, and then we can start planning the first meeting etc.

Hello all. I’m Robert. My Ph.D. was in mathematics, and I also have a master’s in computational biology and bioinformatics. I did postdoctoral work in computer science, neuroscience, and medical informatics. I’m currently biostatistics faculty.

I have been a developer for the NEURON simulator for about 9 years, and for the ModelDB repository for about 7.5 years. Feel free to contact me if you’d like to get involved in either of these projects.

2 Likes

Hello everyone! I’m Brent, product owner of Arbor, a relatively new morphologically-detailed simulator. Arbor simulates single cell models, very large networks and everything in between, and was written from the ground up with with many-cpu and gpu architectures in mind.

We’re very interested in getting new users and user feedback on Arbor, and we’re very interested in open standards and integrations with other tools. This forum would be a good avenue for discussing the latter things in particular, so me and my team are curious to see this SIG develop!

Feel free to approach me directly if you’re interested in working with Arbor.

Cheers,
Brent

1 Like

Hi everyone! I’m Marcel, a research engineer in computational neuroscience at the Vision Institute / Sorbonne University in Paris. In the last couple of years my work has been mainly on the Brian simulator, but I am also very interested in more general questions around the use of software in research, reproducibility, etc. Would be happy to join the group!

PS: @sanjayankur31 I’m on the comp-neuro mailing list, but I did not see any message about the SIG. Maybe worth sending another one (apologies if I simply missed it)?

1 Like

Hello @mstimberg. I did send one out on the 4th of August to the systems-neuroscience, comp-neuro, and connectionist lists. They’re all moderated though, so perhaps it didn’t make it through the moderation process. (I don’t see it in the archives here: http://www.tnb.ua.ac.be/pipermail/comp-neuro/2020-August/thread.html)

It did go through to the other two, fortunately:

I’ll go see about posting to the comp-neuro list again.

1 Like

Hi Guys
I am Max and I am mostly working on in-vivo electrophysiology recordings and this year set up a standardised pipeline for training, recoding and stirring of ephys data for my lab. I was trained as an engineer/physicists and feel that neuroscience can profit immensely from moving to standardised tools and pipelines. I am also here due to selfish reasons because I feel that there is a more efficient way of doing analysis compared to how I have been doing it where I got the feeling of always reinventing the wheel.
I think it would be awesome to have a dedicated platform for discussion and fostering the community for software tools

1 Like

Hello all, I am Malin Sandström, Community Engagement Officer at INCF. Part of my work role is to interface with the INCF community and especially ’our’ computational neuroscientists, INCF SIGs and Working Groups. I have a background in Computational Neuroscience (as a PhD student with Anders Lansner at KTH) and have worked with the INCF Multiscale Modelling Taskforce when it was active.

I’d be happy to join this SIG and serve as a link between OCNS and INCF.

1 Like

I am Jim Perlewitz, the webmaster of Computational Neuroscience on the Web. If some of you are still looking for a listing of tools, you might check the relevant page on my site:
https://compneuroweb.com/sftwr.html

1 Like

Hi I am Daniele Avitabile from VU Amsterdam, and I would be very interested in taking part. I work on numerical methods for bifurcation analysis in PDEs and integro-differential equations, with applications in mathematical neuroscience.

1 Like

Thanks everyone! I think we’ve waited enough and have a core group of folks who are interested here. So, the first task is to brainstorm what kind of activities we want to take up. This is what I had in mind when I proposed the SIG. Please add/comment on them as necessary:

Improving awareness of current tools

The idea here is to provide a platform for developers of the many many tools to showcase their tools. So, an example activity would be regular (web?) sessions targeting end-users. These sessions will show how to install and use tools, where to get help and discuss issues, how to file bugs and feature requests.

Improving the maintenance of current tools

The idea here is to help developers improve their tools, and build communities around them to help maintain them in the long term. So, I was thinking of regular sessions targeting prospective contributors. These would encompass, for example:

  • overview of the dev team and the dev pipeline (the contributing guidelines, PR review steps and so on),
  • short and long term goals from a dev perspective,
  • tasks where the dev team are looking for help,
  • an example walk through of setting up the dev environment and perhaps making a contribution (a PR for example)

Reviewing tools

Another task that I thought would improve the maintenance + standard of current tools was for us to review them periodically. So,

  • we come up with a review checklist of best practices in software development for Free/Open Source software
  • members of the SIG review tools they’re interested in. (a good way to go is for dev teams to swap reviews. I.e, the team for software 1 reviews software 2 and vice versa.)

This helps different teams engage with each other and share their tips and tricks on improving tools, and it also helps devs identify areas for improvement. It’ll also help us form consensuses over best practices and so on—so the community will have a starting point when they look to contribute or start writing new tools.

The checklist will remain a living document, and perhaps each tool can be reviewed once annually (or at another frequency that can be decided on later).

Examples of checklists/reviews that we use while including software in NeuroFedora:

Here’s another example of a review: the one we did for Brian:
https://bugzilla.redhat.com/show_bug.cgi?id=1649127

You’ll see that we check quite a few things, and in lots of cases, we file issues and patches with the dev teams.

As @Shailesh_Appukuttan and other suggested, we can maintain a list of tools and their review reports as a useful source of information for the research community. It will also encourage dev teams to seek review.

Improving technical knowledge

This is simply us holding workshops to teach general technical skills/tools independent from tools. For example, on git, version control, different programming languages. While the tool related sessions would be short—an hour or two each—these can be multiple sessions over a few weeks if necessary.

There’s a lot of information out there on general computing already, so this is slightly low priority for me. I think if we work on improving the dev environments, that’ll improve general computing skills itself.


I can’t think of anything else at the moment. Thoughts/comments/additions/removals?

Hello all! I’m Joe Graham, and I am a NetPyNE developer (www.netpyne.org). NetPyNE (Network simulations using Python and NEURON) is an open-source Python package to facilitate the development, simulation, parallelization, analysis, and optimization of biological neuronal networks using the NEURON simulator. The NetPyNE source code is available on GitHub.

To make NetPyNE more accessible, we have released a (beta version) graphical user interface (GUI). The GUI is freely available at www.netpyne.org/gui with documentation here.

My background is in bioengineering and neuroscience, originally mostly experimental (spinal cord and locomotion) but now completely computational. My long-term goal is to develop neuro-musculo-skeletal models of motor control. I’d love to join a software interest group.

2 Likes

Hi @joewgraham, @danieleavitabile, @jmp, @malin, @maximilian.hoheiser, @ramcdougal @brent : great to have you here!

@mstimberg @brent @ramcdougal @joewgraham: what do you think of the ideas I’ve put forward? Do you think these would help increase awareness and the maintenance of your tools?

Hey @sanjayankur31! Thanks for making the overview. For a few points you propose sessions targeting prospective users or contributors. Would they be in those session? If so, how would you attract them?

The list so far is mostly centered around each individual tool. In the section Review there would be some cross-project communication. I would like to expand on that, things like common file standards (and interpretations!) in our view deserve some attention. A forum for coordination of a file format (interpretation) modification for instance, or discussion a new, tool-agnostic format would fit the description of this SIG. Do you think there is enough interest/need for such a task?

1 Like

Hi @sanjayankur31 et al. I think there are a number of interesting ideas in the proposal! Of course we have to take into account that different projects have quite different needs. Some of the proposed topics/platforms feel rather targeted at new software which otherwise might struggle to be noticed. I doubt that, say, NEURON or ModelDB really needs additional exposure, but for a new tool it can certainly be difficult to attract users.

For me, the most important thing is to find a certain niche that this SIG could fill without reinventing the wheel or being in direct competition with other initiatives. Some initiatives that come to mind:

  • Discussion/creation of common standards: the INCF (CC @malin) has done a number of things in this domain
  • Reviewing tools: The Journal of Open Source Software (JOSS) has a quite neat review process for research software packages.
  • Promoting/coordinating software development: this is also the goal of the NeuralEnsemble initiative. I think it has not been very active lately, but maybe we should contact Andrew Davison about it (CC @Shailesh_Appukuttan)?
  • Improving technical knowledge: as you said, there are a lot of initiatives covering this already (e.g. Software Carpentry

But I’m interested in what the others think about all that, I don’t want to be the one that stops all enthusiasm in its tracks :wink:

2 Likes

+1 on contacting Andrew Davison!

1 Like

Hi @brent @mstimberg, thank you for your replies!

In general, I’ve intentionally listed quite vague goals so that the SIG doesn’t exclude any projects that community members may want to undertake. The idea is that we work on whatever members find interesting enough. As @mstimberg has noted, almost everything has either been done or attempted before so at the moment, our primary niche is that all our projects will be related, however loosely, to the domain of neuroscience/comp-neuro. It’ll be great to work with (or resurrect) various bodies that already address some of what we’d like to do and I guess we’ll have to balance co-ordinating with other bodies and doing things ourselves.

The primary idea, for me, is community engagement throughout the year. While we can point people to various resources, it takes away the community aspect of doing things, and in turn, it reduces the likelihood that folks will interact directly with development teams or consider contributing. My experience with FOSS (I have much more experience with FOSS communities than I have with science/research ones) suggests that right at the start of a community, activities need to be slightly outreach heavy—to attract people to the SIG—until a “critical mass” that allows the community to be self-sustaining has been reached.

So, to think of “projects”, does anything that I’ve listed seem interesting? Maybe we focus more on the dev focussed sessions (our niche to start with since no one else seems to do these?) and tools that aren’t well known can add additional user-focussed sessions too?

About JOSS: that looks great, but what do people think of its review criteria? I didn’t find anything about the actual software development side of things—code standards, architecture support, following PEPs for Python and so on, for example. So, the review criteria I had in mind would be a superset of JOSS’s and tools that pass our review should, therefore, pass JOSS’s review too. Does the review task seem interesting to folks?

Please add any other tasks/projects that you think the SIG should/could take up. We don’t have to do it all—we can choose a few based on current interests and resources, work on them, then move on to others. I’m just interested in doing something, and as long as it’s comp-neuro and software related, I’m in :clap:

I wanted to respond to this specifically: yes, from what I see there’s a need and there’s interest too. My current work relates to the OpenSourceBrain platform, and we use NWB for experimental data (and it can be used to store simulation data too from what I know), and NeuroML for model description. Both have their own communities. Is it worth looking into them to see what they provide and if it fits your use case?

Additional note: there’s this for standardisation of network structures: Standardised Representations of Network Structures | INCF - International Neuroinformatics Coordinating Facility

I’m not too well versed with how INCF SIGs work—there’s no option there to join the SIG, for example. So they don’t seem to follow the informal open community model that the OCNS SIGs are intended to follow, where anyone is welcome to join, propose ideas, and work on them. I’ll speak to @pgleeson to see how the two may benefit each other.

In general, standardisation initiatives seem to occur in more formal settings. It’s certainly something that we can look into, but I’d be wary of making this this SIG’s primary goal since it very quickly discounts a majority of the comp-neuro community that is not working on standardisation.


I haven’t mentioned this because folks seem to be quite overwhelmed with online meetings nowdays, but if enough people here think that an online meeting would help us decide on initial tasks to get the ball rolling, I’ll be happy to set one up. Thoughts?

Hi all!

I’m Padraig and I’m involved with NeuroML, Open Source Brain and OpenWorm, among other initiatives. I started the Networks SIG at INCF to get some dialog going specifically between simulator and standard developers who were working on specifying networks in their tools. Everyone is welcome to join if they want to contribute to the goals of the initiative, just get in contact! There are a few ongoing issues/activities here: https://github.com/NeuralEnsemble/Networks_SIG/issues and there are regular workshops on the wider theme of interoperability organised, particularly a workshop at CNS 2020. There will be a working discussion on network specifications at COMBINE 2020 too, details will be added here: https://github.com/NeuralEnsemble/Networks_SIG/blob/master/COMBINE2020.md

That SIG has more specific goals than the one proposed here. I would highly recommend exploring the possibility of creating this new SIG under the INCF: https://www.incf.org/activities/special-interest-groups, and “co-branding” it with OCNS. It would get the benefit of exposure in both communities and help people find other SIGs. I believe the goals of both organisations are aligned in this regard.

3 Likes

I can officially say that INCF would be very happy to share this SIG. There will be no need to formally apply, since OCNS is an official INCF partner organization. All you need to do is provide the information required for the SIG section on the INCF portal.

For this SIG, we can also offer secretariat support: scheduling meetings, use of video meeting service Bluejeans, taking minutes, et cetera.

We can also offer the SIG space on the INCF portal to display the comp-neurotools list (we can make it interactive, we are already planning an interactive web repository of Neuro infrastructures). Also, if there are tutorials for the comp neurotools, we can offer a SIG collection on TrainingSpace where all the tutorials related to the tools are posted.

2 Likes