matnwb icon indicating copy to clipboard operation
matnwb copied to clipboard

Electrodes table schema change

Open bendichter opened this issue 5 years ago • 5 comments

I am trying to make sure the changes in https://github.com/NeurodataWithoutBorders/nwb-schema/pull/337 don't cause any problems for matnwb. This requires some changes to ecephys, because the electrodes table needs to be defined as an Electrodes table rather than a DynamicTable. When I run ecephys now, I get the following error that I have not been able to track down.

Error using hdf5lib2
The HDF5 library encountered an error and produced the
following stack trace information:

    H5G_loc_find_cb      object 'electrodes' doesn't exist
    H5G_traverse_real    traversal operator failed
    H5G_traverse         internal path traversal failed
    H5G_loc_find         can't find object
    H5O_open_name        object not found
    H5Oopen              unable to open object

Error in H5O.open (line 27)
output = H5ML.hdf5lib2('H5Oopen',loc_id,relname,lapl_id);

Error in io.writeAttribute (line 8)
oid = H5O.open(fid, path, 'H5P_DEFAULT');

Error in types.untyped.MetaClass/export (line 66)
                io.writeAttribute(fid, namespacePath,
                namespace);

Error in types.hdmf_common.Container/export (line 21)
        refs = [email protected](obj, fid,
        fullpath, refs);

Error in types.hdmf_common.DynamicTable/export (line 81)
        refs = [email protected]_common.Container(obj, fid,
        fullpath, refs);

Error in types.core.Electrodes/export (line 140)
        refs = [email protected]_common.DynamicTable(obj,
        fid, fullpath, refs);

Error in types.core.NWBFile/export (line 565)
            refs =
            obj.general_extracellular_ephys_electrodes.export(fid,
            [fullpath
            '/general/extracellular_ephys/electrodes'],
            refs);

Error in NwbFile/export (line 55)
                refs = [email protected](obj,
                output_file_id, '/', {});

Error in nwbExport (line 35)
    export(nwb(i), filename);

Error in ecephys (line 301)
nwbExport(nwb, 'ecephys_tutorial.nwb')

@ln-vidrio Do you know what this could be? Could you take a look at this?

bendichter avatar Dec 28 '19 00:12 bendichter

The reason for this error has to do with ea9c25ac5686ce5f388297832c64cf6d05a4b7bc. We now have to implement a way to derive whether or not a class is a Group or a Dataset class. I'll push a few changes to get this working.

lawrence-mbf avatar Dec 30 '19 15:12 lawrence-mbf

works for me! I realized I moved this to non-draft status accidentally. We should not merge until NeurodataWithoutBorders/nwb-schema#337 is merged and released

bendichter avatar Dec 31 '19 19:12 bendichter

well, https://github.com/NeurodataWithoutBorders/nwb-schema/pull/337 remains a draft, so may be this one should get -re-drafted too or just closed? over 3 years has passed

yarikoptic avatar Feb 24 '23 19:02 yarikoptic

Thanks for the nudge @yarikoptic .

I converted this back to draft. @lawrence-mbf it's been a while but has this issue been resolved?

The reason for this error has to do with https://github.com/NeurodataWithoutBorders/matnwb/commit/ea9c25ac5686ce5f388297832c64cf6d05a4b7bc. We now have to implement a way to derive whether or not a class is a Group or a Dataset class. I'll push a few changes to get this working.

It would be nice to finally make this ElectrodeTable change in the schema.

rly avatar Feb 24 '23 21:02 rly

@rly I don't really remember but there is something like what I outlined for detecting Datasets and Groups in the current master so I'll assume so.

lawrence-mbf avatar Feb 27 '23 21:02 lawrence-mbf