https://github.com/alleninstitute/npc_ephys

Tools for accessing and processing raw ephys data, compatible with data in the cloud.

https://github.com/alleninstitute/npc_ephys

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 2 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.0%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

Tools for accessing and processing raw ephys data, compatible with data in the cloud.

Basic Info
  • Host: GitHub
  • Owner: AllenInstitute
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 472 KB
Statistics
  • Stars: 0
  • Watchers: 9
  • Forks: 2
  • Open Issues: 0
  • Releases: 0
Created over 2 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog Contributing License

README.md

npc_ephys

Tools for accessing and processing raw ephys data, compatible with data in the cloud.

PyPI Python version

Coverage CI/CD GitHub issues

Usage

bash conda create -n npc_ephys python>=3.9 conda activate npc_ephys pip install npc_ephys

Windows

wavpack-numcodecs is used to read compressed ephys data from S3 (stored in Zarr format). On Windows, that requires C++ build tools to be installed: if pip install npc_ephys fails you'll likely need to download it from here.

Python

```python

import npc_ephys

get device timing on sync clock using barcodes:

recordingpath = 's3://aind-ephys-data/ecephys6702482023-08-0312-04-15/ecephysclipped/Record Node 102/experiment1/recording1' syncpath = 's3://aind-ephys-data/ecephys6702482023-08-0312-04-15/behavior/20230803T120415.h5' timingdata = next(npcephys.getephystimingonsync(syncpath, recordingpath)) timingdata.device.name, timingdata.samplingrate, timingdata.starttime ('Neuropix-PXI-100.ProbeA-AP', 30000.070518634246, 20.080209634424037)

get a dataclass that reads SpikeInterface sorted data from the cloud

- from a path:

si = npcephys.getspikeinterface_data('s3://codeocean-s3datasetsbucket-1u41qdg42ur9/4797cab2-9ea2-4747-8d15-5ba064837c1c')

- or from a subject ID + date + session-index-on-date (separators are optional):

si = npcephys.getspikeinterfacedata('6702482023-08-03_0')

si SpikeInterfaceKS25Data(session='6702482023-08-030', root=S3Path('s3://codeocean-s3datasetsbucket-1u41qdg42ur9/4797cab2-9ea2-4747-8d15-5ba064837c1c'))

various bits of data are available for use:

si.version '0.97.1' ''.join(si.probes) 'ABCEF' si.qualitymetricsdf('probeA').columns Index(['numspikes', 'firingrate', 'presenceratio', 'snr', 'isiviolationsratio', 'isiviolationscount', 'rpcontamination', 'rpviolations', 'slidingrpviolation', 'amplitudecutoff', 'driftptp', 'driftstd', 'driftmad', 'isolationdistance', 'lratio', 'dprime'], dtype='object') si.spikeindexes('probeA') array([ 491, 738, 835, ..., 143124925, 143125165, 143125201]) si.unitindexes('probeA') array([ 56, 61, 161, ..., 151, 72, 59]) ```

Development

See instructions in https://github.com/AllenInstitute/npc_ephys/CONTRIBUTING.md and the original template: https://github.com/AllenInstitute/copier-pdm-npc/blob/main/README.md

Owner

  • Name: Allen Institute
  • Login: AllenInstitute
  • Kind: organization
  • Location: Seattle, WA

Please visit http://alleninstitute.github.io/ for more information.

GitHub Events

Total
  • Push event: 14
  • Create event: 4
Last Year
  • Push event: 14
  • Create event: 4

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 119
  • Total Committers: 2
  • Avg Commits per committer: 59.5
  • Development Distribution Score (DDS): 0.109
Past Year
  • Commits: 77
  • Committers: 2
  • Avg Commits per committer: 38.5
  • Development Distribution Score (DDS): 0.13
Top Committers
Name Email Commits
bjhardcastle b****e@a****g 106
arjun.sridhar12345 a****8@g****m 13
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 12 months ago

All Time
  • Total issues: 1
  • Total pull requests: 0
  • Average time to close issues: about 12 hours
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 2.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • bjhardcastle (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 510 last-month
  • Total dependent packages: 4
  • Total dependent repositories: 0
  • Total versions: 35
  • Total maintainers: 1
pypi.org: npc-ephys

Tools for accessing and processing raw ephys data, compatible with data in the cloud.

  • Versions: 35
  • Dependent Packages: 4
  • Dependent Repositories: 0
  • Downloads: 510 Last month
Rankings
Dependent packages count: 9.9%
Average: 37.7%
Dependent repos count: 65.5%
Maintainers (1)
Last synced: 11 months ago

Dependencies

.github/workflows/docs.yml actions
  • actions/checkout v3 composite
  • pdm-project/setup-pdm main composite
  • peaceiris/actions-gh-pages v3 composite
.github/workflows/publish.yml actions
  • actions/checkout v4 composite
  • codecov/codecov-action v3 composite
  • pdm-project/setup-pdm v4 composite
pyproject.toml pypi
  • npc-lims >=0.1.115
  • npc-sync >=0.1.2
  • pandas >=2.2.0
  • tqdm >=4.66.1
  • wavpack-numcodecs >=0.1.5
  • zarr >=2.16.1