Hi,
Thank you for this helpful discussion! I am also trying to compute these different ephys features for some cells (10 cells to begin with), and I have few questions.
I downloaded the ipfx package. Then from Spider, I run the run_feature_extraction_vector.py, after modifying default arguments for 1) output_dir, 2) input for the csv containing 10 cells ids.
Here are my questions:
- When I first Run the script in Spider, the IPython console was “busy”, but nothing happened in 2h. I then interrupted the console and got this message:
Traceback (most recent call last):
File "/Users/julienballbe/My_Work/ipfx-master/ipfx/bin/run_feature_vector_extraction.py", line 342, in <module>
if __name__ == "__main__": main()
File "/Users/julienballbe/My_Work/ipfx-master/ipfx/bin/run_feature_vector_extraction.py", line 337, in main
run_feature_vector_extraction(ids=ids, **module.args)
File "/Users/julienballbe/My_Work/ipfx-master/ipfx/bin/run_feature_vector_extraction.py", line 310, in run_feature_vector_extraction
results = pool.map(get_data_partial, specimen_ids)
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/pool.py", line 268, in map
return self._map_async(func, iterable, mapstar, chunksize).get()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/pool.py", line 651, in get
self.wait(timeout)
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/pool.py", line 648, in wait
self._event.wait(timeout)
File "/opt/anaconda3/envs/Allen/lib/python3.7/threading.py", line 552, in wait
signaled = self._cond.wait(timeout)
File "/opt/anaconda3/envs/Allen/lib/python3.7/threading.py", line 296, in wait
waiter.acquire()
KeyboardInterrupt
Output from spyder call 'get_cwd':
Process ForkPoolWorker-1480:
Process ForkPoolWorker-1488:
Process ForkPoolWorker-1481:
Process ForkPoolWorker-1485:
Process ForkPoolWorker-1484:
Process ForkPoolWorker-1483:
Process ForkPoolWorker-1482:
Process ForkPoolWorker-1487:
Process ForkPoolWorker-1489:
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
Traceback (most recent call last):
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/pool.py", line 110, in worker
task = get()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/pool.py", line 110, in worker
task = get()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/pool.py", line 110, in worker
task = get()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/pool.py", line 110, in worker
task = get()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/pool.py", line 110, in worker
task = get()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/pool.py", line 110, in worker
task = get()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/pool.py", line 110, in worker
task = get()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/pool.py", line 110, in worker
task = get()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/pool.py", line 110, in worker
task = get()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/queues.py", line 352, in get
res = self._reader.recv_bytes()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/pool.py", line 110, in worker
task = get()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/queues.py", line 351, in get
with self._rlock:
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/queues.py", line 351, in get
with self._rlock:
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/queues.py", line 351, in get
with self._rlock:
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/queues.py", line 351, in get
with self._rlock:
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/queues.py", line 351, in get
with self._rlock:
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/queues.py", line 351, in get
with self._rlock:
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/queues.py", line 351, in get
with self._rlock:
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/queues.py", line 351, in get
with self._rlock:
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/connection.py", line 216, in recv_bytes
buf = self._recv_bytes(maxlength)
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/queues.py", line 351, in get
with self._rlock:
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
return self._semlock.__enter__()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
return self._semlock.__enter__()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
return self._semlock.__enter__()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
return self._semlock.__enter__()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
return self._semlock.__enter__()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/connection.py", line 407, in _recv_bytes
buf = self._recv(4)
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
return self._semlock.__enter__()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
return self._semlock.__enter__()
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
return self._semlock.__enter__()
KeyboardInterrupt
KeyboardInterrupt
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/synchronize.py", line 95, in __enter__
return self._semlock.__enter__()
KeyboardInterrupt
KeyboardInterrupt
KeyboardInterrupt
File "/opt/anaconda3/envs/Allen/lib/python3.7/multiprocessing/connection.py", line 379, in _recv
chunk = read(handle, remaining)
KeyboardInterrupt
KeyboardInterrupt
KeyboardInterrupt
KeyboardInterrupt
KeyboardInterrupt
I then changed default input for run_parallel from True to False, and then the script actually did something, started to download nwb files etc… Do you have an idea why it was blocking at this step?
-
As the script was running (after I changed run_parallel to False), the nwb files were actually downloading, even though I already have them downloaded in another folder. Do you know how I can indicate the path to the nab files already downloaded?
-
At first when I tried to run the script (after changing the output folder), I got an error about the fact that the H5 file did not exist coming from line
if output_file_type == "h5":
# Check that we can access the specified file before processing everything
h5_file = h5py.File(os.path.join(output_dir, "fv_{}.h5".format(output_code)))
h5_file.close()
, which was true as I though the script would generate one. I then indicated output_dir and output_code so that it directed to an already existing H5 file containing features vectors, and the Error disappeared. Is that normal, or is there an option to activated to create the H5 file if it does not already exist?
Thank you very much for any help you can give me!
Best wishes!
Julien