Describe the bug
Loading a MSFragger lib and predicting spectra works on the main branch of alphaBase but fails on the development branch of alphaBase.
@GeorgWa Thanks. I guess this is because we introduce some new features in alphabase==1.1.0, and alphapeptdeep==1.1.0 supports the new features. I will test it today
Describe the bug Loading a MSFragger lib and predicting spectra works on the main branch of alphaBase but fails on the development branch of alphaBase.
To Reproduce
Additional context
Error Message
```python --------------------------------------------------------------------------- RemoteTraceback Traceback (most recent call last) RemoteTraceback: """ Traceback (most recent call last): File "/Users/georgwallmann/miniconda3/envs/alpha/lib/python3.9/multiprocessing/pool.py", line 125, in worker result = (True, func(*args, **kwds)) File "/Users/georgwallmann/Documents/git/alphapeptdeep/peptdeep/pretrained_models.py", line 887, in _predict_func_for_mp return self.predict_all( File "/Users/georgwallmann/Documents/git/alphapeptdeep/peptdeep/pretrained_models.py", line 1065, in predict_all fragment_mz_df = create_fragment_mz_dataframe( File "/Users/georgwallmann/Documents/git/alphabase/alphabase/peptide/fragment.py", line 913, in create_fragment_mz_dataframe return create_fragment_mz_dataframe( File "/Users/georgwallmann/Documents/git/alphabase/alphabase/peptide/fragment.py", line 975, in create_fragment_mz_dataframe return mask_fragments_for_charge_greater_than_precursor_charge( File "/Users/georgwallmann/Documents/git/alphabase/alphabase/peptide/fragment.py", line 502, in mask_fragments_for_charge_greater_than_precursor_charge fragment_df.loc[ File "/Users/georgwallmann/miniconda3/envs/alpha/lib/python3.9/site-packages/pandas/core/indexing.py", line 815, in __setitem__ indexer = self._get_setitem_indexer(key) File "/Users/georgwallmann/miniconda3/envs/alpha/lib/python3.9/site-packages/pandas/core/indexing.py", line 698, in _get_setitem_indexer return self._convert_tuple(key) File "/Users/georgwallmann/miniconda3/envs/alpha/lib/python3.9/site-packages/pandas/core/indexing.py", line 897, in _convert_tuple keyidx = [self._convert_to_indexer(k, axis=i) for i, k in enumerate(key)] File "/Users/georgwallmann/miniconda3/envs/alpha/lib/python3.9/site-packages/pandas/core/indexing.py", line 897, in keyidx = [self._convert_to_indexer(k, axis=i) for i, k in enumerate(key)] File "/Users/georgwallmann/miniconda3/envs/alpha/lib/python3.9/site-packages/pandas/core/indexing.py", line 1394, in _convert_to_indexer key = check_bool_indexer(labels, key) File "/Users/georgwallmann/miniconda3/envs/alpha/lib/python3.9/site-packages/pandas/core/indexing.py", line 2567, in check_bool_indexer return check_array_indexer(index, result) File "/Users/georgwallmann/miniconda3/envs/alpha/lib/python3.9/site-packages/pandas/core/indexers/utils.py", line 553, in check_array_indexer raise IndexError( IndexError: Boolean index has wrong length: 51864 instead of 3084552 """ The above exception was the direct cause of the following exception: IndexError Traceback (most recent call last) [/Users/georgwallmann/Downloads/create_msfragger_lib.ipynb](https://file+.vscode-resource.vscode-cdn.net/Users/georgwallmann/Downloads/create_msfragger_lib.ipynb) Cell 4 in 1 [10](vscode-notebook-cell:/Users/georgwallmann/Downloads/create_msfragger_lib.ipynb#W3sZmlsZQ%3D%3D?line=9) target_lib.precursor_df['nce'] = model_mgr.nce [12](vscode-notebook-cell:/Users/georgwallmann/Downloads/create_msfragger_lib.ipynb#W3sZmlsZQ%3D%3D?line=11) frag_types = get_charged_frag_types( [13](vscode-notebook-cell:/Users/georgwallmann/Downloads/create_msfragger_lib.ipynb#W3sZmlsZQ%3D%3D?line=12) ['b','y'], [14](vscode-notebook-cell:/Users/georgwallmann/Downloads/create_msfragger_lib.ipynb#W3sZmlsZQ%3D%3D?line=13) 2 [15](vscode-notebook-cell:/Users/georgwallmann/Downloads/create_msfragger_lib.ipynb#W3sZmlsZQ%3D%3D?line=14) ) ---> [17](vscode-notebook-cell:/Users/georgwallmann/Downloads/create_msfragger_lib.ipynb#W3sZmlsZQ%3D%3D?line=16) res = model_mgr.predict_all( [18](vscode-notebook-cell:/Users/georgwallmann/Downloads/create_msfragger_lib.ipynb#W3sZmlsZQ%3D%3D?line=17) target_lib.precursor_df, [19](vscode-notebook-cell:/Users/georgwallmann/Downloads/create_msfragger_lib.ipynb#W3sZmlsZQ%3D%3D?line=18) predict_items=['ms2'], [20](vscode-notebook-cell:/Users/georgwallmann/Downloads/create_msfragger_lib.ipynb#W3sZmlsZQ%3D%3D?line=19) frag_types = frag_types, [21](vscode-notebook-cell:/Users/georgwallmann/Downloads/create_msfragger_lib.ipynb#W3sZmlsZQ%3D%3D?line=20) ) [22](vscode-notebook-cell:/Users/georgwallmann/Downloads/create_msfragger_lib.ipynb#W3sZmlsZQ%3D%3D?line=21) target_lib._precursor_df = res['precursor_df'] [23](vscode-notebook-cell:/Users/georgwallmann/Downloads/create_msfragger_lib.ipynb#W3sZmlsZQ%3D%3D?line=22) target_lib._fragment_mz_df = res['fragment_mz_df'] File [~/Documents/git/alphapeptdeep/peptdeep/pretrained_models.py:1098](https://file+.vscode-resource.vscode-cdn.net/Users/georgwallmann/Downloads/~/Documents/git/alphapeptdeep/peptdeep/pretrained_models.py:1098), in ModelManager.predict_all(self, precursor_df, predict_items, frag_types, multiprocessing, min_required_precursor_num_for_mp, process_num, mp_batch_size) 1096 else: 1097 logging.info(f"Using multiprocessing with {process_num} processes ...") -> 1098 return self.predict_all_mp( 1099 precursor_df, 1100 predict_items=predict_items, 1101 process_num = process_num, 1102 mp_batch_size=mp_batch_size, 1103 ) File [~/Documents/git/alphapeptdeep/peptdeep/pretrained_models.py:937](https://file+.vscode-resource.vscode-cdn.net/Users/georgwallmann/Downloads/~/Documents/git/alphapeptdeep/peptdeep/pretrained_models.py:937), in ModelManager.predict_all_mp(self, precursor_df, predict_items, frag_types, process_num, mp_batch_size) 934 self.verbose = False 936 with mp.get_context('spawn').Pool(process_num) as p: --> 937 for ret_dict in process_bar( 938 p.imap_unordered( 939 self._predict_func_for_mp, 940 mp_param_generator(df_groupby) 941 ), 942 get_batch_num_mp(df_groupby) 943 ): 944 precursor_df_list.append(ret_dict['precursor_df']) 945 if fragment_mz_df_list is not None: File [~/Documents/git/alphapeptdeep/peptdeep/utils.py:27](https://file+.vscode-resource.vscode-cdn.net/Users/georgwallmann/Downloads/~/Documents/git/alphapeptdeep/peptdeep/utils.py:27), in process_bar(iterator, len_iter) 25 with tqdm.tqdm(total=len_iter) as bar: 26 i = 0 ---> 27 for i,iter in enumerate(iterator): 28 yield iter 29 bar.update() File [~/miniconda3/envs/alpha/lib/python3.9/multiprocessing/pool.py:870](https://file+.vscode-resource.vscode-cdn.net/Users/georgwallmann/Downloads/~/miniconda3/envs/alpha/lib/python3.9/multiprocessing/pool.py:870), in IMapIterator.next(self, timeout) 868 if success: 869 return value --> 870 raise value IndexError: Boolean index has wrong length: 51864 instead of 3084552 ```Conda Env
``` # packages in environment at /Users/georgwallmann/miniconda3/envs/alpha: # # Name Version Build Channel alabaster 0.7.12 pypi_0 pypi alphabase 0.2.0 dev_0I'm using the dev branch of alphaPeptDeep. I placed a notebook and library at
pool-mann-projects\0_Georg\for_people\Feng
.