-
Notifications
You must be signed in to change notification settings - Fork 84
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
Add support for NWB schema 2.3.0 #1245
Conversation
Codecov Report
@@ Coverage Diff @@
## dev #1245 +/- ##
==========================================
- Coverage 73.41% 73.41% -0.01%
==========================================
Files 37 37
Lines 2310 2328 +18
Branches 354 357 +3
==========================================
+ Hits 1696 1709 +13
- Misses 553 557 +4
- Partials 61 62 +1
Continue to review full report at Codecov.
|
Only validation errors remain before this is ready to merge. (This is not tested on per-PR CI, but nightly CI.) The main error is:
hdmf-experimental is cached within the file but NWB objects should not be validated against it. |
e1ebed7
to
1b19251
Compare
* remove validate_core_schema. You can check the core schema with e.g. * Update Subject unit test * Fix Subject unit test, add check for date_of_birth Co-authored-by: Ryan Ly <[email protected]>
* add option to include source_channels for DecompositionSeries and include round trip test * Use latest schema * Add unit test
* Add optional link to Device in ImageSeries * Add support for device in ImageSeries subclasses * Update ImageMaskSeries docstring * Update schema
* add continuity optional arg to TimeSeries.__init__ * use new enum feature of hdmf to check against controlled vocabulary * Fix flake8 * Add integration test * Fix flake8 * Add correct mapping for data.continuity Co-authored-by: Ryan Ly <[email protected]>
src/pynwb/file.py
Outdated
@@ -55,7 +56,8 @@ class Subject(NWBContainer): | |||
{'name': 'subject_id', 'type': str, 'doc': 'a unique identifier for the subject', 'default': None}, | |||
{'name': 'weight', 'type': str, 'doc': 'the weight of the subject', 'default': None}, | |||
{'name': 'date_of_birth', 'type': datetime, 'default': None, | |||
'doc': 'datetime of date of birth. May be supplied instead of age.'}) | |||
'doc': 'datetime of date of birth. May be supplied instead of age.'}, | |||
{'name': 'strain', 'type': str, 'doc': 'the strain of the subject', 'default': None}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we have a recommendation for how the strain should be specified. If so, it would be nice to add an example in the 'doc' .
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I updated this. Please review.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added a few minor comments, but otherwise this looks good.
fff47eb
to
13b6c4e
Compare
The current release of PyNWB, version 1.3.2, supports nwb-schema version 2.2.5. This PR adds support for nwb-schema minor version 2.3.0.
This PR tracks the dev branch of nwb-schema to ensure that changes in nwb-schema are compatible with PyNWB or are accompanied with corresponding changes in PyNWB. Those changes in PyNWB should be merged into this branch.
waveforms
column to theUnits
table.strain
field toSubject
.DecompositionSeries
an optionalDynamicTableRegion
calledsource_channels
.ImageSeries
an optional link toDevice
.continuity
field toTimeSeries
.filtering
attribute toElectricalSeries
.stimulus_description
forIZeroCurrentClamp
to have the fixed valueN/A
.ExternalResources
andEnumData
data types. Schema in the HDMF-experimental namespace are experimental and subject to breaking changes at any time.
ExternalResources
for storing ontology information / external resource references.EnumData
to store data from a set of fixed values.CSRMatrix
from 'int' to 'uint' and added missingdata_type_inc: Container
to the
CSRMatrix
type.SimpleMultiContainer
, a Container for storing other Container and Data objects together.AlignedDynamicTable
, a DynamicTable type with support for categories (or sub-headings) each described by a separate DynamicTable.VectorIndex
.VectorIndex
now extendsVectorData
instead ofIndex
.Index
data type.cd src/pynwb/nwb-schema/
,git checkout dev
,git pull origin dev
,git fetch --tags
,git checkout dev
,cd ../../..
,git add .
,git commit -m "Update nwb-schema submodule to [new_release]
, andgit push
After merging: