QuantSysBio / inSPIRE

in silico Spectral Predictor Informed REscoring
GNU General Public License v2.0
20 stars 1 forks source link

Modification KeyError #30

Closed danyunghsu closed 1 month ago

danyunghsu commented 4 months ago

Hi all, When I run inspire on MaxQuant data i get the following error.

thread '' panicked at py-polars\src\map\series.rs:219:19: python function failed KeyError: 'Acetyl (Protein N-term' note: run with RUST_BACKTRACE=1 environment variable to display a backtrace --- PyO3 is resuming a panic after fetching a PanicException from Python. --- Python stack trace below: Traceback (most recent call last): File "D:\anaconda3\envs\inspire\Lib\site-packages\polars\expr\expr.py", line 4219, in wrap_f return x.map_elements( ^^^^^^^^^^^^^^^ File "D:\anaconda3\envs\inspire\Lib\site-packages\polars\series\series.py", line 5018, in map_elements self._s.apply_lambda(function, pl_return_dtype, skip_nulls) pyo3_runtime.PanicException: python function failed KeyError: 'Acetyl (Protein N-term' Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "D:\anaconda3\envs\inspire\Scripts\inspire.exe__main__.py", line 7, in File "D:\anaconda3\envs\inspire\Lib\site-packages\inspire\run.py", line 159, in run_inspire prepare_for_spectral_prediction(config) File "D:\anaconda3\envs\inspire\Lib\site-packages\inspire\prepare.py", line 134, in prepare_for_spectral_prediction target_df, mods_df = generic_read_df(config) ^^^^^^^^^^^^^^^^^^^^^^^ File "D:\anaconda3\envs\inspire\Lib\site-packages\inspire\input\search_results.py", line 58, in generic_read_df search_df, mods_df = read_mq_data(config.search_results) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\anaconda3\envs\inspire\Lib\site-packages\inspire\input\maxquant.py", line 307, in read_mq_data return read_single_mq_data(mq_data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\anaconda3\envs\inspire\Lib\site-packages\inspire\input\maxquant.py", line 211, in read_single_mq_data mq_df = mq_df.with_columns( ^^^^^^^^^^^^^^^^^^^ File "D:\anaconda3\envs\inspire\Lib\site-packages\polars\dataframe\frame.py", line 7967, in with_columns return self.lazy().with_columns(*exprs, *named_exprs).collect(_eager=True) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\anaconda3\envs\inspire\Lib\site-packages\polars\utils\deprecation.py", line 100, in wrapper return function(args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\anaconda3\envs\inspire\Lib\site-packages\polars\lazyframe\frame.py", line 1788, in collect return wrap_df(ldf.collect()) ^^^^^^^^^^^^^ pyo3_runtime.PanicException: python function failed KeyError: 'Acetyl (Protein N-term'

Besides, i have set Phospho(R) as a variable modification in MaxQuant database searching.

I have uploaded my configuration file and msms.txt file here. Thanks in advance.

Best wishes, Danyung. [Uploading msms.txt…]()

jamc1996 commented 4 months ago

Hi Danyung,

Sorry for the delay. Thanks for posting the problem, we're wrapping up the next version of inSPIRE atm. so it should be online soon. I'm just running some final tests now. I'll let you know when it's ready.

Best wishes, John.

jamc1996 commented 4 months ago

Hi Danyung,

Sorry I was sick last week so progress was delayed. I think the version currently on GitHub should solve your problem.

I don't think the upload of the msms.txt worked properly though so it would be very helpful if you could reupload it or test it with the version on GitHub before we publish to pypi.

If you want to install the version from GitHub you just need to follow these steps:

Uninstall your existing installation:

pip uninstall inspirems

Clone the GitHub repo:

git clone https://github.com/QuantSysBio/inSPIRE.git

Change directory into inSPIRE:

cd inSPIRE

Install the cloned repo:

python setup.py develop

Thanks again and let me know if there are still any issues.

Best, John.

jamc1996 commented 1 month ago

Our latest pre-release version of pypi should have resolved this issue. Use

pip install inspirems==2.0rc6

to make sure you get the latest version.