Skip to main content

Converts electrophysiology, photometry, and behavioral data for the hex maze task used by the Berke Lab at UCSF to NWB format for sharing and analysis.

Project description

jdb_to_nwb

PyPI version Test Package Build Status

Converts electrophysiology, photometry, and behavioral data for the hex maze task used by the Berke Lab at UCSF to NWB format for sharing and analysis.

Installation

git clone https://github.com/calderast/jdb_to_nwb.git
cd jdb_to_nwb
pip install -e .

Usage

  1. Open one of the example metadata files in a text editor (metadata_example_Jose.yaml for Jose's experiments, or metadata_example_Tim.yaml for Tim / Yang-Sun / Stephanie's experiments). Update the paths to point to your data and update the metadata for your experiment. See metadata_fully_explained.yaml for an explanation of all metadata fields.

  2. Run the conversion to generate an NWB file (replace output_dir with your desired output directory). The nwb file will be automatically named based on the animal name and date (i.e. rat_date.nwb):

jdb_to_nwb metadata_example.yaml output_dir
  1. Sub-directories for associated figures and conversion log files will be created alongside the nwb file in output_dir. Check that there are no errors in the error log file and that all figures look as expected.

Downloading test data (Developers only)

The large test data files are stored in a shared UCSF Box account. To get access to the test data, please contact the repo maintainers.

Create a new file called .env in the root directory of the repository and add your Box credentials:

BOX_USERNAME=<your_box_username>
BOX_PASSWORD=<your_box_password>

Or set the environment variables in your shell:

export BOX_USERNAME=<your_box_username>
export BOX_PASSWORD=<your_box_password>

Then run the download script:

python tests/download_test_data.py

You can pass the --overwrite flag to overwrite existing files:

python tests/download_test_data.py --overwrite

Notes:

  • Run python tests/test_data/create_raw_ephys_test_data.py to re-create the test data for raw_ephys.
  • Run python tests/test_data/create_processed_ephys_test_data.py to re-create the test data for processed_ephys.
  • tests/test_data/processed_ephys/impedance.csv was manually created for testing purposes.
  • tests/test_data/processed_ephys/geom.csv was manually created for testing purposes.
  • Some files (settings.xml, structure.oebin) nested within tests/test_data/raw_ephys/2022-07-25_15-30-00 were manually created for testing purposes.

The GitHub Actions workflow (.github/workflows/test_package_build.yml) will automatically download the test data and run the tests.

Versioning

Versioning is handled automatically using hatch-vcs using the latest tag in the git history as the version number. To make a new release, simply tag the current commit and push to the repository. Use semantic versioning to set the version number. Create a GitHub release using the tag.

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

jdb_to_nwb-2.3.0.tar.gz (16.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jdb_to_nwb-2.3.0-py3-none-any.whl (15.0 MB view details)

Uploaded Python 3

File details

Details for the file jdb_to_nwb-2.3.0.tar.gz.

File metadata

  • Download URL: jdb_to_nwb-2.3.0.tar.gz
  • Upload date:
  • Size: 16.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jdb_to_nwb-2.3.0.tar.gz
Algorithm Hash digest
SHA256 3acfaa748d74f91567f451abe928a31e3b82a9e93a97e11ee42d67a25dcfa3bd
MD5 1946dc53932270d60839e1eb841b2cfd
BLAKE2b-256 11194835c0e58a362b066abf1d4ea4d53363c621bfd058689382dd5b60a4257d

See more details on using hashes here.

File details

Details for the file jdb_to_nwb-2.3.0-py3-none-any.whl.

File metadata

  • Download URL: jdb_to_nwb-2.3.0-py3-none-any.whl
  • Upload date:
  • Size: 15.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jdb_to_nwb-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b1f6ed4e979e0eb4cc5cab18f6d2fb10d5d9e19690f9743f4dc2c01a53a608b7
MD5 8cf61ef3ff39e8bc9209d2008a5e8827
BLAKE2b-256 9ab222e422a448b388ff3d54a624b4b645a581dc351e8166326ed0369a911db7

See more details on using hashes here.

Supported by

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