Skip to main content

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.

Release files for annubes 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for annubes 0.1.1
File Size Uploaded
annubes-0.1.1.tar.gz 133.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for annubes 0.1.1
File Interpreter ABI Platform
annubes-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 154.0 kB

Release files / annubes-0.1.1.tar.gz

Download URL annubes-0.1.1.tar.gz
Size 133.7 kB
Tags Source
SHA-256 checksum
How to use checksums
1db4137a8478b8e1c50fa6da4a0cb14e19520231530587da862b16ce8d24b4e5
BLAKE2b-256 checksum
How to use checksums
712278d7231e141ee284c143c6eb8282ec6e3d3be923395d3e03ae401ab051bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / annubes-0.1.1-py3-none-any.whl

Download URL annubes-0.1.1-py3-none-any.whl
Size 20.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ddac9b5d3d9df22400d530187d97e3ef11e23f4e7ad5a5972fe9a652064d7580
BLAKE2b-256 checksum
How to use checksums
5726643206f18bab0dedf29575de290110e863c798df73dad7d4b62a8f01331f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page