rutishauserlab / SBCAT-release-NWB

Example code accompanying the Sternberg-CAT data release for Daume et. al. (2024).
BSD 3-Clause "New" or "Revised" License
5 stars 0 forks source link

Dataset read error in Matlab #1

Closed vkichu77 closed 7 months ago

vkichu77 commented 7 months ago

sir, In matlab, the following error occurs while reading the file "000673/sub-1/sub-1_ses-1_ecephys+image.nwb",

Error using types.core.ElectricalSeries/validate_data_unit Unable to set the 'data_unit' property of class '[ElectricalSeries](matlab:doc types.core.ElectricalSeries)' because it is read-only.

Error in [types.core.TimeSeries/set.data_unit](matlab:matlab.internal.language.introspective.errorDocCallback('types.core.TimeSeries/set.data_unit', '/home/jevanthika/matnwb/+types/+core/TimeSeries.m', 106)) ([line 106](matlab: opentoline('/home/jevanthika/matnwb/+types/+core/TimeSeries.m',106,0))) obj.data_unit = obj.validate_data_unit(val);

Error in [types.core.TimeSeries](matlab:matlab.internal.language.introspective.errorDocCallback('types.core.TimeSeries', '/home/jevanthika/matnwb/+types/+core/TimeSeries.m', 67)) ([line 67](matlab: opentoline('/home/jevanthika/matnwb/+types/+core/TimeSeries.m',67,0))) obj.data_unit = p.Results.data_unit;

Error in [types.core.ElectricalSeries](matlab:matlab.internal.language.introspective.errorDocCallback('types.core.ElectricalSeries', '/home/jevanthika/matnwb/+types/+core/ElectricalSeries.m', 23)) ([line 23](matlab: opentoline('/home/jevanthika/matnwb/+types/+core/ElectricalSeries.m',23,0))) obj = obj@types.core.TimeSeries(varargin{:});

Error in [io.parseGroup](matlab:matlab.internal.language.introspective.errorDocCallback('io.parseGroup', '/home/jevanthika/matnwb/+io/parseGroup.m', 85)) ([line 85](matlab: opentoline('/home/jevanthika/matnwb/+io/parseGroup.m',85,0))) parsed = eval([Type.typename '(kwargs{:})']);

Error in [io.parseGroup](matlab:matlab.internal.language.introspective.errorDocCallback('io.parseGroup', '/home/jevanthika/matnwb/+io/parseGroup.m', 38)) ([line 38](matlab: opentoline('/home/jevanthika/matnwb/+io/parseGroup.m',38,0))) subg = [io.parseGroup](matlab:matlab.internal.language.introspective.errorDocCallback('io.parseGroup', '/home/jevanthika/matnwb/+io/parseGroup.m', 38))(filename, group, Blacklist);

Error in io.parseGroup ([line 38](matlab: opentoline('/home/jevanthika/matnwb/+io/parseGroup.m',38,0))) subg = io.parseGroup(filename, group, Blacklist);

Error in [nwbRead](matlab:matlab.internal.language.introspective.errorDocCallback('nwbRead', '/home/jevanthika/matnwb/nwbRead.m', 79)) ([line 79](matlab: opentoline('/home/jevanthika/matnwb/nwbRead.m',79,0))) nwb = io.parseGroup(filename, h5info(filename), Blacklist);

KyzarNexus commented 7 months ago

Hi, @vkichu77, thanks for opening this issue & providing the error messages! To better diagnose the problem, could you please provide additional information about the system & package versions you're currently using (OS, matnwb version, MATLAB version, etc.)? Additionally, could you provide the script used & line number where the error first occurred?

vkichu77 commented 7 months ago

Sir, Thank you for your prompt reply. I got the following error, while running NWB_SBCAT_analysis_main.m file given in the repository:

(1) Reading sub-1_ses-1_ecephys+image.nwb ... Warning: Error found for: /home/jevanthika/dataset2/000673/sub-1/sub-1_ses-1_ecephys+image.nwb In NWB_importFromFolder_SBCAT (line 53) In NWB_SBCAT_analysis_main (line 75) Unable to set the 'data_unit' property of class 'ElectricalSeries' because it is read-only. (2) Reading sub-1_ses-2_ecephys+image.nwb ... Warning: Error found for: /home/jevanthika/dataset2/000673/sub-1/sub-1_ses-2_ecephys+image.nwb In NWB_importFromFolder_SBCAT (line 53) In NWB_SBCAT_analysis_main (line 75) Unable to set the 'data_unit' property of class 'ElectricalSeries' because it is read-only. (3) Reading sub-2_ses-1_ecephys+image.nwb ... Warning: Error found for: /home/jevanthika/dataset2/000673/sub-2/sub-2_ses-1_ecephys+image.nwb In NWB_importFromFolder_SBCAT (line 53) In NWB_SBCAT_analysis_main (line 75) Unable to set the 'data_unit' property of class 'ElectricalSeries' because it is read-only.

My configuration: os - centos 9 stream Matlab 2023b matnwb - downloaded latest from git clone https://github.com/NeurodataWithoutBorders/matnwb.git

KyzarNexus commented 7 months ago

Hi @vkichu77, Thank you for providing additional context. Currently, the code & data releases have been tested on the following systems: MatNWB: Release 2.6.0.2 MATLAB: 2019a, 2020a, 2022a, 2023a OS: Windows 11, Mac OS

As MatNWB is in an active development state, it is not guaranteed that the most recent cloned version of MatNWB would be compatible with files created using an earlier version. As such, I would highly recommend having the most recent official release (2.6.0.2) version downloaded and activated on your device. After downloading and using this version, please let me know if the error persists.

vkichu77 commented 7 months ago

Hi @KyzarNexus, That's is the issue. Installed version MatNWB-2.6.0.2 It's working. Thank you.