LernerLab / GuPPy

Guided Photometry Analysis in Python, a free and open-source FP analysis tool.
GNU General Public License v3.0
64 stars 11 forks source link

KeyError: 'No object named df in the file' #4

Closed thetalker101 closed 3 years ago

thetalker101 commented 3 years ago

So I have this recent issue and have not found an obvious fix for it. I am currently at the stage of attempting to get this program to work using the sample data provided and following the tutorials given exactly as shown. I have fixed many user errors, but this error is not obvious. It occurs on the last step of visualization: ['C:\\Users\\me\\Guppyinfo\\SampleData_Clean\\SampleData_Clean\\Photo_63_207-181030-103332\\Photo_63_207-181030-103332_output_1'] tornado.application - ERROR - Exception in callback functools.partial(<bound method IOLoop._discard_future_result of <tornado.platform.asyncio.AsyncIOMainLoop object at 0x00000221D08B88B0>>, <Task finished name='Task-832' coro=<_needs_document_lock.<locals>._needs_document_lock_wrapper() done, defined at A:\Anaconda\envs\guppy\lib\site-packages\bokeh\server\session.py:51> exception=KeyError('No object named df in the file')>) Traceback (most recent call last): File "A:\Anaconda\envs\guppy\lib\site-packages\tornado\ioloop.py", line 743, in _run_callback ret = callback() File "A:\Anaconda\envs\guppy\lib\site-packages\tornado\ioloop.py", line 767, in _discard_future_result future.result() File "A:\Anaconda\envs\guppy\lib\site-packages\bokeh\server\session.py", line 71, in _needs_document_lock_wrapper result = await result File "A:\Anaconda\envs\guppy\lib\site-packages\tornado\gen.py", line 191, in wrapper result = func(*args, **kwargs) File "A:\Anaconda\envs\guppy\lib\site-packages\panel\reactive.py", line 249, in _change_coroutine self._change_event(doc) File "A:\Anaconda\envs\guppy\lib\site-packages\panel\reactive.py", line 259, in _change_event self._process_events(events) File "A:\Anaconda\envs\guppy\lib\site-packages\panel\reactive.py", line 242, in _process_events self.param.set_param(**self._process_property_change(events)) File "A:\Anaconda\envs\guppy\lib\site-packages\param\parameterized.py", line 1472, in set_param self_._batch_call_watchers() File "A:\Anaconda\envs\guppy\lib\site-packages\param\parameterized.py", line 1611, in _batch_call_watchers self_._execute_watcher(watcher, events) File "A:\Anaconda\envs\guppy\lib\site-packages\param\parameterized.py", line 1573, in _execute_watcher watcher.fn(*args, **kwargs) File "A:\Desktop\Undergrad Research\Fiber photometry\GuPPy\GuPPy-main\GuPPy-main\GuPPy\savingInputParameters.ipynb", line 202, in onclickVisualization "\n", File "A:\Desktop\Undergrad Research\Fiber photometry\GuPPy\GuPPy-main\GuPPy-main\GuPPy\visualizePlot.py", line 475, in visualizeResults createPlots(filepath, storesList[1,:], inputParameters) File "A:\Desktop\Undergrad Research\Fiber photometry\GuPPy\GuPPy-main\GuPPy-main\GuPPy\visualizePlot.py", line 417, in createPlots helper_plots(filepath, event, name_arr) File "A:\Desktop\Undergrad Research\Fiber photometry\GuPPy\GuPPy-main\GuPPy-main\GuPPy\visualizePlot.py", line 70, in helper_plots frames.append(read_Df(filepath, new_event[i], '')) File "A:\Desktop\Undergrad Research\Fiber photometry\GuPPy\GuPPy-main\GuPPy-main\GuPPy\visualizePlot.py", line 33, in read_Df df = pd.read_hdf(op, key='df', mode='r') File "A:\Anaconda\envs\guppy\lib\site-packages\pandas\io\pytables.py", line 415, in read_hdf return store.select( File "A:\Anaconda\envs\guppy\lib\site-packages\pandas\io\pytables.py", line 842, in select raise KeyError(f"No object named {key} in the file") KeyError: 'No object named df in the file' Context on all of my specifications: Windows 10 latest update, used the windows10.txt file at install, anaconda 2.0.3, CMD.exe Prompt 0.1.1, anaconda and guppy application are located on my A non-boot drive partition and the sample data is located on my C drive boot partition.

This is the whole tutorial followed cmd prompt if that helps.

`(base) C:\Users\me>conda activate guppy

(guppy) C:\Users\me>A:

(guppy) A:>cd A:\Desktop\Undergrad Research\Fiber photometry\GuPPy\GuPPy-main\GuPPy-main\GuPPy

(guppy) A:\Desktop\Undergrad Research\Fiber photometry\GuPPy\GuPPy-main\GuPPy-main\GuPPy>panel serve --show savingInputParameters.ipynb 2021-10-27 22:31:50,942 Starting Bokeh server version 2.3.1 (running on Tornado 6.0.4) 2021-10-27 22:31:50,944 User authentication hooks NOT provided (default user enabled) 2021-10-27 22:31:50,947 Bokeh app running at: http://localhost:5006/savingInputParameters 2021-10-27 22:31:50,947 Starting Bokeh server with process id: 10312 Launching server at http://localhost:49655 C:\Users\me\Guppyinfo\SampleData_Clean\SampleData_Clean\inputParameters\inputParameters.json Input Parameters File Saved. ['C:\Users\me\Guppyinfo\SampleData_Clean\SampleData_Clean\Photo_63_207-181030-103332'] Launching server at http://localhost:5167 [['Dv1A' 'Dv2A' 'Dv3B' 'Dv4B' 'LNRW' 'LNnR' 'PrtN' 'PrtR' 'RNPS'] ['Dv1A' 'Dv2A' 'Dv3B' 'Dv4B' 'LNRW' 'LNnR' 'PrtN' 'PrtR' 'RNPS']] run

Reading raw data...

C:\Users\me\Guppyinfo\SampleData_Clean\SampleData_Clean\Photo_63_207-181030-103332

Reading tsq file....

Data from tsq file fetched.... Reading data for event Dv1A ... Reading data for event Dv2A ... Reading data for event Dv3B ... Reading data for event Dv4B ... Reading data for event LNRW ... Reading data for event LNnR ... Reading data for event PrtN ... Reading data for event PrtR ... Data for event LNRW fetched and stored. Reading data for event RNPS ... Data for event LNnR fetched and stored. Data for event PrtN fetched and stored. Data for event PrtR fetched and stored. Data for event RNPS fetched and stored. Data for event Dv1A fetched and stored. Data for event Dv2A fetched and stored. Data for event Dv3B fetched and stored. Data for event Dv4B fetched and stored. Time taken = 5.82118 Raw data fetched and saved. Extracting signal data and event timestamps... Remove Artifacts : False Combine Data : False Correcting timestamps by getting rid of the first 1 seconds and convert timestamps to seconds... Timestamps corrected and converted to seconds. Applying correction of timestamps to the data and event timestamps... Timestamps corrections applied to the data and event timestamps. Applying correction of timestamps to the data and event timestamps... Timestamps corrections applied to the data and event timestamps. Applying correction of timestamps to the data and event timestamps... Timestamps corrections applied to the data and event timestamps. Applying correction of timestamps to the data and event timestamps... Timestamps corrections applied to the data and event timestamps. Applying correction of timestamps to the data and event timestamps... Timestamps corrections applied to the data and event timestamps. Applying correction of timestamps to the data and event timestamps... Timestamps corrections applied to the data and event timestamps. Applying correction of timestamps to the data and event timestamps... Timestamps corrections applied to the data and event timestamps. Applying correction of timestamps to the data and event timestamps... Timestamps corrections applied to the data and event timestamps. Applying correction of timestamps to the data and event timestamps... Timestamps corrections applied to the data and event timestamps. Computing z-score for each of the data... z-score for the data computed. Signal data and event timestamps are extracted. Computing PSTH, Peak and Area for each event... Average for group : False PSTH, Area and Peak are computed for all events. Finding transients in z-score data and calculating frequency and amplitude.... calculating frequency and amplitude of transients in z-score data.... Frequency and amplitude of transients in z_score data are calculated. Transients in z-score data found and frequency and amplitude are calculated. False ['C:\Users\me\Guppyinfo\SampleData_Clean\SampleData_Clean\Photo_63_207-181030-103332\Photo_63_207-181030-103332_output_1'] tornado.application - ERROR - Exception in callback functools.partial(<bound method IOLoop._discard_future_result of <tornado.platform.asyncio.AsyncIOMainLoop object at 0x00000221D08B88B0>>, <Task finished name='Task-832' coro=<_needs_document_lock.._needs_document_lock_wrapper() done, defined at A:\Anaconda\envs\guppy\lib\site-packages\bokeh\server\session.py:51> exception=KeyError('No object named df in the file')>) Traceback (most recent call last): File "A:\Anaconda\envs\guppy\lib\site-packages\tornado\ioloop.py", line 743, in _run_callback ret = callback() File "A:\Anaconda\envs\guppy\lib\site-packages\tornado\ioloop.py", line 767, in _discard_future_result future.result() File "A:\Anaconda\envs\guppy\lib\site-packages\bokeh\server\session.py", line 71, in _needs_document_lock_wrapper result = await result File "A:\Anaconda\envs\guppy\lib\site-packages\tornado\gen.py", line 191, in wrapper result = func(args, kwargs) File "A:\Anaconda\envs\guppy\lib\site-packages\panel\reactive.py", line 249, in _change_coroutine self._change_event(doc) File "A:\Anaconda\envs\guppy\lib\site-packages\panel\reactive.py", line 259, in _change_event self._process_events(events) File "A:\Anaconda\envs\guppy\lib\site-packages\panel\reactive.py", line 242, in _process_events self.param.set_param(self._process_property_change(events)) File "A:\Anaconda\envs\guppy\lib\site-packages\param\parameterized.py", line 1472, in setparam self._batch_call_watchers() File "A:\Anaconda\envs\guppy\lib\site-packages\param\parameterized.py", line 1611, in _batch_callwatchers self._execute_watcher(watcher, events) File "A:\Anaconda\envs\guppy\lib\site-packages\param\parameterized.py", line 1573, in _execute_watcher watcher.fn(args, **kwargs) File "A:\Desktop\Undergrad Research\Fiber photometry\GuPPy\GuPPy-main\GuPPy-main\GuPPy\savingInputParameters.ipynb", line 202, in onclickVisualization "\n", File "A:\Desktop\Undergrad Research\Fiber photometry\GuPPy\GuPPy-main\GuPPy-main\GuPPy\visualizePlot.py", line 475, in visualizeResults createPlots(filepath, storesList[1,:], inputParameters) File "A:\Desktop\Undergrad Research\Fiber photometry\GuPPy\GuPPy-main\GuPPy-main\GuPPy\visualizePlot.py", line 417, in createPlots helper_plots(filepath, event, name_arr) File "A:\Desktop\Undergrad Research\Fiber photometry\GuPPy\GuPPy-main\GuPPy-main\GuPPy\visualizePlot.py", line 70, in helper_plots frames.append(read_Df(filepath, new_event[i], '')) File "A:\Desktop\Undergrad Research\Fiber photometry\GuPPy\GuPPy-main\GuPPy-main\GuPPy\visualizePlot.py", line 33, in read_Df df = pd.read_hdf(op, key='df', mode='r') File "A:\Anaconda\envs\guppy\lib\site-packages\pandas\io\pytables.py", line 415, in read_hdf return store.select( File "A:\Anaconda\envs\guppy\lib\site-packages\pandas\io\pytables.py", line 842, in select raise KeyError(f"No object named {key} in the file") KeyError: 'No object named df in the file'`

I do have coding experience but it's pretty basic and does not include file systems like HDF5. If you need screenshots or code sections then you'll need to explain the less obvious parts. Thanks for the help.

venus-sherathiya commented 3 years ago

For some reason, the PSTH were not computed. I want to see which input parameters you used for the analysis. So, can I please see the inputParameters.json file ? Also, I think you haven't followed the naming convention which needs to be used to save the storeslist file in the storenames GUI. In the storenames GUI, you can see instructions on the left. Please follow those instructions and save the storeslist file.

thetalker101 commented 3 years ago

{ "abspath": "C:\\Users\\me\\Guppy info", "folderNames": [ "C:\\Users\\me\\Guppy info\\SampleData_Clean", "C:\\Users\\me\\Guppy info\\SampleData_csv", "C:\\Users\\me\\Guppy info\\SampleData_with_artifacts" ], "combine_data": false, "timeForLightsTurnOn": 1, "removeArtifacts": false, "nSecPrev": -10, "nSecPost": 20, "timeInterval": 2, "baselineCorrectionStart": -5, "baselineCorrectionEnd": 0, "peak_startPoint": [ -5.0, 0.0, 5.0, NaN, NaN ], "peak_endPoint": [ 0.0, 3.0, 10.0, NaN, NaN ], "selectForComputePsth": "z_score", "selectForTransientsComputation": "z_score", "moving_window": 15, "plot_zScore_dff": "None", "visualize_zscore_or_dff": "z_score", "folderNamesForAvg": [], "averageForGroup": false, "visualizeAverageResults": false }

venus-sherathiya commented 3 years ago

The input parameters looks good. So, have you tried following the naming convention in the Storenames GUI and run the analysis again ?

thetalker101 commented 3 years ago

okay so I did change the custom names and that fixed the issue so I now know that I need to change the names when I make that section. I was able to reach the visualization GUI and I think that's everything fixed. Thanks for the help!