QI2lab / merfish3d-analysis

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

Problem with extra id column in codebook.csv #7

Closed julianantolin closed 3 months ago

julianantolin commented 3 months ago

Description

I am trying to run test_pixeldecode.py and have transferred the data from the opm3 drive.

What I Did

Paste the command(s) you ran and the output.
I ran test_pixeldecode.py by passing path = ./20240329_zhuang_MOP_data/qi2lab_merfish/
I get the error below when loading the codebook as a pandas dataframe.

---------------------------------------------------------------------------
`ValueError                                Traceback (most recent call last)
File /home/julian/wf-merfish/test_pixeldecode.py:10
      [7](https://file+.vscode-resource.vscode-cdn.net/home/julian/wf-merfish/test_pixeldecode.py:7) # dataset_path = Path("/home/julian//Downloads/50_mhd4_4bit_mk2/results/_b_x_rna_50_bg_0.01_temp_all/compatibility/processed/")
      [9](https://file+.vscode-resource.vscode-cdn.net/home/julian/wf-merfish/test_pixeldecode.py:9) dataset_path = Path('/home/julian/Documents/rnaFISH/runs/20240329_zhuang_MOP_data/qi2lab_merfish/')
---> [10](https://file+.vscode-resource.vscode-cdn.net/home/julian/wf-merfish/test_pixeldecode.py:10) decode_factory = PixelDecoder(dataset_path=dataset_path,
     [11](https://file+.vscode-resource.vscode-cdn.net/home/julian/wf-merfish/test_pixeldecode.py:11)                               global_normalization_limits=[.1,80.0], # clipping to have data in [0,100%]
     [12](https://file+.vscode-resource.vscode-cdn.net/home/julian/wf-merfish/test_pixeldecode.py:12)                               overwrite_normalization=True,
     [13](https://file+.vscode-resource.vscode-cdn.net/home/julian/wf-merfish/test_pixeldecode.py:13)                               exp_type='3D',
     [14](https://file+.vscode-resource.vscode-cdn.net/home/julian/wf-merfish/test_pixeldecode.py:14)                               merfish_bits=[16](https://file+.vscode-resource.vscode-cdn.net/home/julian/wf-merfish/test_pixeldecode.py:16))
     16 tile_ids = decode_factory._tile_ids
     [18](https://file+.vscode-resource.vscode-cdn.net/home/julian/wf-merfish/test_pixeldecode.py:18) del decode_factory

File ~/miniconda3/envs/wf-merfish/lib/python3.10/site-packages/wf_merfish/postprocess/PixelDecoder.py:88, in PixelDecoder.__init__(self, dataset_path, tile_idx, exp_type, use_mask, scale_factors, global_normalization_limits, overwrite_normalization, z_range, include_blanks, merfish_bits, verbose)
     [86](https://file+.vscode-resource.vscode-cdn.net/home/julian/wf-merfish/~/miniconda3/envs/wf-merfish/lib/python3.10/site-packages/wf_merfish/postprocess/PixelDecoder.py:86) self._parse_dataset()
     [87](https://file+.vscode-resource.vscode-cdn.net/home/julian/wf-merfish/~/miniconda3/envs/wf-merfish/lib/python3.10/site-packages/wf_merfish/postprocess/PixelDecoder.py:87) self._load_experiment_parameters()
---> [88](https://file+.vscode-resource.vscode-cdn.net/home/julian/wf-merfish/~/miniconda3/envs/wf-merfish/lib/python3.10/site-packages/wf_merfish/postprocess/PixelDecoder.py:88) self._load_codebook()
     [89](https://file+.vscode-resource.vscode-cdn.net/home/julian/wf-merfish/~/miniconda3/envs/wf-merfish/lib/python3.10/site-packages/wf_merfish/postprocess/PixelDecoder.py:89) self._decoding_matrix_no_errors = self._normalize_codebook(include_errors=False)
     [90](https://file+.vscode-resource.vscode-cdn.net/home/julian/wf-merfish/~/miniconda3/envs/wf-merfish/lib/python3.10/site-packages/wf_merfish/postprocess/PixelDecoder.py:90) self._decoding_matrix = self._decoding_matrix_no_errors.copy()

File ~/miniconda3/envs/wf-merfish/lib/python3.10/site-packages/wf_merfish/postprocess/PixelDecoder.py:140, in PixelDecoder._load_codebook(self)
    [137](https://file+.vscode-resource.vscode-cdn.net/home/julian/wf-merfish/~/miniconda3/envs/wf-merfish/lib/python3.10/site-packages/wf_merfish/postprocess/PixelDecoder.py:137) if not(self._include_blanks):
    [138](https://file+.vscode-resource.vscode-cdn.net/home/julian/wf-merfish/~/miniconda3/envs/wf-merfish/lib/python3.10/site-packages/wf_merfish/postprocess/PixelDecoder.py:138)     self._df_codebook.drop(self._df_codebook[self._df_codebook['gene_id'].str.startswith('Blank')].index, inplace=True)
--> [140](https://file+.vscode-resource.vscode-cdn.net/home/julian/wf-merfish/~/miniconda3/envs/wf-merfish/lib/python3.10/site-packages/wf_merfish/postprocess/PixelDecoder.py:140) self._codebook_matrix = self._df_codebook.iloc[:, 1:].to_numpy().astype(int)
    [141](https://file+.vscode-resource.vscode-cdn.net/home/julian/wf-merfish/~/miniconda3/envs/wf-merfish/lib/python3.10/site-packages/wf_merfish/postprocess/PixelDecoder.py:141) self._gene_ids = self._df_codebook.iloc[:, 0].tolist()

ValueError: invalid literal for int() with base 10: '1700022I11Rik'`
dpshepherd commented 3 months ago

Should be closed by 4cf8e6c