simuran


Namesimuran JSON
Version 23.8.0 PyPI version JSON
download
home_pagehttps://github.com/seankmartin/SIMURAN
SummarySimultaneous Multi-region Analysis supported with a network style
upload_time2023-08-08 11:45:00
maintainer
docs_urlNone
authorSean K. Martin
requires_python>=3.7
licenseGNU GPL
keywords neuroscience network gui api
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            # Simuran

[![Documentation Status](https://readthedocs.org/projects/simuran/badge/?version=latest)](https://simuran.readthedocs.io/en/latest/?badge=latest)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=seankmartin_SIMURAN&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=seankmartin_SIMURAN)
[![codecov](https://codecov.io/gh/seankmartin/SIMURAN/branch/main/graph/badge.svg?token=F67OEU0PF2)](https://codecov.io/gh/seankmartin/SIMURAN)
[![Maintainability](https://api.codeclimate.com/v1/badges/97aa79ac8f356de695d5/maintainability)](https://codeclimate.com/github/seankmartin/SIMURAN/maintainability)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)

![Demo of UI](images/demo.gif)

To see more details than in the README, our [read the docs](https://simuran.readthedocs.io/en/latest/) site, or the PhD thesis of Sean K. Martin.

## Installation

```console
pip install simuran
```

### MAC OS

- To use the UI, you will need to perform at least the following - `brew install libpng`.
- It is possible you may also need the MAC command line developer tools.

## Usage

### Objective

Simuran can help facilitate batch processing of many neural recordings in an easy to handle way.

The main objects to setup are Recordings (containing all information relevant to an experiment, or part of an experiment) and RecordingContainers, which are a series of Recordings.
For instance, a RecordingContainer could represent all t-maze running speed, spikes, etc. and associated metadata, while a Recording is an individual t-maze session.
This can then support easy extraction of subcontainers, such as, all trials which were successful in mice expressing a particular gene.

### API

The API is built around the Recording and RecordingContainer classes, for instance, one way to load an NWB file is as follows:

```python
import simuran

recording = simuran.Recording(
    source_file=PATH_TO_NWB, loader=simuran.loader("NWB"))
recording.load()
recording.inspect() # See what was loaded
```

The Recording class is designed to be as flexible as possible, and can be used to load any data, as long as a loader is provided.
The loader is a class which takes a Recording object and loads the data into it.
Other modules include the analysis module, which allows multi-processing of analysis functions, and the base module, which contains the base classes for the API.
The plot module contains plotting functions for general use, and also some simple figure handling (auto garbage collection, etc.).
Finally, the bridge module contains Bridge class definitions, which are used to allow interoperability between different software tools and data formats in neuroscience.

### GUI - Visual node based editor

Here, the focus is mostly on the Recording level, but multiple recordings can be bundled as blocks.

Recordings are loaded and processed via Nodes which are established through the UI and run in a digraph fashion.
The UI is built using dearpygui, and supports a subset of the API via nodes, which can be expanded upon.

![Demo of UI still](images/Demo2.PNG)

### Examples

Some examples are provided in the examples folder.

## Contributing

Contributions are welcome, and any issues can be raised on the github page. Please feel free to reach out to me if you have any questions.

## License

Simuran is distributed under the GPL-3.0 License.

## Inspiration

1. [NeuroChaT: Analysis toolset with GUI for Neuroscience](https://github.com/seankmartin/NeuroChaT)
2. [SpikeInterface ยท GitHub](https://github.com/SpikeInterface)
3. [A set of python neuroscience scripts which rely on the NeuroChaT API](https://github.com/seankmartin/NeuroChaT_API_Scripts)
4. [MNE: Magnetoencephalography (MEG) and Electroencephalography (EEG) in Python](https://github.com/mne-tools/mne-python/)
5. [Sumatra - NeuralEnsemble](http://neuralensemble.org/sumatra/)
6. [Snakemake](https://snakemake.readthedocs.io/en/stable/)

## Update coverage

```console
pytest .
codecov -t ba31944a-6070-401e-a731-1bd2f92a5e55
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/seankmartin/SIMURAN",
    "name": "simuran",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "neuroscience,network,gui,api",
    "author": "Sean K. Martin",
    "author_email": "martins7@tcd.ie",
    "download_url": "https://files.pythonhosted.org/packages/9b/a2/2a51042b7d1d85b9718f1d0f9eda1134b4ecd59e175205ce4d64d791452b/simuran-23.8.0.tar.gz",
    "platform": null,
    "description": "# Simuran\n\n[![Documentation Status](https://readthedocs.org/projects/simuran/badge/?version=latest)](https://simuran.readthedocs.io/en/latest/?badge=latest)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=seankmartin_SIMURAN&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=seankmartin_SIMURAN)\n[![codecov](https://codecov.io/gh/seankmartin/SIMURAN/branch/main/graph/badge.svg?token=F67OEU0PF2)](https://codecov.io/gh/seankmartin/SIMURAN)\n[![Maintainability](https://api.codeclimate.com/v1/badges/97aa79ac8f356de695d5/maintainability)](https://codeclimate.com/github/seankmartin/SIMURAN/maintainability)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n\n![Demo of UI](images/demo.gif)\n\nTo see more details than in the README, our [read the docs](https://simuran.readthedocs.io/en/latest/) site, or the PhD thesis of Sean K. Martin.\n\n## Installation\n\n```console\npip install simuran\n```\n\n### MAC OS\n\n- To use the UI, you will need to perform at least the following - `brew install libpng`.\n- It is possible you may also need the MAC command line developer tools.\n\n## Usage\n\n### Objective\n\nSimuran can help facilitate batch processing of many neural recordings in an easy to handle way.\n\nThe main objects to setup are Recordings (containing all information relevant to an experiment, or part of an experiment) and RecordingContainers, which are a series of Recordings.\nFor instance, a RecordingContainer could represent all t-maze running speed, spikes, etc. and associated metadata, while a Recording is an individual t-maze session.\nThis can then support easy extraction of subcontainers, such as, all trials which were successful in mice expressing a particular gene.\n\n### API\n\nThe API is built around the Recording and RecordingContainer classes, for instance, one way to load an NWB file is as follows:\n\n```python\nimport simuran\n\nrecording = simuran.Recording(\n    source_file=PATH_TO_NWB, loader=simuran.loader(\"NWB\"))\nrecording.load()\nrecording.inspect() # See what was loaded\n```\n\nThe Recording class is designed to be as flexible as possible, and can be used to load any data, as long as a loader is provided.\nThe loader is a class which takes a Recording object and loads the data into it.\nOther modules include the analysis module, which allows multi-processing of analysis functions, and the base module, which contains the base classes for the API.\nThe plot module contains plotting functions for general use, and also some simple figure handling (auto garbage collection, etc.).\nFinally, the bridge module contains Bridge class definitions, which are used to allow interoperability between different software tools and data formats in neuroscience.\n\n### GUI - Visual node based editor\n\nHere, the focus is mostly on the Recording level, but multiple recordings can be bundled as blocks.\n\nRecordings are loaded and processed via Nodes which are established through the UI and run in a digraph fashion.\nThe UI is built using dearpygui, and supports a subset of the API via nodes, which can be expanded upon.\n\n![Demo of UI still](images/Demo2.PNG)\n\n### Examples\n\nSome examples are provided in the examples folder.\n\n## Contributing\n\nContributions are welcome, and any issues can be raised on the github page. Please feel free to reach out to me if you have any questions.\n\n## License\n\nSimuran is distributed under the GPL-3.0 License.\n\n## Inspiration\n\n1. [NeuroChaT: Analysis toolset with GUI for Neuroscience](https://github.com/seankmartin/NeuroChaT)\n2. [SpikeInterface \u00b7 GitHub](https://github.com/SpikeInterface)\n3. [A set of python neuroscience scripts which rely on the NeuroChaT API](https://github.com/seankmartin/NeuroChaT_API_Scripts)\n4. [MNE: Magnetoencephalography (MEG) and Electroencephalography (EEG) in Python](https://github.com/mne-tools/mne-python/)\n5. [Sumatra - NeuralEnsemble](http://neuralensemble.org/sumatra/)\n6. [Snakemake](https://snakemake.readthedocs.io/en/stable/)\n\n## Update coverage\n\n```console\npytest .\ncodecov -t ba31944a-6070-401e-a731-1bd2f92a5e55\n```\n",
    "bugtrack_url": null,
    "license": "GNU GPL",
    "summary": "Simultaneous Multi-region Analysis supported with a network style",
    "version": "23.8.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/seankmartin/SIMURAN/issues",
        "Documentation": "https://simuran.readthedocs.io",
        "Download": "https://github.com/seankmartin/SIMURAN",
        "Homepage": "https://github.com/seankmartin/SIMURAN"
    },
    "split_keywords": [
        "neuroscience",
        "network",
        "gui",
        "api"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fcbf2e6e8102f7125c5381e93154a54d97df8b3466f911ae3d48d3d676965a8f",
                "md5": "ddbbf853c8d766c8e01ce06a2e1d8417",
                "sha256": "8b5134a831f369f4cb53a8910700c35694ced3573e3cf7d1fe7b2c71ad132f38"
            },
            "downloads": -1,
            "filename": "simuran-23.8.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ddbbf853c8d766c8e01ce06a2e1d8417",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 68980,
            "upload_time": "2023-08-08T11:44:59",
            "upload_time_iso_8601": "2023-08-08T11:44:59.473553Z",
            "url": "https://files.pythonhosted.org/packages/fc/bf/2e6e8102f7125c5381e93154a54d97df8b3466f911ae3d48d3d676965a8f/simuran-23.8.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9ba22a51042b7d1d85b9718f1d0f9eda1134b4ecd59e175205ce4d64d791452b",
                "md5": "badadc3fbe0cfb1bd13e52ba487b75ee",
                "sha256": "bdee2ada7ad7b19fd1d99e870f96062c38f424c6fd48b1a8eb93222ddb5bdc33"
            },
            "downloads": -1,
            "filename": "simuran-23.8.0.tar.gz",
            "has_sig": false,
            "md5_digest": "badadc3fbe0cfb1bd13e52ba487b75ee",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 63491,
            "upload_time": "2023-08-08T11:45:00",
            "upload_time_iso_8601": "2023-08-08T11:45:00.987844Z",
            "url": "https://files.pythonhosted.org/packages/9b/a2/2a51042b7d1d85b9718f1d0f9eda1134b4ecd59e175205ce4d64d791452b/simuran-23.8.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-08 11:45:00",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "seankmartin",
    "github_project": "SIMURAN",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "lcname": "simuran"
}
        
Elapsed time: 0.40459s