Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sanjayankur31/neuromlcap
WIP: NeuroML Cell Analysis Pipeline
https://github.com/sanjayankur31/neuromlcap
Last synced: 13 days ago
JSON representation
WIP: NeuroML Cell Analysis Pipeline
- Host: GitHub
- URL: https://github.com/sanjayankur31/neuromlcap
- Owner: sanjayankur31
- Created: 2024-02-16T14:06:13.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-07-18T10:34:33.000Z (5 months ago)
- Last Synced: 2024-11-29T03:15:11.162Z (27 days ago)
- Language: Python
- Size: 377 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: Readme.rst
Awesome Lists containing this project
README
NeuroMLCAP
------------The NeuroML Cell Analysis Pipeline (NeuroMLCAP) is a utility for the easy analysis of NeuroML cell models.
It is written in Python and takes advantage of the NeuroML standard.
If your cell model is standardised in NeuroML, you can use this utility to analyse it.More information on NeuroML can be found in its documentation at https://docs.neuroml.org.
Installation
============Clone this repository and enter it:
.. code:: bash
git clone https://github.com/sanjayankur31/NeuroMLCAP.git
cd NeuroMLCAPIn most cases, you should be able to use `pip` to install the necessary requirements.
Please do remember to use a virtual environment... code:: bash
pip install -r ./requirements.txt
Usage
=====Get the cell model to analyse
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Please create a new folder for the NeuroML cell model that you are looking to analyse, and copy all the necessary files to it.
This includes the cell definition file and the included channel files and so on.
(You can use `pynml-archive` to create an archive of the cell model and required files and unzip it to a new folder).Configure your analyses
~~~~~~~~~~~~~~~~~~~~~~~To ensure that analyses can be repeated, we provide the required information as a configuration file.
Copy the `analysis.toml` file to `analysis..toml` and modify it as required:.. code:: bash
cp analysis.toml analysis..toml
As more analyses are added to the suite, the configuration file will continue to grow.
Run the analyses
~~~~~~~~~~~~~~~~~To run the complete analysis pipeline, run:
.. code:: bash
python neuroml-cap.py --analyse analysis..toml
This will create a new folder with the simulation data.
Plotting simulation outputs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~Similarly, to plot the generated reports/graphs, run:
.. code:: bash
python neuroml-cap.py --plot analysis..toml
This allows re-generation of the graphs/plots without having to re-run the analyses.
NeuroMLCAP uses Matplotlib for all its plotting.
You can customise Matplotlib settings using a `matplotlibrc` configuration file.
One is included as an example.
Please see the `Matplotlib documentation `__ for more information.List of analyses
================The analysis pipeline is currently being developed.
The list of analyses will grow as more of them are added.
To request inclusion of a particular analysis protocol, please file a new issue.F-I curve
~~~~~~~~~Generate an F-I curve for the cell by simulating it with a range of step currents
Configuration:
- currents_min: minimum current input for step current
- currents_max: maximum current input for step current
- currents_steps: number of steps between minimum and maximum current
- currents: list of explicit current values to provide
- dt: simulation time step
- temperature: temperature for simulation (for temperature sensitive ion channels, eg: "32degC")
- stim_start: start time of current step stimulation
- stim_duration: duration of current step simulation
- sim_duration: total simulation durationOutput characteristics with random (Poisson) inputs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Generate plots of the behaviour of the cell when given Poisson inputs at different parts of its cell morphology.
Configuration:
- num_inputs: number of Poisson inputs
- hz_inputs: frequency of inputs
- num_iterations: number of iterations
- dt: simulation time step
- temperature: temperature for simulation (for temperature sensitive ion channels, eg: "32degC")
- sim_duration: total simulation duration