jonescompneurolab / hnn-core

Simulation and optimization of neural circuits for MEG/EEG source estimates
https://jonescompneurolab.github.io/hnn-core/
BSD 3-Clause "New" or "Revised" License
53 stars 52 forks source link

[JOSS] Software Paper #685

Closed neurofractal closed 8 months ago

neurofractal commented 10 months ago

Linking https://github.com/openjournals/joss-reviews/issues/5848 to track review progress.

This is a great resource and very easy to install and use. A few points on the software paper:

ntolley commented 9 months ago

Thanks for the comments @neurofractal! Please find below our response and summary of the changes:

Apparently you need an explicit "A statement of need" section. You have addressed this in your Summary section really, so just need to change the title I guess?

This was raised in the last review but we didn't run the "generate pdf" command on the JOSS review page. The latest version of the paper has this section.

A screenshot of the GUI would help explain the "Notable features of HNN-core"

There appears to be confusion about the notable features of HNN-core and their relationship to the GUI. The features listed are actually not available in the new or old GUI, but rather currently accessible through scripting. To make this clear we have changed the first sentence of this section to read: “HNN-core functionality supports advanced simulations through scripting.”

You need to discuss how the software and general approach fits within the wider field of modelling neurophysiological signals. Perhaps you could mention and very briefly compare to DCM here?

To directly address this concern, we have expanded the prior mention of DCM and the neural mass modeling approach on L71-78 to read as follows, with additional statements italicized here.

Since MEG/EEG recordings are dominated by neocortical sources, all models developed so far simulate neocortical activity, but with they are developed with different levels of biophysical details and correspondingly different use cases. The level of detail in HNN’s pre-tuned network models and the workflows developed to study ERPs and low frequency oscillations are unique within the field of MEG/EEG modeling. One class of models known as neural mass models (NMMs) uses simplified representations to simulate net population dynamics, where hypothesized connectivity among neural “nodes” can be inferred from recordings. The Virtual Brain Project (Sanz Leon et al., 2013) and Dynamic Causal Modeling from the SPM software (Friston et al., 2003; Litvak et al., 2011) are prominent examples of software that implement NMMs. While NMMs are computationally tractable and advantageous for studying brain-wide interactions, they do not provide detailed interpretation of cell and circuit level phenomena underlying MEG/EEG. The primary electrical currents… … HNN is one such detailed neocortical column model (Neymotin et al., 2020), and other examples have been employed using the software LFPy (Lindén et al., 2014). LFPy simulates fields and currents from detailed models of pyramidal neurons and networks (Lindén et al., 2014). LFPy does not support a specific neocortical model or workflows/parameter inference to study particular signals of interest. Rather, it provides multi-use Python scripts that can be integrated into any NEURON based neural model containing multi-compartment pyramidal neurons.

The example section is a little weak - this could really benefit from some real-world neural sample data, alongside a brief interpretation of the kinds of inferences you can make with the software. Obviously the focus should be on the methods, but an example of practical use to answer a scientific question would benefit users from neuroscience/neurophysiology backgrounds. I also don't see any obvious real-world examples on your documentation examples page, though I could be wrong?

We have changed the name of this section to be “Use cases and quick example code of running a simulation”. We also added the following statements to the beginning of this section to be explicit of how to use hnn-core in practice and the kinds of inferences this software is suited for, as well as highlighting an example in the documentation that include real-world data:

_“As summarized above, HNN-core reproduces the workflows and tutorials provided in the original GUI driven HNN software designed to investigate the origin of commonly observed MEG/EEG signals. The HNN-core tutorials include examples of how to simulate ERPs, as well as low frequency rhythms such as alpha (8-10 Hz), beta (15-30 Hz), and gamma (30-80 Hz). The tutorials also include an example of directly comparing simulations to real data (i.e., the median nerve evoked response). We also provide short and targeted “How to” examples that describe how to use specific functionality, such as plotting firing patterns, or recording extracellular LFPs._

_In practice, users learn how to study the multi-scale origin of ERPs and low frequency oscillations by first following the tutorials in the HNN-GUI, and then recapitulating these tutorials in HNN-core. The tutorials provide an interactive investigation that gives intuition on how exogenous drives and other parameters in the model impact the outputs of the simulations. From there, users can test hypotheses about what parameters or sets of parameters need to be adjusted to account for their recorded data by directly comparing simulation output to data. Automated parameter inference can be performed to optimize parameters to produce a close fit (i.e., small root mean squared error) to current source ERPs, and more advanced parameter inference methods are in development.”_

rythorpe commented 8 months ago

I'm going to close this issue as I believe everything was implemented in the joss_paper branch as stated above. Thanks for your suggestions @neurofractal!