Skip to content
/ annubes Public

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

License

Notifications You must be signed in to change notification settings

ANNUBS/annubes

Repository files navigation

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

We advise to install the package inside a virtual environment (using conda or venv). Make sure to create an environment containing a Python version >=3.11 and pip package installer.

After having created and activated your environment, you have two ways for installing ANNUBeS.

Pip installation

This is the recommended installation for users.

pip install annubes

This command will install the latest version of the package deployed on PyPI.

Repository installation

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

The above commands will install the most recent version of the repository, using the default branch (main).

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.

About

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

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages