LernerLab / GuPPy

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

Error "Column names should be timestamps, data and sampling_rate (all lower-cases)" #46

Closed goutaudi closed 1 year ago

goutaudi commented 1 year ago

Hello,

We are currently trying to use GuPPy to analyze our Doric data. We have two signal (480nm and 405nm) with four DIO. I extract the data from doric neuroscience in .CSV

We obtain two files for the signal that we named :

I obtain four files for the 4 DIO, that I named :

We change Time by timestamps. As we are interested only by the beginning of the behavior (we keep the timestamps where the DIO switch from 0 to 1), we remove all the timestamps useless using a Matlab script. We also remove the DIOXX column to keep only the timestamp column (see picture 4). Picture4

Then we put the 6 files in a folder (see picture5) and we address this folder to GuPPy. Picture5

When we lunched the step2 : Open Storenames GUI and save storenames, we obtained this error :

['/Users/raphaelgoutaudier/Desktop/RLA8-PC_TRAINING'] tornado.application - ERROR - Exception in callback functools.partial(<bound method IOLoop._discard_future_result of <tornado.platform.asyncio.AsyncIOMainLoop object at 0x7fd0ab859cf8>>, <Task finished coro=<_needs_document_lock.._needs_document_lock_wrapper() done, defined at /Users/raphaelgoutaudier/anaconda3/envs/guppy/lib/python3.6/site-packages/bokeh/server/session.py:51> exception=Exception('\x1b[1mColumn names should be timestamps, data and sampling_rate (all lower-cases)\x1b[0m',)>) Traceback (most recent call last): File "/Users/raphaelgoutaudier/anaconda3/envs/guppy/lib/python3.6/site-packages/tornado/ioloop.py", line 743, in _run_callback ret = callback() File "/Users/raphaelgoutaudier/anaconda3/envs/guppy/lib/python3.6/site-packages/tornado/ioloop.py", line 767, in _discard_future_result future.result() File "/Users/raphaelgoutaudier/anaconda3/envs/guppy/lib/python3.6/site-packages/bokeh/server/session.py", line 71, in _needs_document_lock_wrapper result = await result File "/Users/raphaelgoutaudier/anaconda3/envs/guppy/lib/python3.6/site-packages/tornado/gen.py", line 191, in wrapper result = func(args, kwargs) File "/Users/raphaelgoutaudier/anaconda3/envs/guppy/lib/python3.6/site-packages/panel/reactive.py", line 249, in _change_coroutine self._change_event(doc) File "/Users/raphaelgoutaudier/anaconda3/envs/guppy/lib/python3.6/site-packages/panel/reactive.py", line 259, in _change_event self._process_events(events) File "/Users/raphaelgoutaudier/anaconda3/envs/guppy/lib/python3.6/site-packages/panel/reactive.py", line 242, in _process_events self.param.set_param(self._process_property_change(events)) File "/Users/raphaelgoutaudier/anaconda3/envs/guppy/lib/python3.6/site-packages/param/parameterized.py", line 1472, in setparam self._batch_call_watchers() File "/Users/raphaelgoutaudier/anaconda3/envs/guppy/lib/python3.6/site-packages/param/parameterized.py", line 1611, in _batch_callwatchers self._execute_watcher(watcher, events) File "/Users/raphaelgoutaudier/anaconda3/envs/guppy/lib/python3.6/site-packages/param/parameterized.py", line 1573, in _execute_watcher watcher.fn(args, kwargs) File "/Users/raphaelgoutaudier/Documents/GuPPy-main/GuPPy/savingInputParameters.ipynb", line 321, in onclickStoresList "def onclickStoresList(event=None):\n", File "/Users/raphaelgoutaudier/Documents/GuPPy-main/GuPPy/saveStoresList.py", line 763, in execute event_name, flag = import_np_doric_csv(filepath, isosbestic_control, num_ch) File "/Users/raphaelgoutaudier/Documents/GuPPy-main/GuPPy/saveStoresList.py", line 595, in import_np_doric_csv raise Exception("\033[1m"+"Column names should be timestamps, data and sampling_rate (all lower-cases)"+"\033[0m") Exception: Column names should be timestamps, data and sampling_rate** (all lower-cases)"

We try several things. If we remove the two signal file we can go to the step2 but no storename appears. If we let the DIO files with the two column (DIO and timestamps), we can't go to the step2.

Also, we noticed that another user had a similar problem and that you adviced him to use textfile save in .csv, but for us it did not work as our text file are saved in .txt

Have you any idea about the way to solve our problem ?

venus-sherathiya commented 1 year ago

Can you open your csv files in notepad or normal text editor and send me the screenshots of it ?

goutaudi commented 1 year ago

Hello,

I think I found the problem in my data. When I use the Matlab script to remove the useless timestamp, the new .csv file keeps only 2 number after the comma. I addition, following your recommandation I open it in notepad and I notice that all text and number in the new DIO file was "XXX.XX". This is not the same output that the initial file.

I try to do it manually by removing each useless timestamp in excel and it works.

DIO01 Control_DA DIO02 DIO03 DIO04 Signal_DA

venus-sherathiya commented 1 year ago

should I close this issue ?

venus-sherathiya commented 1 year ago

issue was addressed