Closed vrkosk closed 3 months ago
I'm getting the same exception if I use [UNIMOD:nn] with DeepLCFeatureGenerator. Using deltas with DeepLCFeatureGenerator kind of works, but it correctly logs warnings like:
2024-03-22 11:31:07,118 WARNING Skipping the following (not in library): [GenericModification('15.994915', None, None)]
Which means DeepLCFeatureGenerator is useless until the fault is fixed.
Same here, tried different platforms.
AttributeError: Can't pickle local object 'create_engine.
Same here, tried different platforms. AttributeError: Can't pickle local object 'create_engine..connect'
Got through by using the docker version.
Looking at the current Dockerfile, it specifies ubuntu:focal (20.04 LTS) as the starting point. I'm not sure which Python version it has; Distrowatch says 3.8.
I've installed Python 3.8.10, the latest 3.8.x with a 64-bit Windows installer, made the venv and and tried pip install ms2rescore
. Unfortunately, it gets stuck in compiling statsmodels and there are various errors about ms2pip wheels not being available. So I can't confirm or disprove that using Python 3.8 helps on Windows.
Hi @vrkosk and @ttzzjt,
We are investigating the issue. For now, it seems like downgrading to Pyteomics 4.6 helps to avoid the issue. Just run:
pip install pyteomics==4.6.3
Or update psm_utils, which temporarily has the Pyteomics version restriction in place:
pip install --upgrade psm_utils
I will post here when we know more.
Best, Ralf
Yes, downgrading to pyteomics 4.6.3 works.
A fix will be included in the next Pyteomics release: levitsky/pyteomics#144
I'm getting a mysterious pickling error when trying to use ms2rescore.feature_generators.ms2pip.MS2PIPFeatureGenerator. The error seems to be caused by having [UNIMOD:nn] variable mods in the ProForma string of a peptide.
Here's how I create the environment:
I've written a script that creates a suitable psm_list and MGF file, then the script just calls:
This works with unmodified peptides (so ProForma sequences like "PEPTIDEK/2"). However, every ProForma sequence with mods ends up with a strange stack trace:
Here's what I've tried in a fresh venv:
Is the issue the ProForma strings in the input? In this case, there's just one peptide (psm_list.to_dataframe().to_csv()):
The ProForma syntax is correct, or at least accepted by https://pyteomics.readthedocs.io/en/latest/api/proforma.html. If I change it to Unimod titles:
Then I still get the same exception. If I change the input to use deltas instead of Unimod record IDs, like this:
Then MS2PIP is happy. Note, the issue is not having multiple mods at the same site. The fault is clearly caused by the [UNIMOD:nn] field.
From grepping the venv, I can tell create_engine comes from sqlalchemy, and it looks like this has something to do with ms2pip's dlib support:
But I can't see what I can do at the call site to disable dlib (if it's the issue) or what setting to change.
I will work around the issue by only using deltas in ProForma strings.