AllenSDK 2.0.0 was officially released on 6/11/2020.
This release affects data for the Visual Coding Neuropixels project.
Major features of this release include:
-
Relaxed version pinning of pynwb and hdmf, which are dependencies which AllenSDK uses to write and read Neurodata Without Borders (NWB) format data files.
-
A reorganization of NWB file contents for Visual Coding Neuropixels data to remove NWB schema violations and better align with NWB best practices
Due to newer versions of pynwb/hdmf having issues reading previously released Visual Coding Neuropixels NWB files and due to the significant reorganization of their NWB file contents, this release contains breaking changes that necessitate a major version revision. NWB files released prior to 6/11/2020 are not guaranteed to work with the 2.0.0 version of AllenSDK. If you cannot or choose not to re-download the updated NWB files, you can continue using a prior version of AllenSDK (< 2.0.0) to access them. However, no further features or bugfixes for AllenSDK (< 2.0.0) are planned.
Data released for other projects (Cell Types, Mouse Connectivity, etc.) are NOT affected and will NOT need to be re-downloaded.
When using the Visual Coding EcephysProjectCache
from this updated AllenSDK version, if a ManifestError
is encountered, this indicates that previously downloaded cached data files need to be removed and re-downloaded. The location of these files as well as manifest are user defined and are set when instantiating an EcephysProjectCache
. For example:
# Example cache directory path, it determines where downloaded data will be stored
manifest_path = os.path.join("/local1/ecephys_cache_dir/", "manifest.json")
cache = EcephysProjectCache.from_warehouse(manifest=manifest_path)
Please note that when getting Visual Coding Neuropixels stimulus presentations for this new version of AllenSDK that some columns have been removed due to their uninformative or superfluous nature.
# The `colorSpace`, `depth`, `interpolate`, `pos`, `rgbPedestal`,
# `tex`, `texRes`, `flipHoriz`, `flipVert`, `rgb`, `signalDots`
# are now omitted in the stimulus table.
stimulus_table = session.get_stimulus_table()