QI2lab / merfish3d-analysis

3D MERFISH data processing
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

How to run postprocessing? #2

Closed mabbasi6 closed 7 months ago

mabbasi6 commented 7 months ago

Hi,

I am trying to learn how to do post-processing on the data Emma is generating. I have basic questions here.

First, should I be using "run_postprocessing.py"? and is there a specific way or any installation beforehand that I should do? I just used python run_postprocessing.py and this is the error I got:

Traceback (most recent call last):
  File "/data/bioprotean/repos/momo/wf-merfish/src/wf_merfish/run_postprocessing.py", line 3, in <module>
    from wf_merfish.postprocess.postprocess import postprocess
  File "/data/bioprotean/repos/momo/wf-merfish/src/wf_merfish/postprocess/postprocess.py", line 23, in <module>
    from wf_merfish.utils._dataio import return_data_dask, read_metadatafile
  File "/data/bioprotean/repos/momo/wf-merfish/src/wf_merfish/utils/_dataio.py", line 146, in <module>
    def load_localizations(localization_paths: Dict[Union[Path,str]],
  File "/home/mabbasi6/.conda/envs/spots3d/lib/python3.10/typing.py", line 312, in inner
    return func(*args, **kwds)
  File "/home/mabbasi6/.conda/envs/spots3d/lib/python3.10/typing.py", line 1144, in __getitem__
    _check_generic(self, params, self._nparams)
  File "/home/mabbasi6/.conda/envs/spots3d/lib/python3.10/site-packages/typing_extensions.py", line 166, in _check_generic
    raise TypeError(f"Too {'many' if alen > elen else 'few'} parameters for {cls};"
TypeError: Too few parameters for typing.Dict; actual 1, expected 2
dpshepherd commented 7 months ago

This looks like the install did not work correctly. Can you please run git pull and pip install -e . again?

Are you in a dedicated environment for the package?

dpshepherd commented 7 months ago

Also, did you create a dedicated python environment and first install spots3d and napari-spot-detection, before pulling and pip installing this repository? I added these steps to the installation instructions in the readme.

mabbasi6 commented 7 months ago

Yes, I have used a separate Conda environment to install "spots3d", "napari-spot-detection", and "wf-merfish", but I still get the same error:

Traceback (most recent call last):
  File "/data/bioprotean/repos/momo/wf-merfish/src/wf_merfish/run_postprocessing.py", line 3, in <module>
    from wf_merfish.postprocess.postprocess import postprocess
  File "/home/mabbasi6/.conda/envs/merfish/lib/python3.10/site-packages/wf_merfish/postprocess/postprocess.py", line 23, in <module>
    from wf_merfish.utils._dataio import return_data_dask, read_metadatafile
  File "/home/mabbasi6/.conda/envs/merfish/lib/python3.10/site-packages/wf_merfish/utils/_dataio.py", line 146, in <module>
    def load_localizations(localization_paths: Dict[Union[Path,str]],
  File "/home/mabbasi6/.conda/envs/merfish/lib/python3.10/typing.py", line 312, in inner
    return func(*args, **kwds)
  File "/home/mabbasi6/.conda/envs/merfish/lib/python3.10/typing.py", line 1144, in __getitem__
    _check_generic(self, params, self._nparams)
  File "/home/mabbasi6/.conda/envs/merfish/lib/python3.10/site-packages/typing_extensions.py", line 166, in _check_generic
    raise TypeError(f"Too {'many' if alen > elen else 'few'} parameters for {cls};"
TypeError: Too few parameters for typing.Dict; actual 1, expected 2

I even made a new environment to double check and I still get the same error.

dpshepherd commented 7 months ago

I removed that code (it is not currently used) to check if your package is actually updating, which means it is not.

You can verify that the _dataio.py file no longer contains the load_localizations here: https://github.com/QI2lab/wf-merfish/blob/main/src/wf_merfish/utils/_dataio.py

mabbasi6 commented 7 months ago

You are right. It must be that it is not updated when I used git pull command. Deleting and re-trying now.

mabbasi6 commented 7 months ago

Thank you, postprocessing is working now.

dpshepherd commented 7 months ago

Great. Keep in mind that this package is under development, so you may need to modify code or git pull again as we streamline with Emma and Rory.