Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

behapy: A behavioural neuroscience analysis package for Python #63

Open
1 of 2 tasks
crnolan opened this issue Nov 20, 2023 · 3 comments
Open
1 of 2 tasks

behapy: A behavioural neuroscience analysis package for Python #63

crnolan opened this issue Nov 20, 2023 · 3 comments

Comments

@crnolan
Copy link
Collaborator

crnolan commented Nov 20, 2023

Title

behapy: A behavioural neuroscience analysis package for Python

Leaders

Chris Nolan (Mattermost: @cnolan | Mastodon: @[email protected])

Collaborators

Thomas Burton
Karly Turner
Phil Jean-Richard Dit Bressel
Chelsea Goulton
J Bertran-Gonzalez
Lydia Barnes
Kelly Garner

Brainhack Global 2023 Event

Brainhack Australasia

Project Description

Studies using optic fibres to record real-time fluorescent biosensors in-vivo are now commonplace, yet despite an increasing literature on best practices for analysing such data, there is a surprising lack of fit-for-purpose API-level tooling. This project is a continuing effort to fill this gap by providing flexible Python-based implementations of common normalisation and artefact correction procedures for fluorescent biosensors, along with useful event-based analyses.

The goals of this project will extend beyond Brainhack Global 2023, but all are in an effort to create an open-source API and workbench for analysing fibre photometry data in a behavioural neuroscience context. Since Brainhack Global 2022, we have created a basic artefact-rejection workbench, a preprocessing stage and implemented simple linear regression for event-level analysis. This year the goal is to create a method to benchmark normalisation methods by creating data simulation functionality under different assumptions about the sources of recording noise. We are also aiming to outline the steps to including a more comprehensive functional linear mixed effects modelling analysis for event-based analysis, generalise the API to better handle purely behavioural (non-photometry) data, and generally improve the usability of the package.

Link to project repository/sources

https://github.com/crnolan/behapy

Goals for Brainhack Global

  • Create a utility for simulating raw fibre photometry data under a variety of assumptions (for testing the toolkit).
  • Add functional linear mixed modelling for event transients analysis (as an alternative to simple linear regression with permutation tests).
  • Develop both API-level and tutorial documentation. Docstrings are currently sparse and light on detail, and walkthroughs are virtually non-existent.
  • Add import scripts for MedPC datasets, and put together a skeleton framework for event summary and plotting functions.

Good first issues

  1. Check and update installation instructions for behapy package.
  2. Document end-user experience for running existing fibre preprocessing workbench on sample data.
  3. Establish a configuration format / tool for importing structured MedPC files.
  4. Structure the pre-processing interface so as to allow the traces to scale, and interactively compare / select different but reasonable normalisation methods.

Communication channels

https://mattermost.brainhack.org/brainhack/channels/behapy

Skills

Primarily, some knowledge of fluorescent biosensor normalisation and analysis procedures will be useful. We'll be predominantly working in Python, but there will be tasks for all levels of Python competency.

Bonus useful skills:

  • Signal processing (we'll be filtering and fitting timeseries data)
  • Python interactive visualisation (bokeh / holoviews / panel / seaborn / matplotlib)
  • Working knowledge of linear regression and mixed effects models
  • BIDS experience - while we won't be attempting to add an official BIDS extension for fibre photometry in this project, we are trying to stay approximately in line with BIDS format

Onboarding documentation

No response

What will participants learn?

  • Data manipulation in Python (numpy / pandas)
  • Signal filtering in Python
  • GitHub collaboration techniques

Data to use

BYO fibre & behavioural data - we'll create a repository of useful examples.

Number of collaborators

more

Credit to collaborators

Project contributors will be listed on the project README.

Image

Leave this text if you don't have an image yet.

Type

data_management, documentation, method_development, pipeline_development, visualization

Development status

2_releases_existing

Topic

statistical_modelling, systems_neuroscience, other

Tools

BIDS, Jupyter

Programming language

Python

Modalities

behavioral, other

Git skills

0_no_git_skills, 1_commit_push, 2_branches_PRs

Anything else?

Topic: behavioural neuroscience
Modalities: fibre photometry

Things to do after the project is submitted and ready to review.

  • Add a comment below the main post of your issue saying: Hi @brainhackorg/project-monitors my project is ready!
  • Twitter-sized summary of your project pitch.
@crnolan
Copy link
Collaborator Author

crnolan commented Nov 20, 2023

Hi @brainhackorg/project-monitors my project is ready!

@Remi-Gau
Copy link
Member

Good with me

@Remi-Gau
Copy link
Member

Reopening to be able to "list it" in the brainhack jupyter book
Planning to update this page: http://brainhack.org/brainhack_jupyter_book/projects.html

@Remi-Gau Remi-Gau reopened this Jan 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment