dandi / dandi-cli

DANDI command line client to facilitate common operations
https://dandi.readthedocs.io/
Apache License 2.0
22 stars 28 forks source link

Cannot upload file using ndx-multichannel-volume subject type #1456

Open CodyCBakerPhD opened 5 months ago

CodyCBakerPhD commented 5 months ago

Log file attached, happy to share an NWB file as well

2024.06.28-16.32.23Z-29228.log

My subject is of the CElegansSubject variety, and has a sex of XX

This is all allowed by the NWB Inspector and dandi validate passes without issue

Even using dandi upload --validation ignore or skip does not allow upload either

CodyCBakerPhD commented 5 months ago

The main part of the traceback from the log file

Traceback (most recent call last):
  File "C:\Users\theac\anaconda3\envs\dandi_3_12_created_6_28_2024\Lib\site-packages\dandi\upload.py", line 346, in process_path
    metadata = dfile.get_metadata(
               ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\theac\anaconda3\envs\dandi_3_12_created_6_28_2024\Lib\site-packages\dandi\files\bases.py", line 484, in get_metadata
    metadata = nwb2asset(self.filepath, digest=digest)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\theac\anaconda3\envs\dandi_3_12_created_6_28_2024\Lib\site-packages\dandi\metadata\nwb.py", line 150, in nwb2asset
    asset_md = prepare_metadata(metadata)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\theac\anaconda3\envs\dandi_3_12_created_6_28_2024\Lib\site-packages\dandi\metadata\core.py", line 76, in prepare_metadata
    return extract_model(models.BareAsset, metadata)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\theac\anaconda3\envs\dandi_3_12_created_6_28_2024\Lib\site-packages\dandi\metadata\util.py", line 511, in extract_model
    value = kwargs.get(field, extract_field(field, metadata))
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\theac\anaconda3\envs\dandi_3_12_created_6_28_2024\Lib\site-packages\dandi\metadata\util.py", line 628, in extract_field
    return FIELD_EXTRACTORS[field](metadata)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\theac\anaconda3\envs\dandi_3_12_created_6_28_2024\Lib\site-packages\dandi\metadata\util.py", line 522, in func
    m = extract_model(
        ^^^^^^^^^^^^^^
  File "C:\Users\theac\anaconda3\envs\dandi_3_12_created_6_28_2024\Lib\site-packages\dandi\metadata\util.py", line 511, in extract_model
    value = kwargs.get(field, extract_field(field, metadata))
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\theac\anaconda3\envs\dandi_3_12_created_6_28_2024\Lib\site-packages\dandi\metadata\util.py", line 628, in extract_field
    return FIELD_EXTRACTORS[field](metadata)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\theac\anaconda3\envs\dandi_3_12_created_6_28_2024\Lib\site-packages\dandi\metadata\util.py", line 308, in extract_sex
    raise ValueError(f"Cannot interpret sex field: {value}")
ValueError: Cannot interpret sex field: xx