Skip to main content

ANNUBeS: training Artificial Neural Networks to Uncover Behavioral Strategies in neuroscience

Project description

ANNUBeS

Badges
fairness OpenSSF Best Practices fair-software.eu
package PyPI version
docs Documentation RSD DOI
tests build sonarcloud markdown-links cffconvert linting static-typing workflow scq badge workflow scc badge
running on ubuntu mac win Python Python
license github license badge

Overview

The use of animals in neuroscience research is a fundamental tool to understand the inner workings of the brain during perception and cognition in health and disease. Neuroscientists train animals, often rodents, in behavioral tasks over several months, however training protocols are sometimes not well defined and this leads to delays in research, additional costs, or the need of more animals. Finding strategies to optimize animal training in safe and ethical ways is therefore of crucial importance in neuroscience.

ANNUBeS, which stays for Artificial Neural Networks to Uncover Behavioral Strategies, is a deep learning framework meant to generate synthetic data and train on them neural networks aimed at developing and evaluating animals' training protocols in neuroscience. The package gives the users the possibility to generate behavioral data in a very flexible way, that can be used to train neural networks in the same way that animals are trained, and study whether the developed models can predict the behavior of the animals. The ultimate goal of the framework is to lead researchers to more efficient training protocols, thus improving neuroscience practices.

📚 Documentation

🐛 Bugs reports and ⭐ features requests here

🔧 Pull Requests

For more details about how to contribute, see the contribution guidelines.

❗❗ DISCLAIMER ❗❗

Please note that this software is currently in its early stages of development. As such, some features may not work exactly as intended or envisioned yet. We appreciate your patience and understanding. If you encounter any issues or have suggestions for improvement, we encourage you to open an issue on our repository. Thank you for your support!

Table of contents

Installation

Repository installation

We advise to install the package inside a virtual environment (using conda or venv).

After having created and activated your environment, to install ANNUBeS from GitHub repository, do:

git clone git@github.com:ANNUBS/annubes.git
cd annubes
pip install .

Pip installation

Under development.

Get started

Generate synthetic data

The Task data class can be used for defining a behavioral task, and many parameters can be set. The configuration of the trials that can appear during a session is given by a dictionary representing the ratio of the different trials within the task (session). Trials with a single modality (e.g., a visual trial) must be represented by single characters, while trials with multiple modalities (e.g., an audiovisual trial) are represented by the character combination of those trials. The probability of catch trials (denoted by X) in the session can be set using the catch_prob parameter.

from annubes.task import Task

task = Task(name='example_task',
                session={"v":0.5, "a":0.5},
                stim_intensities=[0.7, 0.9],
                stim_time=2000,
                catch_prob=0.3)

For more details about the Task class parameters, see the API Documentation.

Then, trials can be generated:

NTRIALS = 10
trials = task.generate_trials(NTRIALS)

And plotted:

task.plot_trials(NTRIALS)

Train neural networks

This functionality is still under development.

Contributing

If you want to contribute to the development of annubes, have a look at the contribution guidelines.

Credits

This package was created with Cookiecutter and the NLeSC/python-template.

Package development

If you're looking for developer documentation, go here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

annubes-0.1.1.tar.gz (133.7 kB view hashes)

Uploaded Source

Built Distribution

annubes-0.1.1-py3-none-any.whl (20.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page