Skip to content

Commit 07f858c

Browse files
authored
Merge pull request #24 from ttngu207/main
update README, improve markdown formatting, specify `long_description_content_type` to markdown, add versioning and GH Action for PyPI release
2 parents f2ac602 + 98753ed commit 07f858c

File tree

8 files changed

+40
-338
lines changed

8 files changed

+40
-338
lines changed

.github/workflows/development.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ jobs:
7676
needs: build
7777
runs-on: ubuntu-latest
7878
env:
79-
TWINE_USERNAME: ${{secrets.twine_test_username}}
80-
TWINE_PASSWORD: ${{secrets.twine_test_password}}
79+
TWINE_USERNAME: ${{secrets.twine_username}}
80+
TWINE_PASSWORD: ${{secrets.twine_password}}
8181
outputs:
8282
release_upload_url: ${{steps.create_gh_release.outputs.upload_url}}
8383
steps:
@@ -122,7 +122,7 @@ jobs:
122122
docker load < "image-${{env.PKG_NAME}}-${PKG_VERSION}-py3.8-alpine.tar.gz"
123123
docker-compose -f docker-compose-build.yaml run \
124124
-e TWINE_USERNAME=${TWINE_USERNAME} -e TWINE_PASSWORD=${TWINE_PASSWORD} element \
125-
sh -lc "pip install twine && python -m twine upload --repository testpypi dist/*"
125+
sh -lc "pip install twine && python -m twine upload dist/*"
126126
- name: Determine pip artifact paths
127127
run: |
128128
echo "PKG_WHEEL_PATH=$(ls dist/${PKG_NAME}-*.whl)" >> $GITHUB_ENV

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Observes [Semantic Versioning](https://semver.org/spec/v2.0.0.html) standard and [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) convention.
44

5-
## [0.1.0a3] - 2021-04-26
5+
## [0.1.0a3] - 2021-05-03
66
### Added
77
+ Added GitHub Action release process
88
+ `probe` and `ephys` elements

README.md

Lines changed: 31 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ See [Background](Background.md) for the background information and development t
1515

1616
## The Pipeline Architecture
1717

18-
![ephys pipeline diagram](images/attached_ephys_element.svg)
18+
![element-array-ephys diagram](images/attached_array_ephys_element.svg)
1919

2020
As the diagram depicts, the array ephys element starts immediately downstream from ***Session***,
2121
and also requires some notion of ***Location*** as a dependency for ***InsertionLocation***.
@@ -27,32 +27,47 @@ and also requires some notion of ***Location*** as a dependency for ***Insertion
2727
+ An electrode here refers to one recordable electrode site on the Neuropixels probe (e.g. for Neuropixels 1.0, there are 960 sites per shank)
2828
+ ***Probe*** - record of an actual physical probe, identifiable by some unique ID (e.g. probe's serial number)
2929
+ ***ElectrodeConfig*** - particular electrode configuration to be used for ephys recording
30-
+ ***ElectrodeConfig.Electrode*** - corresponding electrodes in ***ProbeType.Electrode*** that are used for recording in this electrode configuration
31-
(e.g. for Neuropixels 1.0 or 2.0, there can be at most 384 electrodes usable for recording per probe)
30+
+ ***ElectrodeConfig.Electrode*** - corresponding electrodes in ***ProbeType.Electrode*** that are used for recording in this electrode configuration (e.g. for Neuropixels 1.0 or 2.0, there can be at most 384 electrodes usable for recording per probe)
3231

3332
### Extracellular ephys recording
3433

35-
+ ***ProbeInsertion*** - a surgical insertion of a probe onto the animal.
36-
Every experimental session consists of one or more ***ProbeInsertion***, with corresponding ***InsertionLocation***
37-
+ ***EphysRecording*** - each ***ProbeInsertion*** is accompanied by a corresponding ***EphysRecording***,
38-
specifying the ***ElectrodeConfig*** used for the recording from the ***Probe*** defined in such ***ProbeInsertion***
39-
+ ***get_npx_data_dir*** method - the class ***EphysRecording*** requires user
40-
to supply a method to retrieve the directory containing the recorded neuropixels data (e.g. `*.ap.meta`, `*.ap.bin`, etc.),
41-
where the method's input arguments are the primary attributes identifying one ***EphysRecording***
34+
+ ***ProbeInsertion*** - a surgical insertion of a probe in the brain. Every experimental session consists of one or more entries in ***ProbeInsertion*** with a corresponding ***InsertionLocation*** each
35+
+ ***EphysRecording*** - each ***ProbeInsertion*** is accompanied by a corresponding ***EphysRecording***, specifying the ***ElectrodeConfig*** used for the recording from the ***Probe*** defined in such ***ProbeInsertion***
4236

4337
### Clusters and spikes
4438

4539
This ephys element features automatic ingestion for spike sorting results from the ***kilosort*** method.
4640

4741
+ ***Clustering*** - specify instance(s) of clustering on an ***EphysRecording***, by some ***ClusteringMethod***
48-
+ ***get_ks_data_dir*** method - the class ***Clustering*** requires user
49-
to supply a method to retrieve the directory containing the kilosort results,
50-
where the method's input arguments are the primary attributes identifying one ***Clustering***
51-
+ ***Unit*** - Identified unit(s) from one ***Clustering***, with associated ***ClusterQualityLabel***
52-
+ ***UnitSpikeTimes*** - spike times per unit
53-
+ ***Waveform*** - mean waveform across spikes per unit per recording electrode
42+
+ ***Curation*** - specify instance(s) of curations performed on the output of a given ***Clustering***
43+
+ ***CuratedClustering*** - set of results from a particular round of clustering/curation
44+
+ ***CuratedClustering.Unit*** - Identified unit(s) from one ***Curation***, and the associated properties (e.g. cluster quality, spike times, spike depths, etc.)
45+
+ ***WaveformSet*** - A set of spike waveforms for units from a given CuratedClustering
5446

5547

5648
## Usage
5749

50+
### Element activation
51+
52+
To activate the `element-array-ephys`, ones need to provide:
53+
54+
1. Schema names
55+
+ schema name for the probe module
56+
+ schema name for the ephys module
57+
58+
2. Upstream tables
59+
+ Session table
60+
+ SkullReference table (Reference table for InsertionLocation, specifying the skull reference)
61+
62+
3. Utility functions
63+
+ get_ephys_root_data_dir()
64+
+ get_session_directory()
65+
66+
For more detail, check the docstring of the `element-array-ephys`:
67+
68+
help(probe.activate)
69+
help(ephys.activate)
70+
71+
### Example usage
72+
5873
See [this project](https://github.com/datajoint/workflow-array-ephys) for an example usage of this Array Electrophysiology Element.

images/attached_array_ephys_element.svg

Lines changed: 3 additions & 0 deletions
Loading

images/attached_ephys_element.png

-79.3 KB
Binary file not shown.

images/attached_ephys_element.svg

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)