compomics / ms2rescore

Modular and user-friendly platform for AI-assisted rescoring of peptide identifications
https://ms2rescore.readthedocs.io
Apache License 2.0
49 stars 15 forks source link

Error while running command line ms2rescore #78

Closed rolivella closed 1 year ago

rolivella commented 2 years ago

Hi,

I'm trying to run the command line version of ms2rescore in my local PC with Ubuntu 20.04.5 LTS and Python 3.7.0. I installed percolator and copied the default config_default.json file from this repo. My file is a QC HeLa that I converted to MGF with ThermoRawFileParser and searched with OpenMS+Mascot. I converted the output idXML to mzID with IDFileConverter .

Here the files I used: https://www.dropbox.com/sh/tz6mmmtnqk9mqd5/AACF8Nk6BFbF5M9VHwQB8Rrza?dl=0

The line for running the program:

ms2rescore -c config_default.json -m 2022MQ903_QC02_001_01_100ng.raw.mgf 2022MQ903_QC02_001_01_100ng.raw_mascot_idfilter_aaa_peptideindexer_fdr_idfilter_score.mzid

And the result:

2022-09-05 15:58:50 // INFO // ms2rescore // Using MSGFPipeline.
2022-09-05 15:58:50 // INFO // ms2rescore.percolator // Running Percolator PIN converter
2022-09-05 15:58:50 // ERROR // ms2rescore.__main__ // Critical error occured in MS2ReScore
Traceback (most recent call last):
  File "/home/rolivella/venv/lib/python3.7/site-packages/ms2rescore/__main__.py", line 15, in main
    rescore.run()
  File "/home/rolivella/venv/lib/python3.7/site-packages/ms2rescore/__init__.py", line 233, in run
    peprec = self.pipeline.get_peprec()
  File "/home/rolivella/venv/lib/python3.7/site-packages/ms2rescore/id_file_parser.py", line 245, in get_peprec
    return self.peprec_from_pin()
  File "/home/rolivella/venv/lib/python3.7/site-packages/ms2rescore/id_file_parser.py", line 179, in peprec_from_pin
    peprec = self.original_pin.to_peptide_record(
  File "/home/rolivella/venv/lib/python3.7/site-packages/ms2rescore/id_file_parser.py", line 169, in original_pin
    self._run_percolator_converter()
  File "/home/rolivella/venv/lib/python3.7/site-packages/ms2rescore/id_file_parser.py", line 149, in _run_percolator_converter
    log_level=self.log_level,
  File "/home/rolivella/venv/lib/python3.7/site-packages/ms2rescore/percolator.py", line 532, in run_percolator_converter
    subprocess.run(command, capture_output=log_level == "debug", check=True)
  File "/home/rolivella/anaconda3/lib/python3.7/subprocess.py", line 453, in run
    with Popen(*popenargs, **kwargs) as process:
  File "/home/rolivella/anaconda3/lib/python3.7/subprocess.py", line 756, in __init__
    restore_signals, start_new_session)
  File "/home/rolivella/anaconda3/lib/python3.7/subprocess.py", line 1499, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'msgf2pin': 'msgf2pin'

Am I missing something?

Thank you

RalfG commented 1 year ago

Hi! Thanks for your question. Apologies for the late reply.

msgf2pin is one of the Percolator convertors that is currently used within MS²Rescore for MSGF output. The converters should be installed separately and can be downloaded from the Percolator GitHub: https://github.com/percolator/percolator/releases/latest