catalystneuro / tye-lab-to-nwb

NWB Conversion project for the Tye lab at the Salk Institute.
MIT License
0 stars 0 forks source link

timestamps_reference_time issue #42

Closed laurelrr closed 3 months ago

laurelrr commented 10 months ago

Hi Guys, I'm trying to upload my converted data to DANDI and I got up to the step running dandi validate --ignore DANDI.NO_DANDISET_FOUND ./ in my data directory. It generated what looks like an error and I am not sure how to fix it?

(dandi) lkeyes@stokes:/snlkt/data/hao/Neurotensin/NWB/neurotensin$ dandi validate --ignore DANDI.NO_DANDISET_FOUND ./
/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/pynwb/file.py:471: UserWarning: Date is missing timezone information. Updating to local timezone.
  args_to_set['session_start_time'] = _add_missing_timezone(session_start_time)
/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/pynwb/file.py:471: UserWarning: Date is missing timezone information. Updating to local timezone.
  args_to_set['session_start_time'] = _add_missing_timezone(session_start_time)
/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/pynwb/file.py:471: UserWarning: Date is missing timezone information. Updating to local timezone.
  args_to_set['session_start_time'] = _add_missing_timezone(session_start_time)
/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/pynwb/file.py:471: UserWarning: Date is missing timezone information. Updating to local timezone.
  args_to_set['session_start_time'] = _add_missing_timezone(session_start_time)
/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/pynwb/file.py:471: UserWarning: Date is missing timezone information. Updating to local timezone.
  args_to_set['session_start_time'] = _add_missing_timezone(session_start_time)
/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/pynwb/file.py:471: UserWarning: Date is missing timezone information. Updating to local timezone.
  args_to_set['session_start_time'] = _add_missing_timezone(session_start_time)
[NWBI.check_image_series_external_file_relative] /nadata/snlkt/data/hao/Neurotensin/NWB/neurotensin/H01_DiscS.nwb — The external file '/nadata/snlkt/data/hao/Neurotensin/ephys/recordings/BLA recordings/Videos/1_20190713DiscS.asf' is not a relative path. Please adjust the absolute path to be relative to the location of the NWBFile.
[NWBI.check_image_series_external_file_relative] /nadata/snlkt/data/hao/Neurotensin/NWB/neurotensin/H02_DiscS.nwb — The external file '/nadata/snlkt/data/hao/Neurotensin/ephys/recordings/BLA recordings/Videos/2_20190714DiscS.asf' is not a relative path. Please adjust the absolute path to be relative to the location of the NWBFile.
[NWBI.check_image_series_external_file_relative] /nadata/snlkt/data/hao/Neurotensin/NWB/neurotensin/H07_DiscS.nwb — The external file '/nadata/snlkt/data/hao/Neurotensin/ephys/recordings/BLA recordings/Videos/7_20190713DiscS.asf' is not a relative path. Please adjust the absolute path to be relative to the location of the NWBFile.
[NWBI.check_image_series_external_file_relative] /nadata/snlkt/data/hao/Neurotensin/NWB/neurotensin/H08_DiscS.nwb — The external file '/nadata/snlkt/data/hao/Neurotensin/ephys/recordings/BLA recordings/Videos/8_20190714DiscS.asf' is not a relative path. Please adjust the absolute path to be relative to the location of the NWBFile.
[NWBI.check_image_series_external_file_relative] /nadata/snlkt/data/hao/Neurotensin/NWB/neurotensin/H09_Disc4.nwb — The external file '/nadata/snlkt/data/hao/Neurotensin/ephys/recordings/PVT-BLA_NT_KO_NACproj batch1/Discrimination day 4/video/9_20190830_Disc4.asf' is not a relative path. Please adjust the absolute path to be relative to the location of the NWBFile.
[NWBI.check_image_series_external_file_relative] /nadata/snlkt/data/hao/Neurotensin/NWB/neurotensin/H10_Disc4.nwb — The external file '/nadata/snlkt/data/hao/Neurotensin/ephys/recordings/PVT-BLA_NT_KO_NACproj batch1/Discrimination day 4/video/10_20190830_Disc4.asf' is not a relative path. Please adjust the absolute path to be relative to the location of the NWBFile.
[NWBI.During io.read() - <class 'hdmf.build.errors.ConstructError'>: 

[Snipped error message]

laurelrr commented 10 months ago
The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/nwbinspector/nwbinspector.py", line 566, in inspect_nwbfile
    nwbfile_object = robust_s3_read(command=io.read, max_retries=max_retries)
  File "/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/nwbinspector/utils.py", line 173, in robust_s3_read
    raise exc
  File "/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/nwbinspector/utils.py", line 168, in robust_s3_read
    return command(*command_args, **command_kwargs)
  File "/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/hdmf/utils.py", line 664, in func_call
    return func(args[0], **pargs)
  File "/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/pynwb/__init__.py", line 304, in read
    file = super().read(**kwargs)
  File "/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/hdmf/backends/hdf5/h5tools.py", line 479, in read
    return super().read(**kwargs)
  File "/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/hdmf/utils.py", line 664, in func_call
    return func(args[0], **pargs)
  File "/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/hdmf/backends/io.py", line 60, in read
    container = self.__manager.construct(f_builder)
  File "/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/hdmf/utils.py", line 664, in func_call
    return func(args[0], **pargs)
  File "/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/hdmf/build/manager.py", line 284, in construct
    result = self.__type_map.construct(builder, self, None)
  File "/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/hdmf/utils.py", line 664, in func_call
    return func(args[0], **pargs)
  File "/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/hdmf/build/manager.py", line 795, in construct
    return obj_mapper.construct(builder, build_manager, parent)
  File "/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/hdmf/utils.py", line 664, in func_call
    return func(args[0], **pargs)
  File "/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/hdmf/build/objectmapper.py", line 1262, in construct
    raise ConstructError(builder, msg) from ex
hdmf.build.errors.ConstructError: (
CodyCBakerPhD commented 10 months ago

Did you run dandi organize first, following these instructions? https://www.dandiarchive.org/handbook/13_upload/#data-uploadmanagement-workflow

laurelrr commented 10 months ago

That is what I am following now. I got up to Step (d) in those instructions, which is the step before the organize step (e). Step d generated that error.

laurelrr commented 10 months ago

When I forge ahead, and run

dandi download https://dandiarchive.org/dandiset/<dataset_id>/draft
cd <dataset_id>
dandi organize <source_folder> -f dry
(base) lkeyes@stokes:/snlkt/data/hao/Neurotensin/NWB$ cd 000689/
(base) lkeyes@stokes:/snlkt/data/hao/Neurotensin/NWB/000689$ dandi organize /snlkt/data/hao/Neurotensin/NWB/neurotensin/ -f dry
2023-10-23 14:43:15,341 [ WARNING] A newer version (0.56.2) of dandi/dandi-cli is available. You are using 0.52.0
2023-10-23 14:43:16,370 [    INFO] Note: NumExpr detected 16 cores but "NUMEXPR_MAX_THREADS" not set, so enforcing safe limit of 8.
2023-10-23 14:43:16,370 [    INFO] NumExpr defaulting to 8 threads.
2023-10-23 14:43:17,534 [    INFO] Loading metadata from 32 files
[Parallel(n_jobs=-1)]: Using backend LokyBackend with 16 concurrent workers.
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-common' version 1.8.0 because version 1.5.1 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-experimental' version 0.5.0 because version 0.2.0 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-common' version 1.8.0 because version 1.5.1 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-experimental' version 0.5.0 because version 0.2.0 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-common' version 1.8.0 because version 1.5.1 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-experimental' version 0.5.0 because version 0.2.0 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-common' version 1.8.0 because version 1.5.1 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-experimental' version 0.5.0 because version 0.2.0 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-common' version 1.8.0 because version 1.5.1 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-experimental' version 0.5.0 because version 0.2.0 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-common' version 1.8.0 because version 1.5.1 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-experimental' version 0.5.0 because version 0.2.0 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-common' version 1.8.0 because version 1.5.1 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-experimental' version 0.5.0 because version 0.2.0 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-common' version 1.8.0 because version 1.5.1 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-experimental' version 0.5.0 because version 0.2.0 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-common' version 1.8.0 because version 1.5.1 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-experimental' version 0.5.0 because version 0.2.0 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-common' version 1.8.0 because version 1.5.1 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-experimental' version 0.5.0 because version 0.2.0 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-common' version 1.8.0 because version 1.5.1 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-experimental' version 0.5.0 because version 0.2.0 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-common' version 1.8.0 because version 1.5.1 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-experimental' version 0.5.0 because version 0.2.0 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-common' version 1.8.0 because version 1.5.1 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-experimental' version 0.5.0 because version 0.2.0 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-common' version 1.8.0 because version 1.5.1 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-experimental' version 0.5.0 because version 0.2.0 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-common' version 1.8.0 because version 1.5.1 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-experimental' version 0.5.0 because version 0.2.0 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-common' version 1.8.0 because version 1.5.1 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
/home/lkeyes/anaconda3/lib/python3.9/site-packages/hdmf/spec/namespace.py:531: UserWarning: Ignoring cached namespace 'hdmf-experimental' version 0.5.0 because version 0.2.0 is already loaded.
  warn("Ignoring cached namespace '%s' version %s because version %s is already loaded."
external file /nadata/snlkt/data/hao/Neurotensin/ephys/recordings/BLA recordings/Videos/7_20190713DiscS.asf should be one of: .mp4, .avi, .wmv, .mov, .flv, .mkv
external file /nadata/snlkt/data/hao/Neurotensin/ephys/recordings/BLA recordings/Videos/1_20190713DiscS.asf should be one of: .mp4, .avi, .wmv, .mov, .flv, .mkv
external file /nadata/snlkt/data/hao/Neurotensin/ephys/recordings/BLA recordings/Videos/2_20190714DiscS.asf should be one of: .mp4, .avi, .wmv, .mov, .flv, .mkv
external file /nadata/snlkt/data/hao/Neurotensin/ephys/recordings/BLA recordings/Videos/8_20190714DiscS.asf should be one of: .mp4, .avi, .wmv, .mov, .flv, .mkv
external file /nadata/snlkt/data/hao/Neurotensin/ephys/recordings/PVT-BLA_NT_KO_NACproj batch1/Discrimination day 4/video/10_20190830_Disc4.asf should be one of: .mp4, .avi, .wmv, .mov, .flv, .mkv
/home/lkeyes/anaconda3/lib/python3.9/site-packages/pynwb/file.py:470: UserWarning: Date is missing timezone information. Updating to local timezone.
  args_to_set['session_start_time'] = _add_missing_timezone(session_start_time)
[Parallel(n_jobs=-1)]: Done   5 out of  32 | elapsed:    6.3s remaining:   33.8s
external file /nadata/snlkt/data/hao/Neurotensin/ephys/recordings/PVT-BLA_NT_KO_NACproj batch3/videos/H023Disc4.asf should be one of: .mp4, .avi, .wmv, .mov, .flv, .mkv
/home/lkeyes/anaconda3/lib/python3.9/site-packages/pynwb/file.py:470: UserWarning: Date is missing timezone information. Updating to local timezone.
  args_to_set['session_start_time'] = _add_missing_timezone(session_start_time)
external file /nadata/snlkt/data/hao/Neurotensin/ephys/recordings/PVT-BLA_NT_KO_NACproj batch1/Discrimination day 4/video/9_20190830_Disc4.asf should be one of: .mp4, .avi, .wmv, .mov, .flv, .mkv
[Parallel(n_jobs=-1)]: Done   9 out of  32 | elapsed:    6.4s remaining:   16.2s
external file /nadata/snlkt/data/hao/Neurotensin/ephys/recordings/PVT-BLA_NT_KO_NACproj batch3/videos/H024Disc3.asf should be one of: .mp4, .avi, .wmv, .mov, .flv, .mkv
/home/lkeyes/anaconda3/lib/python3.9/site-packages/pynwb/file.py:470: UserWarning: Date is missing timezone information. Updating to local timezone.
  args_to_set['session_start_time'] = _add_missing_timezone(session_start_time)
external file /nadata/snlkt/data/hao/Neurotensin/ephys/recordings/PVT-BLA_NT_KO_NACproj batch2/For Hao Videos/H17_20191031_Disc5.asf should be one of: .mp4, .avi, .wmv, .mov, .flv, .mkv
external file /nadata/snlkt/data/hao/Neurotensin/ephys/recordings/PVT-BLA_NT_KO_NACproj batch2/For Hao Videos/H19_20191031_Disc5.asf should be one of: .mp4, .avi, .wmv, .mov, .flv, .mkv
external file /nadata/snlkt/data/hao/Neurotensin/ephys/recordings/PVT-BLA_NT_KO_NACproj batch3/videos/H022Disc3.asf should be one of: .mp4, .avi, .wmv, .mov, .flv, .mkv
[Parallel(n_jobs=-1)]: Done  13 out of  32 | elapsed:    6.5s remaining:    9.5s
[Parallel(n_jobs=-1)]: Done  17 out of  32 | elapsed:    8.0s remaining:    7.1s
/home/lkeyes/anaconda3/lib/python3.9/site-packages/pynwb/file.py:470: UserWarning: Date is missing timezone information. Updating to local timezone.
  args_to_set['session_start_time'] = _add_missing_timezone(session_start_time)
external file /nadata/snlkt/data/hao/Neurotensin/ephys/recordings/PVT-BLA_NT_KO_CeMproj batch2/videos/H34Disc5.asf should be one of: .mp4, .avi, .wmv, .mov, .flv, .mkv
external file /nadata/snlkt/data/hao/Neurotensin/ephys/recordings/PVT-BLA_NT_KO_CeMproj batch2/videos/H32Disc5.asf should be one of: .mp4, .avi, .wmv, .mov, .flv, .mkv
[Parallel(n_jobs=-1)]: Done  21 out of  32 | elapsed:    8.6s remaining:    4.5s
external file /nadata/snlkt/data/hao/Neurotensin/ephys/recordings/PVT-BLA_NT_KO_CeMproj batch2/videos/H32Disc6.asf should be one of: .mp4, .avi, .wmv, .mov, .flv, .mkv
external file /nadata/snlkt/data/hao/Neurotensin/ephys/recordings/PVT-BLA_NT_KO_CeMproj batch3/videos/H37Disc5.asf should be one of: .mp4, .avi, .wmv, .mov, .flv, .mkv
external file /nadata/snlkt/data/hao/Neurotensin/ephys/recordings/PVT-BLA_NT_KO_CeMproj batch2/videos/H33Disc5.asf should be one of: .mp4, .avi, .wmv, .mov, .flv, .mkv
external file /nadata/snlkt/data/hao/Neurotensin/ephys/recordings/PVT-BLA_NT_KO_CeMproj batch3/videos/H39Disc5.asf should be one of: .mp4, .avi, .wmv, .mov, .flv, .mkv
[Parallel(n_jobs=-1)]: Done  25 out of  32 | elapsed:    8.8s remaining:    2.5s
/home/lkeyes/anaconda3/lib/python3.9/site-packages/pynwb/file.py:470: UserWarning: Date is missing timezone information. Updating to local timezone.
  args_to_set['session_start_time'] = _add_missing_timezone(session_start_time)
external file /nadata/snlkt/data/hao/Neurotensin/ephys/recordings/PVT-BLA_NT_KO_CeMproj batch2/videos/H36Disc6.asf should be one of: .mp4, .avi, .wmv, .mov, .flv, .mkv
external file /nadata/snlkt/data/hao/Neurotensin/ephys/recordings/PVT-BLA_NT_KO_CeMproj batch3/videos/H40Disc5.asf should be one of: .mp4, .avi, .wmv, .mov, .flv, .mkv
external file /nadata/snlkt/data/hao/Neurotensin/ephys/recordings/PVT-BLA_NT_KO_CeMproj batch3/videos/H38Disc5.asf should be one of: .mp4, .avi, .wmv, .mov, .flv, .mkv
[Parallel(n_jobs=-1)]: Done  29 out of  32 | elapsed:    8.9s remaining:    0.9s
external file /nadata/snlkt/data/hao/Neurotensin/ephys/recordings/PVT-BLA_NT_KO_CeMproj batch3/videos/H41Disc5.asf should be one of: .mp4, .avi, .wmv, .mov, .flv, .mkv
/home/lkeyes/anaconda3/lib/python3.9/site-packages/pynwb/file.py:470: UserWarning: Date is missing timezone information. Updating to local timezone.
  args_to_set['session_start_time'] = _add_missing_timezone(session_start_time)
[Parallel(n_jobs=-1)]: Done  32 out of  32 | elapsed:    9.0s finished
2023-10-23 14:43:26,526 [ WARNING] Completely empty record for /snlkt/data/hao/Neurotensin/NWB/neurotensin/H11_Disc4.nwb
2023-10-23 14:43:26,527 [ WARNING] Completely empty record for /snlkt/data/hao/Neurotensin/NWB/neurotensin/H13_Disc4.nwb
2023-10-23 14:43:26,527 [ WARNING] Completely empty record for /snlkt/data/hao/Neurotensin/NWB/neurotensin/H27_Disc4.nwb
2023-10-23 14:43:26,527 [ WARNING] Completely empty record for /snlkt/data/hao/Neurotensin/NWB/neurotensin/H31_Disc7.nwb
2023-10-23 14:43:26,527 [ WARNING] Completely empty record for /snlkt/data/hao/Neurotensin/NWB/neurotensin/H35_Disc7.nwb
2023-10-23 14:43:26,527 [ WARNING] Completely empty record for /snlkt/data/hao/Neurotensin/NWB/neurotensin/H42_Disc5.nwb
2023-10-23 14:43:26,527 [    INFO] Logs saved in /home/lkeyes/.cache/dandi-cli/log/20231023214313Z-140481.log
Error: 6 out of 32 files were found not containing all necessary metadata: /snlkt/data/hao/Neurotensin/NWB/neurotensin/H11_Disc4.nwb, /snlkt/data/hao/Neurotensin/NWB/neurotensin/H13_Disc4.nwb, /snlkt/data/hao/Neurotensin/NWB/neurotensin/H27_Disc4.nwb, /snlkt/data/hao/Neurotensin/NWB/neurotensin/H31_Disc7.nwb, /snlkt/data/hao/Neurotensin/NWB/neurotensin/H35_Disc7.nwb, /snlkt/data/hao/Neurotensin/NWB/neurotensin/H42_Disc5.nwb
laurelrr commented 10 months ago

So, it looks like 'organize' gives me an error Error: 6 out of 32 files were found not containing all necessary metadata: ../neurotensin/H11_Disc4.nwb, ../neurotensin/H13_Disc4.nwb, ../neurotensin/H27_Disc4.nwb, ../neurotensin/H31_Disc7.nwb, ../neurotensin/H35_Disc7.nwb, ../neurotensin/H42_Disc5.nwb

But validate is all good:

(dandi) lkeyes@stokes:/snlkt/data/hao/Neurotensin/NWB/000689$ dandi validate .
No errors found.
2023-10-23 15:11:22,974 [    INFO] Logs saved in /home/lkeyes/.cache/dandi-cli/log/20231023221121Z-141071.log

But I don't think it is letting me upload because it says 'skipped'

(dandi) lkeyes@stokes:/snlkt/data/hao/Neurotensin/NWB/000689$ dandi upload
2023-10-23 15:12:35,571 [    INFO] Found 1 files to consider
PATH                 SIZE    ERRORS UPLOAD STATUS    MESSAGE
dandiset.yaml        2.2 kB                skipped   should be edited online
Summary:             2.2 kB                1 skipped 1 should be edited online
2023-10-23 15:12:35,661 [    INFO] Logs saved in /home/lkeyes/.cache/dandi-cli/log/20231023221231Z-141163.log
laurelrr commented 10 months ago

OK, I think I need to get our ethics approval number. I will get that and try again.

CodyCBakerPhD commented 10 months ago

dandi organize -f dry

-f dry only shows you an example of what the new file names will be, it doesn't actually perform the organization yet

Can you try just dandi organize <source folder> and see what happens? I'd be curious to see what the missing metadata is (@weiglszonja We had them insert the age, species, and sex at runtime, right?)

OK, I think I need to get our ethics approval number.

Great to have if you know it, but AFAIK it isn't a strict requirement yet

laurelrr commented 10 months ago

Yes, age, species and sex are in the convert_session scripts and are in the files.

laurelrr commented 10 months ago
(dandi) lkeyes@stokes:/snlkt/data/hao/Neurotensin/NWB/000689$ dandi organize ../neurotensin
2023-10-23 16:45:07,397 [    INFO] Loading metadata from 32 files
[Parallel(n_jobs=-1)]: Using backend LokyBackend with 16 concurrent workers.
[Parallel(n_jobs=-1)]: Done   5 out of  32 | elapsed:    2.5s remaining:   13.4s
[Parallel(n_jobs=-1)]: Done   9 out of  32 | elapsed:    2.5s remaining:    6.4s
[Parallel(n_jobs=-1)]: Done  13 out of  32 | elapsed:    2.5s remaining:    3.7s
[Parallel(n_jobs=-1)]: Done  17 out of  32 | elapsed:    2.5s remaining:    2.2s
[Parallel(n_jobs=-1)]: Done  21 out of  32 | elapsed:    2.6s remaining:    1.3s
[Parallel(n_jobs=-1)]: Done  25 out of  32 | elapsed:    2.6s remaining:    0.7s
/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/pynwb/file.py:471: UserWarning: Date is missing timezone information. Updating to local timezone.
  args_to_set['session_start_time'] = _add_missing_timezone(session_start_time)
/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/pynwb/file.py:471: UserWarning: Date is missing timezone information. Updating to local timezone.
  args_to_set['session_start_time'] = _add_missing_timezone(session_start_time)
/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/pynwb/file.py:471: UserWarning: Date is missing timezone information. Updating to local timezone.
  args_to_set['session_start_time'] = _add_missing_timezone(session_start_time)
[Parallel(n_jobs=-1)]: Done  29 out of  32 | elapsed:    4.5s remaining:    0.5s
/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/pynwb/file.py:471: UserWarning: Date is missing timezone information. Updating to local timezone.
  args_to_set['session_start_time'] = _add_missing_timezone(session_start_time)
/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/pynwb/file.py:471: UserWarning: Date is missing timezone information. Updating to local timezone.
  args_to_set['session_start_time'] = _add_missing_timezone(session_start_time)
/home/lkeyes/anaconda3/envs/dandi/lib/python3.9/site-packages/pynwb/file.py:471: UserWarning: Date is missing timezone information. Updating to local timezone.
  args_to_set['session_start_time'] = _add_missing_timezone(session_start_time)
[Parallel(n_jobs=-1)]: Done  32 out of  32 | elapsed:    4.6s finished
2023-10-23 16:45:11,959 [ WARNING] Completely empty record for ../neurotensin/H11_Disc4.nwb
2023-10-23 16:45:11,959 [ WARNING] Completely empty record for ../neurotensin/H13_Disc4.nwb
2023-10-23 16:45:11,959 [ WARNING] Completely empty record for ../neurotensin/H27_Disc4.nwb
2023-10-23 16:45:11,959 [ WARNING] Completely empty record for ../neurotensin/H31_Disc7.nwb
2023-10-23 16:45:11,959 [ WARNING] Completely empty record for ../neurotensin/H35_Disc7.nwb
2023-10-23 16:45:11,959 [ WARNING] Completely empty record for ../neurotensin/H42_Disc5.nwb
2023-10-23 16:45:11,959 [    INFO] Logs saved in /home/lkeyes/.cache/dandi-cli/log/20231023234505Z-143225.log
Error: 6 out of 32 files were found not containing all necessary metadata: ../neurotensin/H11_Disc4.nwb, ../neurotensin/H13_Disc4.nwb, ../neurotensin/H27_Disc4.nwb, ../neurotensin/H31_Disc7.nwb, ../neurotensin/H35_Disc7.nwb, ../neurotensin/H42_Disc5.nwb
weiglszonja commented 10 months ago

@laurelrr do you still have the inspector log text files for these 6 files? Maybe there we can get a clue what is missing? Otherwise if you share one of these files I'm taking a look and get back to you.

laurelrr commented 10 months ago

20231023203356Z-138518.log This was the first log file generated when I tried running.

weiglszonja commented 10 months ago

Sorry @laurelrr for specifying it better, can you run from the terminal:

nwbinspector ../neurotensin/H11_Disc4.nwb --config dandi --report-file-path report.txt

And send us the report.txt file that the nwbinspector generates?

laurelrr commented 10 months ago

That doesn't seem to have generated the file 'report.txt'. Instead, I got some kind ConstructError.

(tyenwbenv39) lkeyes@stokes:/snlkt/data/hao/Neurotensin/NWB$ nwbinspector neurotensin/H11_Disc4.nwb --config dandi --report-file-path report.txt
/home/lkeyes/anaconda3/envs/tyenwbenv39/lib/python3.9/site-packages/pynwb/file.py:471: UserWarning: Date is missing timezone information. Updating to local timezone.
  args_to_set['session_start_time'] = _add_missing_timezone(session_start_time)
Traceback (most recent call last):
  File "/home/lkeyes/anaconda3/envs/tyenwbenv39/lib/python3.9/site-packages/hdmf/build/objectmapper.py", line 1256, in construct
    obj = self.__new_container__(cls, builder.source, parent, builder.attributes.get(self.__spec.id_key()),
  File "/home/lkeyes/anaconda3/envs/tyenwbenv39/lib/python3.9/site-packages/hdmf/build/objectmapper.py", line 1269, in __new_container__
    obj.__init__(**kwargs)
  File "/home/lkeyes/anaconda3/envs/tyenwbenv39/lib/python3.9/site-packages/hdmf/utils.py", line 644, in func_call
    return func(args[0], **pargs)
  File "/home/lkeyes/anaconda3/envs/tyenwbenv39/lib/python3.9/site-packages/pynwb/file.py", line 479, in __init__
    raise ValueError("'timestamps_reference_time' must be a timezone-aware datetime object.")
ValueError: 'timestamps_reference_time' must be a timezone-aware datetime object.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/lkeyes/anaconda3/envs/tyenwbenv39/bin/nwbinspector", line 8, in <module>
    sys.exit(inspect_all_cli())
  File "/home/lkeyes/anaconda3/envs/tyenwbenv39/lib/python3.9/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/home/lkeyes/anaconda3/envs/tyenwbenv39/lib/python3.9/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/home/lkeyes/anaconda3/envs/tyenwbenv39/lib/python3.9/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/lkeyes/anaconda3/envs/tyenwbenv39/lib/python3.9/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/home/lkeyes/anaconda3/envs/tyenwbenv39/lib/python3.9/site-packages/nwbinspector/nwbinspector.py", line 271, in inspect_all_cli
    messages = list(
  File "/home/lkeyes/anaconda3/envs/tyenwbenv39/lib/python3.9/site-packages/nwbinspector/nwbinspector.py", line 403, in inspect_all
    nwbfile = robust_s3_read(io.read)
  File "/home/lkeyes/anaconda3/envs/tyenwbenv39/lib/python3.9/site-packages/nwbinspector/utils.py", line 173, in robust_s3_read
    raise exc
  File "/home/lkeyes/anaconda3/envs/tyenwbenv39/lib/python3.9/site-packages/nwbinspector/utils.py", line 168, in robust_s3_read
    return command(*command_args, **command_kwargs)
  File "/home/lkeyes/anaconda3/envs/tyenwbenv39/lib/python3.9/site-packages/hdmf/utils.py", line 644, in func_call
    return func(args[0], **pargs)
  File "/home/lkeyes/anaconda3/envs/tyenwbenv39/lib/python3.9/site-packages/pynwb/__init__.py", line 304, in read
    file = super().read(**kwargs)
  File "/home/lkeyes/anaconda3/envs/tyenwbenv39/lib/python3.9/site-packages/hdmf/backends/hdf5/h5tools.py", line 479, in read
    return super().read(**kwargs)
  File "/home/lkeyes/anaconda3/envs/tyenwbenv39/lib/python3.9/site-packages/hdmf/utils.py", line 644, in func_call
    return func(args[0], **pargs)
  File "/home/lkeyes/anaconda3/envs/tyenwbenv39/lib/python3.9/site-packages/hdmf/backends/io.py", line 60, in read
    container = self.__manager.construct(f_builder)
  File "/home/lkeyes/anaconda3/envs/tyenwbenv39/lib/python3.9/site-packages/hdmf/utils.py", line 644, in func_call
    return func(args[0], **pargs)
  File "/home/lkeyes/anaconda3/envs/tyenwbenv39/lib/python3.9/site-packages/hdmf/build/manager.py", line 284, in construct
    result = self.__type_map.construct(builder, self, None)
  File "/home/lkeyes/anaconda3/envs/tyenwbenv39/lib/python3.9/site-packages/hdmf/utils.py", line 644, in func_call
    return func(args[0], **pargs)
  File "/home/lkeyes/anaconda3/envs/tyenwbenv39/lib/python3.9/site-packages/hdmf/build/manager.py", line 795, in construct
    return obj_mapper.construct(builder, build_manager, parent)
  File "/home/lkeyes/anaconda3/envs/tyenwbenv39/lib/python3.9/site-packages/hdmf/utils.py", line 644, in func_call
    return func(args[0], **pargs)
  File "/home/lkeyes/anaconda3/envs/tyenwbenv39/lib/python3.9/site-packages/hdmf/build/objectmapper.py", line 1260, in construct
    raise ConstructError(builder, msg) from ex
hdmf.build.errors.ConstructError: (root GroupBuilder {'attributes': {'namespace': 'core', 'neurodata_type': 'NWBFile', 'nwb_version': '2.6.0', 'object_id': 'be0fb70d-f2d1-4eef-8f4b-fc0c91ead3b4'}, 'groups': {'acquisition': root/acquisition GroupBuilder {'attributes': {}, 'groups': {'COFAImages': root/acquisition/COFAImages GroupBuilder {'attributes': {'description': 'The 1 confocal images from FLUOVIEW FV1000 version 1.2.6.0 extracted from H11_20x_PVT.oif.', 'namespace': 'core', 'neurodata_type': 'Images', 'object_id': 'de15aa3e-6633-4c74-97d5-1fc8e2e60d73'}, 'groups': {}, 'datasets': {'GrayScaleImage1Depth1': root/acquisition/COFAImages/GrayScaleImage1Depth1 DatasetBuilder {'attributes': {'description': 'The image intensity from 1 region at -4.145e-05 meters depth.', 'namespace': 'core', 'neurodata_type': 'GrayscaleImage', 'object_id': '170a217c-a484-458b-9db3-0a90f7c48b36'}, 'data': <Closed HDF5 dataset>}, 'GrayScaleImage1Depth2': root/acquisition/COFAImages/GrayScaleImage1Depth2 DatasetBuilder {'attributes': {'description': 'The image intensity from 1 region at -3.845e-05 meters depth.', 'namespace': 'core', 'neurodata_type': 'GrayscaleImage', 'object_id': '1f850c84-b367-46ba-9d89-5a534183170d'}, 'data': <Closed HDF5 dataset>}, 'GrayScaleImage1Depth3': root/acquisition/COFAImages/GrayScaleImage1Depth3 DatasetBuilder {'attributes': {'description': 'The image intensity from 1 region at -3.545e-05 meters depth.', 'namespace': 'core', 'neurodata_type': 'GrayscaleImage', 'object_id': '6568cc13-5ec7-4394-8ffa-38d68c00e54f'}, 'data': <Closed HDF5 dataset>}, 'GrayScaleImage1Depth4': root/acquisition/COFAImages/GrayScaleImage1Depth4 DatasetBuilder {'attributes': {'description': 'The image intensity from 1 region at -3.245e-05 meters depth.', 'namespace': 'core', 'neurodata_type': 'GrayscaleImage', 'object_id': '97e420f3-375f-4733-9982-febce142ab74'}, 'data': <Closed HDF5 dataset>}, 'GrayScaleImage2Depth1': root/acquisition/COFAImages/GrayScaleImage2Depth1 DatasetBuilder {'attributes': {'description': 'The image intensity from 1 region at -4.145e-05 meters depth.', 'namespace': 'core', 'neurodata_type': 'GrayscaleImage', 'object_id': '62b7d48e-b2e8-4a69-9061-62bd394c842e'}, 'data': <Closed HDF5 dataset>}, 'GrayScaleImage2Depth2': root/acquisition/COFAImages/GrayScaleImage2Depth2 DatasetBuilder {'attributes': {'description': 'The image intensity from 1 region at -3.845e-05 meters depth.', 'namespace': 'core', 'neurodata_type': 'GrayscaleImage', 'object_id': 'bfbfb8d8-3587-4dc9-913f-ec25293772bc'}, 'data': <Closed HDF5 dataset>}, 'GrayScaleImage2Depth3': root/acquisition/COFAImages/GrayScaleImage2Depth3 DatasetBuilder {'attributes': {'description': 'The image intensity from 1 region at -3.545e-05 meters depth.', 'namespace': 'core', 'neurodata_type': 'GrayscaleImage', 'object_id': '89e0f072-a4e5-4f65-be2b-e9fcf92e7c4e'}, 'data': <Closed HDF5 dataset>}, 'GrayScaleImage2Depth4': root/acquisition/COFAImages/GrayScaleImage2Depth4 DatasetBuilder {'attributes': {'description': 'The image intensity from 1 region at -3.245e-05 meters depth.', 'namespace': 'core', 'neurodata_type': 'GrayscaleImage', 'object_id': '9ce15ef9-3aa3-4524-b491-aa49db22c7f9'}, 'data': <Closed HDF5 dataset>}}, 'links': {}}, 'ElectricalSeries': root/acquisition/ElectricalSeries GroupBuilder {'attributes': {'comments': 'no comments', 'description': 'Acquisition traces for the ElectricalSeries.', 'namespace': 'core', 'neurodata_type': 'ElectricalSeries', 'object_id': 'f95276d7-2e1a-440e-adca-c734ad964e4e'}, 'groups': {}, 'datasets': {'data': root/acquisition/ElectricalSeries/data DatasetBuilder {'attributes': {'conversion': 1.9499999999999999e-07, 'offset': 0.0, 'resolution': -1.0, 'unit': 'volts'}, 'data': <Closed HDF5 dataset>}, 'electrodes': root/acquisition/ElectricalSeries/electrodes DatasetBuilder {'attributes': {'description': 'electrode_table_region', 'namespace': 'hdmf-common', 'neurodata_type': 'DynamicTableRegion', 'object_id': 'c27ef42c-7f0f-4897-bac8-25a277149950', 'table': root/general/extracellular_ephys/electrodes GroupBuilder {'attributes': {'colnames': array(['location', 'group', 'group_name', 'channel_name', 'gain_to_uV',
       'offset_to_uV'], dtype=object), 'description': 'metadata about extracellular electrodes', 'namespace': 'hdmf-common', 'neurodata_type': 'DynamicTable', 'object_id': '59f1e9fa-306d-4458-b041-33714d9277cc'}, 'groups': {}, 'datasets': {'channel_name': root/general/extracellular_ephys/electrodes/channel_name DatasetBuilder {'attributes': {'description': 'no description', 'namespace': 'hdmf-common', 'neurodata_type': 'VectorData', 'object_id': '4a5a503c-3453-4f4c-a2e7-63ec2eef3561'}, 'data': <StrDataset for Closed HDF5 dataset>}, 'gain_to_uV': root/general/extracellular_ephys/electrodes/gain_to_uV DatasetBuilder {'attributes': {'description': 'no description', 'namespace': 'hdmf-common', 'neurodata_type': 'VectorData', 'object_id': '0e487565-e2a2-411c-98ab-e6a86126208f'}, 'data': <Closed HDF5 dataset>}, 'group': root/general/extracellular_ephys/electrodes/group DatasetBuilder {'attributes': {'description': 'a reference to the ElectrodeGroup this electrode is a part of', 'namespace': 'hdmf-common', 'neurodata_type': 'VectorData', 'object_id': '0095d645-397f-4c20-bfc0-7b54958e074b'}, 'data': <hdmf.backends.hdf5.h5_utils.BuilderH5ReferenceDataset object at 0x7fd85aaf6550>}, 'group_name': root/general/extracellular_ephys/electrodes/group_name DatasetBuilder {'attributes': {'description': 'the name of the ElectrodeGroup this electrode is a part of', 'namespace': 'hdmf-common', 'neurodata_type': 'VectorData', 'object_id': '402b2105-066e-405d-8a3a-5e9d4f2a7ca1'}, 'data': <StrDataset for Closed HDF5 dataset>}, 'id': root/general/extracellular_ephys/electrodes/id DatasetBuilder {'attributes': {'namespace': 'hdmf-common', 'neurodata_type': 'ElementIdentifiers', 'object_id': '95d44005-289f-4e4d-89aa-b50fe82f9233'}, 'data': <Closed HDF5 dataset>}, 'location': root/general/extracellular_ephys/electrodes/location DatasetBuilder {'attributes': {'description': 'the location of channel within the subject e.g. brain region', 'namespace': 'hdmf-common', 'neurodata_type': 'VectorData', 'object_id': '115d3876-2c02-4b15-9121-7cd2773c5f21'}, 'data': <StrDataset for Closed HDF5 dataset>}, 'offset_to_uV': root/general/extracellular_ephys/electrodes/offset_to_uV DatasetBuilder {'attributes': {'description': 'no description', 'namespace': 'hdmf-common', 'neurodata_type': 'VectorData', 'object_id': 'f09dc0ad-a5ff-49d4-b0ce-6a8a118ba66a'}, 'data': <Closed HDF5 dataset>}}, 'links': {}}}, 'data': <Closed HDF5 dataset>}, 'starting_time': root/acquisition/ElectricalSeries/starting_time DatasetBuilder {'attributes': {'rate': 30000.0, 'unit': 'seconds'}, 'data': 0.0}}, 'links': {}}, 'Video: 11_20190830_Disc4': root/acquisition/Video: 11_20190830_Disc4 GroupBuilder {'attributes': {'comments': 'no comments', 'description': 'Video recorded by camera.', 'namespace': 'core', 'neurodata_type': 'ImageSeries', 'object_id': '0aadab7e-2e2e-44f6-b5bd-c2828897f8f0'}, 'groups': {}, 'datasets': {'data': root/acquisition/Video: 11_20190830_Disc4/data DatasetBuilder {'attributes': {'conversion': 1.0, 'offset': 0.0, 'resolution': -1.0, 'unit': 'Frames'}, 'data': <Closed HDF5 dataset>}, 'external_file': root/acquisition/Video: 11_20190830_Disc4/external_file DatasetBuilder {'attributes': {'starting_frame': array([0])}, 'data': <StrDataset for Closed HDF5 dataset>}, 'format': root/acquisition/Video: 11_20190830_Disc4/format DatasetBuilder {'attributes': {}, 'data': 'external'}, 'starting_time': root/acquisition/Video: 11_20190830_Disc4/starting_time DatasetBuilder {'attributes': {'rate': 15.0, 'unit': 'seconds'}, 'data': 0.0}}, 'links': {}}}, 'datasets': {}, 'links': {}}, 'analysis': root/analysis GroupBuilder {'attributes': {}, 'groups': {}, 'datasets': {}, 'links': {}}, 'general': root/general GroupBuilder {'attributes': {}, 'groups': {'devices': root/general/devices GroupBuilder {'attributes': {}, 'groups': {'DeviceEcephys': root/general/devices/DeviceEcephys GroupBuilder {'attributes': {'description': 'no description', 'namespace': 'core', 'neurodata_type': 'Device', 'object_id': '36744379-1350-49e0-b311-73a27cf057bb'}, 'groups': {}, 'datasets': {}, 'links': {}}}, 'datasets': {}, 'links': {}}, 'extracellular_ephys': root/general/extracellular_ephys GroupBuilder {'attributes': {}, 'groups': {'ElectrodeGroup': root/general/extracellular_ephys/ElectrodeGroup GroupBuilder {'attributes': {'description': 'no description', 'location': 'unknown', 'namespace': 'core', 'neurodata_type': 'ElectrodeGroup', 'object_id': 'ca58f07c-f108-418e-a06f-9fa6b20b2b24'}, 'groups': {}, 'datasets': {}, 'links': {'device': root/general/extracellular_ephys/ElectrodeGroup/device LinkBuilder {'builder': root/general/devices/DeviceEcephys GroupBuilder {'attributes': {'description': 'no description', 'namespace': 'core', 'neurodata_type': 'Device', 'object_id': '36744379-1350-49e0-b311-73a27cf057bb'}, 'groups': {}, 'datasets': {}, 'links': {}}}}}, 'electrodes': root/general/extracellular_ephys/electrodes GroupBuilder {'attributes': {'colnames': array(['location', 'group', 'group_name', 'channel_name', 'gain_to_uV',
       'offset_to_uV'], dtype=object), 'description': 'metadata about extracellular electrodes', 'namespace': 'hdmf-common', 'neurodata_type': 'DynamicTable', 'object_id': '59f1e9fa-306d-4458-b041-33714d9277cc'}, 'groups': {}, 'datasets': {'channel_name': root/general/extracellular_ephys/electrodes/channel_name DatasetBuilder {'attributes': {'description': 'no description', 'namespace': 'hdmf-common', 'neurodata_type': 'VectorData', 'object_id': '4a5a503c-3453-4f4c-a2e7-63ec2eef3561'}, 'data': <StrDataset for Closed HDF5 dataset>}, 'gain_to_uV': root/general/extracellular_ephys/electrodes/gain_to_uV DatasetBuilder {'attributes': {'description': 'no description', 'namespace': 'hdmf-common', 'neurodata_type': 'VectorData', 'object_id': '0e487565-e2a2-411c-98ab-e6a86126208f'}, 'data': <Closed HDF5 dataset>}, 'group': root/general/extracellular_ephys/electrodes/group DatasetBuilder {'attributes': {'description': 'a reference to the ElectrodeGroup this electrode is a part of', 'namespace': 'hdmf-common', 'neurodata_type': 'VectorData', 'object_id': '0095d645-397f-4c20-bfc0-7b54958e074b'}, 'data': <hdmf.backends.hdf5.h5_utils.BuilderH5ReferenceDataset object at 0x7fd85aaf6550>}, 'group_name': root/general/extracellular_ephys/electrodes/group_name DatasetBuilder {'attributes': {'description': 'the name of the ElectrodeGroup this electrode is a part of', 'namespace': 'hdmf-common', 'neurodata_type': 'VectorData', 'object_id': '402b2105-066e-405d-8a3a-5e9d4f2a7ca1'}, 'data': <StrDataset for Closed HDF5 dataset>}, 'id': root/general/extracellular_ephys/electrodes/id DatasetBuilder {'attributes': {'namespace': 'hdmf-common', 'neurodata_type': 'ElementIdentifiers', 'object_id': '95d44005-289f-4e4d-89aa-b50fe82f9233'}, 'data': <Closed HDF5 dataset>}, 'location': root/general/extracellular_ephys/electrodes/location DatasetBuilder {'attributes': {'description': 'the location of channel within the subject e.g. brain region', 'namespace': 'hdmf-common', 'neurodata_type': 'VectorData', 'object_id': '115d3876-2c02-4b15-9121-7cd2773c5f21'}, 'data': <StrDataset for Closed HDF5 dataset>}, 'offset_to_uV': root/general/extracellular_ephys/electrodes/offset_to_uV DatasetBuilder {'attributes': {'description': 'no description', 'namespace': 'hdmf-common', 'neurodata_type': 'VectorData', 'object_id': 'f09dc0ad-a5ff-49d4-b0ce-6a8a118ba66a'}, 'data': <Closed HDF5 dataset>}}, 'links': {}}}, 'datasets': {}, 'links': {}}, 'intracellular_ephys': root/general/intracellular_ephys GroupBuilder {'attributes': {}, 'groups': {}, 'datasets': {}, 'links': {}}, 'optogenetics': root/general/optogenetics GroupBuilder {'attributes': {}, 'groups': {}, 'datasets': {}, 'links': {}}, 'optophysiology': root/general/optophysiology GroupBuilder {'attributes': {}, 'groups': {}, 'datasets': {}, 'links': {}}, 'subject': root/general/subject GroupBuilder {'attributes': {'namespace': 'core', 'neurodata_type': 'Subject', 'object_id': 'f7368a0c-5841-484f-aee0-1514f2dcc591'}, 'groups': {}, 'datasets': {'age': root/general/subject/age DatasetBuilder {'attributes': {'reference': 'birth'}, 'data': 'P109D'}, 'genotype': root/general/subject/genotype DatasetBuilder {'attributes': {}, 'data': 'Wild type'}, 'sex': root/general/subject/sex DatasetBuilder {'attributes': {}, 'data': 'M'}, 'species': root/general/subject/species DatasetBuilder {'attributes': {}, 'data': 'Mus musculus'}, 'strain': root/general/subject/strain DatasetBuilder {'attributes': {}, 'data': 'C57BL/6J'}, 'subject_id': root/general/subject/subject_id DatasetBuilder {'attributes': {}, 'data': 'H11'}}, 'links': {}}}, 'datasets': {'experiment_description': root/general/experiment_description DatasetBuilder {'attributes': {}, 'data': 'The ability to associate temporally segregated information and assign positive or\nnegative valence to environmental cues is paramount for survival. Studies have shown\nthat different projections from the basolateral amygdala (BLA) are potentiated\nfollowing reward or punishment learning1–7. However, we do not yet understand how\nvalence-specific information is routed to the BLA neurons with the appropriate\ndownstream projections, nor do we understand how to reconcile the sub-second\ntimescales of synaptic plasticity8–11 with the longer timescales separating the\npredictive cues from their outcomes. Here we demonstrate that neurotensin\n(NT)-expressing neurons in the paraventricular nucleus of the thalamus (PVT)\nprojecting to the BLA (PVT-BLA:NT) mediate valence assignment by exerting NT\nconcentration-dependent modulation in BLA during associative learning.\nWe found that optogenetic activation of the PVT-BLA:NT projection promotes reward\nlearning, whereas PVT-BLA projection-specific knockout of the NT gene (Nts) augments\npunishment learning. Using genetically encoded calcium and NT sensors, we further\nrevealed that both calcium dynamics within the PVT-BLA:NT projection and NT\nconcentrations in the BLA are enhanced after reward learning and reduced after\npunishment learning. Finally, we showed that CRISPR-mediated knockout of the Nts\ngene in the PVT-BLA pathway blunts BLA neural dynamics and attenuates the preference\nfor active behavioural strategies to reward and punishment predictive cues. In sum,\nwe have identified NT as a neuropeptide that signals valence in the BLA, and showed\nthat NT is a critical neuromodulator that orchestrates positive and negative valence\nassignment in amygdala neurons by extending valence-specific plasticity to\nbehaviourally relevant timescales.\n'}, 'experimenter': root/general/experimenter DatasetBuilder {'attributes': {}, 'data': <StrDataset for Closed HDF5 dataset>}, 'institution': root/general/institution DatasetBuilder {'attributes': {}, 'data': 'Salk Institute for Biological Studies'}, 'lab': root/general/lab DatasetBuilder {'attributes': {}, 'data': 'Tye'}, 'related_publications': root/general/related_publications DatasetBuilder {'attributes': {}, 'data': <StrDataset for Closed HDF5 dataset>}, 'session_id': root/general/session_id DatasetBuilder {'attributes': {}, 'data': '11-2019-08-30-12-58-04-Disc4'}}, 'links': {}}, 'intervals': root/intervals GroupBuilder {'attributes': {}, 'groups': {'trials': root/intervals/trials GroupBuilder {'attributes': {'colnames': array(['start_time', 'stop_time', 'trial_type'], dtype=object), 'description': 'experimental trials generated from /nadata/snlkt/data/hao/Neurotensin/ephys/recordings/forLaurel/11_2019-08-30_12-58-04_Disc4/0011_20190825_Disc4_events.mat', 'namespace': 'core', 'neurodata_type': 'TimeIntervals', 'object_id': '3cba827f-99df-4c85-a6a2-cc5a586ceee5'}, 'groups': {}, 'datasets': {'id': root/intervals/trials/id DatasetBuilder {'attributes': {'namespace': 'hdmf-common', 'neurodata_type': 'ElementIdentifiers', 'object_id': 'a985ca8b-390b-408a-9e31-4ee76926e011'}, 'data': <Closed HDF5 dataset>}, 'start_time': root/intervals/trials/start_time DatasetBuilder {'attributes': {'description': 'Start time of epoch, in seconds', 'namespace': 'hdmf-common', 'neurodata_type': 'VectorData', 'object_id': 'cd0db006-3841-4846-851b-726e23e2b9e3'}, 'data': <Closed HDF5 dataset>}, 'stop_time': root/intervals/trials/stop_time DatasetBuilder {'attributes': {'description': 'Stop time of epoch, in seconds', 'namespace': 'hdmf-common', 'neurodata_type': 'VectorData', 'object_id': '073e7b14-f73b-4798-b24f-5754a5012559'}, 'data': <Closed HDF5 dataset>}, 'trial_type': root/intervals/trials/trial_type DatasetBuilder {'attributes': {'description': 'trial_type', 'namespace': 'hdmf-common', 'neurodata_type': 'VectorData', 'object_id': '86c46759-d5dd-4f56-8d71-939f64f4aab8'}, 'data': <StrDataset for Closed HDF5 dataset>}}, 'links': {}}}, 'datasets': {}, 'links': {}}, 'processing': root/processing GroupBuilder {'attributes': {}, 'groups': {'behavior': root/processing/behavior GroupBuilder {'attributes': {'description': 'Processed behavior data.', 'namespace': 'core', 'neurodata_type': 'ProcessingModule', 'object_id': '87bf3fd9-33c6-4770-a694-2e950ca4cd9e'}, 'groups': {'PoseEstimation': root/processing/behavior/PoseEstimation GroupBuilder {'attributes': {'namespace': 'ndx-pose', 'neurodata_type': 'PoseEstimation', 'object_id': '1afeda00-5612-44ae-8a83-130a29ca14ce'}, 'groups': {'BottomLeftCameraPoseEstimationSeries': root/processing/behavior/PoseEstimation/BottomLeftCameraPoseEstimationSeries GroupBuilder {'attributes': {'comments': 'no comments', 'description': 'The pose estimation for the bottom left camera.', 'namespace': 'ndx-pose', 'neurodata_type': 'PoseEstimationSeries', 'object_id': '5c619a53-87e9-4686-a82a-4b77735f125c'}, 'groups': {}, 'datasets': {'confidence': root/processing/behavior/PoseEstimation/BottomLeftCameraPoseEstimationSeries/confidence DatasetBuilder {'attributes': {'definition': 'The likelihood estimation from the algorithm.'}, 'data': <Closed HDF5 dataset>}, 'data': root/processing/behavior/PoseEstimation/BottomLeftCameraPoseEstimationSeries/data DatasetBuilder {'attributes': {'conversion': 1.0, 'offset': 0.0, 'resolution': -1.0, 'unit': 'px'}, 'data': <Closed HDF5 dataset>}, 'reference_frame': root/processing/behavior/PoseEstimation/BottomLeftCameraPoseEstimationSeries/reference_frame DatasetBuilder {'attributes': {}, 'data': '(0,0) corresponds to the top left corner of the cage.'}, 'starting_time': root/processing/behavior/PoseEstimation/BottomLeftCameraPoseEstimationSeries/starting_time DatasetBuilder {'attributes': {'rate': 15.0, 'unit': 'seconds'}, 'data': 0.0}}, 'links': {}}, 'BottomRightCameraPoseEstimationSeries': root/processing/behavior/PoseEstimation/BottomRightCameraPoseEstimationSeries GroupBuilder {'attributes': {'comments': 'no comments', 'description': 'The pose estimation for the bottom right camera.', 'namespace': 'ndx-pose', 'neurodata_type': 'PoseEstimationSeries', 'object_id': 'be91a6e5-6e7b-44ba-aa37-9f5929011739'}, 'groups': {}, 'datasets': {'confidence': root/processing/behavior/PoseEstimation/BottomRightCameraPoseEstimationSeries/confidence DatasetBuilder {'attributes': {'definition': 'The likelihood estimation from the algorithm.'}, 'data': <Closed HDF5 dataset>}, 'data': root/processing/behavior/PoseEstimation/BottomRightCameraPoseEstimationSeries/data DatasetBuilder {'attributes': {'conversion': 1.0, 'offset': 0.0, 'resolution': -1.0, 'unit': 'px'}, 'data': <Closed HDF5 dataset>}, 'reference_frame': root/processing/behavior/PoseEstimation/BottomRightCameraPoseEstimationSeries/reference_frame DatasetBuilder {'attributes': {}, 'data': '(0,0) corresponds to the top left corner of the cage.'}, 'starting_time': root/processing/behavior/PoseEstimation/BottomRightCameraPoseEstimationSeries/starting_time DatasetBuilder {'attributes': {'rate': 15.0, 'unit': 'seconds'}, 'data': 0.0}}, 'links': {}}, 'ElectrodePoseEstimationSeries': root/processing/behavior/PoseEstimation/ElectrodePoseEstimationSeries GroupBuilder {'attributes': {'comments': 'no comments', 'description': 'The pose estimation for the electrode.', 'namespace': 'ndx-pose', 'neurodata_type': 'PoseEstimationSeries', 'object_id': '88094628-372c-41e4-95f9-e0b2ccb616b7'}, 'groups': {}, 'datasets': {'confidence': root/processing/behavior/PoseEstimation/ElectrodePoseEstimationSeries/confidence DatasetBuilder {'attributes': {'definition': 'The likelihood estimation from the algorithm.'}, 'data': <Closed HDF5 dataset>}, 'data': root/processing/behavior/PoseEstimation/ElectrodePoseEstimationSeries/data DatasetBuilder {'attributes': {'conversion': 1.0, 'offset': 0.0, 'resolution': -1.0, 'unit': 'px'}, 'data': <Closed HDF5 dataset>}, 'reference_frame': root/processing/behavior/PoseEstimation/ElectrodePoseEstimationSeries/reference_frame DatasetBuilder {'attributes': {}, 'data': '(0,0) corresponds to the top left corner of the cage.'}, 'starting_time': root/processing/behavior/PoseEstimation/ElectrodePoseEstimationSeries/starting_time DatasetBuilder {'attributes': {'rate': 15.0, 'unit': 'seconds'}, 'data': 0.0}}, 'links': {}}, 'HeadPoseEstimationSeries': root/processing/behavior/PoseEstimation/HeadPoseEstimationSeries GroupBuilder {'attributes': {'comments': 'no comments', 'description': 'The pose estimation for the head of the animal.', 'namespace': 'ndx-pose', 'neurodata_type': 'PoseEstimationSeries', 'object_id': '05d57f95-b012-4820-93c4-181fc04a61a1'}, 'groups': {}, 'datasets': {'confidence': root/processing/behavior/PoseEstimation/HeadPoseEstimationSeries/confidence DatasetBuilder {'attributes': {'definition': 'The likelihood estimation from the algorithm.'}, 'data': <Closed HDF5 dataset>}, 'data': root/processing/behavior/PoseEstimation/HeadPoseEstimationSeries/data DatasetBuilder {'attributes': {'conversion': 1.0, 'offset': 0.0, 'resolution': -1.0, 'unit': 'px'}, 'data': <Closed HDF5 dataset>}, 'reference_frame': root/processing/behavior/PoseEstimation/HeadPoseEstimationSeries/reference_frame DatasetBuilder {'attributes': {}, 'data': '(0,0) corresponds to the top left corner of the cage.'}, 'starting_time': root/processing/behavior/PoseEstimation/HeadPoseEstimationSeries/starting_time DatasetBuilder {'attributes': {'rate': 15.0, 'unit': 'seconds'}, 'data': 0.0}}, 'links': {}}, 'LeftEarPoseEstimationSeries': root/processing/behavior/PoseEstimation/LeftEarPoseEstimationSeries GroupBuilder {'attributes': {'comments': 'no comments', 'description': 'The pose estimation for the left ear of the animal.', 'namespace': 'ndx-pose', 'neurodata_type': 'PoseEstimationSeries', 'object_id': '843976c5-59b1-4eb5-ae74-82d6e8452612'}, 'groups': {}, 'datasets': {'confidence': root/processing/behavior/PoseEstimation/LeftEarPoseEstimationSeries/confidence DatasetBuilder {'attributes': {'definition': 'The likelihood estimation from the algorithm.'}, 'data': <Closed HDF5 dataset>}, 'data': root/processing/behavior/PoseEstimation/LeftEarPoseEstimationSeries/data DatasetBuilder {'attributes': {'conversion': 1.0, 'offset': 0.0, 'resolution': -1.0, 'unit': 'px'}, 'data': <Closed HDF5 dataset>}, 'reference_frame': root/processing/behavior/PoseEstimation/LeftEarPoseEstimationSeries/reference_frame DatasetBuilder {'attributes': {}, 'data': '(0,0) corresponds to the top left corner of the cage.'}, 'starting_time': root/processing/behavior/PoseEstimation/LeftEarPoseEstimationSeries/starting_time DatasetBuilder {'attributes': {'rate': 15.0, 'unit': 'seconds'}, 'data': 0.0}}, 'links': {}}, 'PortPoseEstimationSeries': root/processing/behavior/PoseEstimation/PortPoseEstimationSeries GroupBuilder {'attributes': {'comments': 'no comments', 'description': 'The pose estimation for the port.', 'namespace': 'ndx-pose', 'neurodata_type': 'PoseEstimationSeries', 'object_id': '84bc65c6-69f2-46cc-a06d-7fed2b85eb96'}, 'groups': {}, 'datasets': {'confidence': root/processing/behavior/PoseEstimation/PortPoseEstimationSeries/confidence DatasetBuilder {'attributes': {'definition': 'The likelihood estimation from the algorithm.'}, 'data': <Closed HDF5 dataset>}, 'data': root/processing/behavior/PoseEstimation/PortPoseEstimationSeries/data DatasetBuilder {'attributes': {'conversion': 1.0, 'offset': 0.0, 'resolution': -1.0, 'unit': 'px'}, 'data': <Closed HDF5 dataset>}, 'reference_frame': root/processing/behavior/PoseEstimation/PortPoseEstimationSeries/reference_frame DatasetBuilder {'attributes': {}, 'data': '(0,0) corresponds to the top left corner of the cage.'}, 'starting_time': root/processing/behavior/PoseEstimation/PortPoseEstimationSeries/starting_time DatasetBuilder {'attributes': {'rate': 15.0, 'unit': 'seconds'}, 'data': 0.0}}, 'links': {}}, 'RightEarPoseEstimationSeries': root/processing/behavior/PoseEstimation/RightEarPoseEstimationSeries GroupBuilder {'attributes': {'comments': 'no comments', 'description': 'The pose estimation for the right ear of the animal.', 'namespace': 'ndx-pose', 'neurodata_type': 'PoseEstimationSeries', 'object_id': '76f53897-2f69-40b5-954d-38625467f0ac'}, 'groups': {}, 'datasets': {'confidence': root/processing/behavior/PoseEstimation/RightEarPoseEstimationSeries/confidence DatasetBuilder {'attributes': {'definition': 'The likelihood estimation from the algorithm.'}, 'data': <Closed HDF5 dataset>}, 'data': root/processing/behavior/PoseEstimation/RightEarPoseEstimationSeries/data DatasetBuilder {'attributes': {'conversion': 1.0, 'offset': 0.0, 'resolution': -1.0, 'unit': 'px'}, 'data': <Closed HDF5 dataset>}, 'reference_frame': root/processing/behavior/PoseEstimation/RightEarPoseEstimationSeries/reference_frame DatasetBuilder {'attributes': {}, 'data': '(0,0) corresponds to the top left corner of the cage.'}, 'starting_time': root/processing/behavior/PoseEstimation/RightEarPoseEstimationSeries/starting_time DatasetBuilder {'attributes': {'rate': 15.0, 'unit': 'seconds'}, 'data': 0.0}}, 'links': {}}, 'TailPoseEstimationSeries': root/processing/behavior/PoseEstimation/TailPoseEstimationSeries GroupBuilder {'attributes': {'comments': 'no comments', 'description': 'The pose estimation for the tail of the animal.', 'namespace': 'ndx-pose', 'neurodata_type': 'PoseEstimationSeries', 'object_id': '232508ea-1202-49ce-ab58-e93f29567405'}, 'groups': {}, 'datasets': {'confidence': root/processing/behavior/PoseEstimation/TailPoseEstimationSeries/confidence DatasetBuilder {'attributes': {'definition': 'The likelihood estimation from the algorithm.'}, 'data': <Closed HDF5 dataset>}, 'data': root/processing/behavior/PoseEstimation/TailPoseEstimationSeries/data DatasetBuilder {'attributes': {'conversion': 1.0, 'offset': 0.0, 'resolution': -1.0, 'unit': 'px'}, 'data': <Closed HDF5 dataset>}, 'reference_frame': root/processing/behavior/PoseEstimation/TailPoseEstimationSeries/reference_frame DatasetBuilder {'attributes': {}, 'data': '(0,0) corresponds to the top left corner of the cage.'}, 'starting_time': root/processing/behavior/PoseEstimation/TailPoseEstimationSeries/starting_time DatasetBuilder {'attributes': {'rate': 15.0, 'unit': 'seconds'}, 'data': 0.0}}, 'links': {}}, 'TopLeftCameraPoseEstimationSeries': root/processing/behavior/PoseEstimation/TopLeftCameraPoseEstimationSeries GroupBuilder {'attributes': {'comments': 'no comments', 'description': 'The pose estimation for the top left camera.', 'namespace': 'ndx-pose', 'neurodata_type': 'PoseEstimationSeries', 'object_id': '96711730-7e7c-4464-b422-8501aad39996'}, 'groups': {}, 'datasets': {'confidence': root/processing/behavior/PoseEstimation/TopLeftCameraPoseEstimationSeries/confidence DatasetBuilder {'attributes': {'definition': 'The likelihood estimation from the algorithm.'}, 'data': <Closed HDF5 dataset>}, 'data': root/processing/behavior/PoseEstimation/TopLeftCameraPoseEstimationSeries/data DatasetBuilder {'attributes': {'conversion': 1.0, 'offset': 0.0, 'resolution': -1.0, 'unit': 'px'}, 'data': <Closed HDF5 dataset>}, 'reference_frame': root/processing/behavior/PoseEstimation/TopLeftCameraPoseEstimationSeries/reference_frame DatasetBuilder {'attributes': {}, 'data': '(0,0) corresponds to the top left corner of the cage.'}, 'starting_time': root/processing/behavior/PoseEstimation/TopLeftCameraPoseEstimationSeries/starting_time DatasetBuilder {'attributes': {'rate': 15.0, 'unit': 'seconds'}, 'data': 0.0}}, 'links': {}}, 'TopRightCameraPoseEstimationSeries': root/processing/behavior/PoseEstimation/TopRightCameraPoseEstimationSeries GroupBuilder {'attributes': {'comments': 'no comments', 'description': 'The pose estimation for the top right camera.', 'namespace': 'ndx-pose', 'neurodata_type': 'PoseEstimationSeries', 'object_id': '09066af3-2efb-4610-b633-eed7792b562f'}, 'groups': {}, 'datasets': {'confidence': root/processing/behavior/PoseEstimation/TopRightCameraPoseEstimationSeries/confidence DatasetBuilder {'attributes': {'definition': 'The likelihood estimation from the algorithm.'}, 'data': <Closed HDF5 dataset>}, 'data': root/processing/behavior/PoseEstimation/TopRightCameraPoseEstimationSeries/data DatasetBuilder {'attributes': {'conversion': 1.0, 'offset': 0.0, 'resolution': -1.0, 'unit': 'px'}, 'data': <Closed HDF5 dataset>}, 'reference_frame': root/processing/behavior/PoseEstimation/TopRightCameraPoseEstimationSeries/reference_frame DatasetBuilder {'attributes': {}, 'data': '(0,0) corresponds to the top left corner of the cage.'}, 'starting_time': root/processing/behavior/PoseEstimation/TopRightCameraPoseEstimationSeries/starting_time DatasetBuilder {'attributes': {'rate': 15.0, 'unit': 'seconds'}, 'data': 0.0}}, 'links': {}}}, 'datasets': {'dimensions': root/processing/behavior/PoseEstimation/dimensions DatasetBuilder {'attributes': {}, 'data': <Closed HDF5 dataset>}, 'edges': root/processing/behavior/PoseEstimation/edges DatasetBuilder {'attributes': {}, 'data': <Closed HDF5 dataset>}, 'labeled_videos': root/processing/behavior/PoseEstimation/labeled_videos DatasetBuilder {'attributes': {}, 'data': <StrDataset for Closed HDF5 dataset>}, 'nodes': root/processing/behavior/PoseEstimation/nodes DatasetBuilder {'attributes': {}, 'data': <StrDataset for Closed HDF5 dataset>}, 'original_videos': root/processing/behavior/PoseEstimation/original_videos DatasetBuilder {'attributes': {}, 'data': <StrDataset for Closed HDF5 dataset>}, 'scorer': root/processing/behavior/PoseEstimation/scorer DatasetBuilder {'attributes': {}, 'data': 'DLC_resnet50_Hao_MedPC_ephysFeb9shuffle1_800000'}, 'source_software': root/processing/behavior/PoseEstimation/source_software DatasetBuilder {'attributes': {}, 'data': 'DeepLabCut'}}, 'links': {}}}, 'datasets': {}, 'links': {}}}, 'datasets': {}, 'links': {}}, 'scratch': root/scratch GroupBuilder {'attributes': {}, 'groups': {}, 'datasets': {}, 'links': {}}, 'stimulus': root/stimulus GroupBuilder {'attributes': {}, 'groups': {'presentation': root/stimulus/presentation GroupBuilder {'attributes': {}, 'groups': {}, 'datasets': {}, 'links': {}}, 'templates': root/stimulus/templates GroupBuilder {'attributes': {}, 'groups': {}, 'datasets': {}, 'links': {}}}, 'datasets': {}, 'links': {}}, 'units': root/units GroupBuilder {'attributes': {'colnames': array(['spike_times', 'unit_name'], dtype=object), 'description': 'Autogenerated by neuroconv.', 'namespace': 'core', 'neurodata_type': 'Units', 'object_id': '37402a0d-b15c-40d2-a107-d5a50de89df0'}, 'groups': {}, 'datasets': {'id': root/units/id DatasetBuilder {'attributes': {'namespace': 'hdmf-common', 'neurodata_type': 'ElementIdentifiers', 'object_id': '1c51beaf-ea9c-4499-bfe9-6fceffd59694'}, 'data': <Closed HDF5 dataset>}, 'spike_times': root/units/spike_times DatasetBuilder {'attributes': {'description': 'the spike times for each unit', 'namespace': 'hdmf-common', 'neurodata_type': 'VectorData', 'object_id': '837b3e09-84ee-4351-859a-3a9b7231568b'}, 'data': <Closed HDF5 dataset>}, 'spike_times_index': root/units/spike_times_index DatasetBuilder {'attributes': {'description': "Index for VectorData 'spike_times'", 'namespace': 'hdmf-common', 'neurodata_type': 'VectorIndex', 'object_id': 'ea426e59-7562-424b-a124-7108c241fb51', 'target': root/units/spike_times DatasetBuilder {'attributes': {'description': 'the spike times for each unit', 'namespace': 'hdmf-common', 'neurodata_type': 'VectorData', 'object_id': '837b3e09-84ee-4351-859a-3a9b7231568b'}, 'data': <Closed HDF5 dataset>}}, 'data': <Closed HDF5 dataset>}, 'unit_name': root/units/unit_name DatasetBuilder {'attributes': {'description': 'Unique reference for each unit.', 'namespace': 'hdmf-common', 'neurodata_type': 'VectorData', 'object_id': '3eb0d117-6c31-43b5-980f-2ff127819f5c'}, 'data': <StrDataset for Closed HDF5 dataset>}}, 'links': {}}}, 'datasets': {'file_create_date': root/file_create_date DatasetBuilder {'attributes': {}, 'data': <Closed HDF5 dataset>}, 'identifier': root/identifier DatasetBuilder {'attributes': {}, 'data': 'ca511b30-7cd7-4889-917c-55c6db3a5fb4'}, 'session_description': root/session_description DatasetBuilder {'attributes': {}, 'data': 'Discrimination task in which three types of trials with distinct auditory tones predicting sucrose, shock or no outcome (sucrose, shock and neutral conditioned stimulus (CS), respectively) were presented randomly at a 2:1:1 ratio'}, 'session_start_time': root/session_start_time DatasetBuilder {'attributes': {}, 'data': '2019-08-30'}, 'timestamps_reference_time': root/timestamps_reference_time DatasetBuilder {'attributes': {}, 'data': '2019-08-30'}}, 'links': {}}, "Could not construct NWBFile object due to: 'timestamps_reference_time' must be a timezone-aware datetime object.")
CodyCBakerPhD commented 3 months ago

This was resolved in latest release of PyNWB