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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file annubes-0.1.1.tar.gz.

File metadata

  • Download URL: annubes-0.1.1.tar.gz
  • Upload date:
  • Size: 133.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for annubes-0.1.1.tar.gz
Algorithm Hash digest
SHA256 1db4137a8478b8e1c50fa6da4a0cb14e19520231530587da862b16ce8d24b4e5
MD5 735d87d80b819f05eb53610f1a59d33d
BLAKE2b-256 712278d7231e141ee284c143c6eb8282ec6e3d3be923395d3e03ae401ab051bf

See more details on using hashes here.

File details

Details for the file annubes-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: annubes-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 20.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for annubes-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ddac9b5d3d9df22400d530187d97e3ef11e23f4e7ad5a5972fe9a652064d7580
MD5 ae8e87455e03faf29800d7cd96e78b34
BLAKE2b-256 5726643206f18bab0dedf29575de290110e863c798df73dad7d4b62a8f01331f

See more details on using hashes here.

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