Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

clean the requirements #276

Open
wants to merge 15 commits into
base: main
Choose a base branch
from
Open

clean the requirements #276

wants to merge 15 commits into from

Conversation

mschwoer
Copy link
Contributor

@mschwoer mschwoer commented Jan 16, 2025

Clean some unused dependencies

@jalew188 what about pydivsufsort ? this is used by lcp_digest.py but was already commented?

@mschwoer mschwoer requested a review from jalew188 January 16, 2025 13:29
@mschwoer mschwoer marked this pull request as ready for review January 16, 2025 13:29
Copy link
Collaborator

@GeorgWa GeorgWa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jalew188
Copy link
Collaborator

pydivsufsort is not stable in some OS versions (or systems), so we did not include it as the default reqs.

dask==2024.8.0
dask_expr==1.1.10
pyahocorasick==2.1.0
pyteomics==4.7.5
lxml==5.3.0
lxml==5.3.0 # required by pyteomics
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pyteomics is not stable sometimes with errors due to pd.version.version. I am thinking about removing it from default reqs as it only used by AlphaRaw. What do you think @GeorgWa @mschwoer

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we still support mzml if we remove it?
I would not want to build and maintain our own mzml reader. But otherwise I’m happy to remove it.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe it is better to import pyteomics only when we call mzml functionalities. This will not interrupt default workflow if pyteomics has issues.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This requires by PepXML right? Not pyteomics? Otherwise we can move it into alpharaw

Copy link
Contributor Author

@mschwoer mschwoer Jan 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the error message requiring lxml came from pepxml, yes ..
but pyteomics should be stable if we fix the version, right (like pyteomics==4.7.5)?

on the other hand, people typically use the "loose" version (right, @GeorgWa ;-) )

we could have a separate extra alphabase[mzml] (and [mzml-stable]), such that only then pyteomics and lxml will be installed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

made it optional

Copy link
Contributor Author

@mschwoer mschwoer Feb 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

okay, after some more investigation:
at least alpharaw & peptdeep also have pyteomics/lxml dependency .. so we would make it optional also there (otherwise there's not too much gain)

and: do we want to make it optional at all? are we aware of any downstream packages that always require the mzml extra?
@jalew188 @GeorgWa

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think mzml will be replaced by binary storage such as hdf5... So I prefer to make it optional. We can support it in the released installers.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

alright, as there's little value (for now) in making mzml optional here, but added complexity, I chose to revert this change for now ..

Copy link
Collaborator

@jalew188 jalew188 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Base automatically changed from remove_setup_py to main January 20, 2025 13:44
@mschwoer mschwoer requested review from jalew188 and GeorgWa February 18, 2025 13:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants