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

issues with ont-pybasecall-client-lib installation #60

Open
npdungca opened this issue Oct 31, 2024 · 1 comment
Open

issues with ont-pybasecall-client-lib installation #60

npdungca opened this issue Oct 31, 2024 · 1 comment

Comments

@npdungca
Copy link

hello. I'm trying to install buttery-eel in a HPC using the following commands:

module load StdEnv/2023 python/3.10
virtualenv --no-download --clear ~/venv3 && source ~/venv3/bin/activate
pip install -U pip
pip install --upgrade pip
pip install --upgrade setuptools wheel

I'm encountering this error:
(venv3) [nina7@narval1 buttery-eel]$ pip install .
Looking in links: /cvmfs/soft.computecanada.ca/custom/python/wheelhouse/gentoo2023/x86-64-v3, /cvmfs/soft.computecanada.ca/custom/python/wheelhouse/gentoo2023/generic, /cvmfs/soft.computecanada.ca/custom/python/wheelhouse/generic
Processing /home/nina7/buttery-eel
Preparing metadata (setup.py) ... done
Requirement already satisfied: numpy in ./.eggs/numpy-2.1.2-py3.10-linux-x86_64.egg (from buttery-eel==0.5.2) (2.1.2)
Requirement already satisfied: pyslow5>=1.1.0 in /home/nina7/venv3/lib/python3.10/site-packages/pyslow5-1.3.0-py3.10-linux-x86_64.egg (from buttery-eel==0.5.2) (1.3.0)
INFO: pip is looking at multiple versions of buttery-eel to determine which version is compatible with other requirements. This could take a while.
ERROR: Could not find a version that satisfies the requirement ont-pybasecall-client-lib==7.4.12 (from buttery-eel) (from versions: none)
ERROR: No matching distribution found for ont-pybasecall-client-lib==7.4.12
then I tried manually installing it but got the same error:

I also tried this:
(venv3) [nina7@narval1 buttery-eel]$ pip install ont-pybasecall-client-lib
Looking in links: /cvmfs/soft.computecanada.ca/custom/python/wheelhouse/gentoo2023/x86-64-v3, /cvmfs/soft.computecanada.ca/custom/python/wheelhouse/gentoo2023/generic, /cvmfs/soft.computecanada.ca/custom/python/wheelhouse/generic
ERROR: Could not find a version that satisfies the requirement ont-pybasecall-client-lib (from versions: none)
ERROR: No matching distribution found for ont-pybasecall-client-lib

And when I tried to have it installed by the admin, I was told that it's not possible to install/use the tool since it requires sending jobs to an external server but they could try to install it if it could work without dorado-server.

Thank you in advance for your help.

@Psy-Fer
Copy link
Owner

Psy-Fer commented Oct 31, 2024

Hello,

Thanks for the detailed info, this is very helpful.

So a few things.
It looks like your pip is trying to pull wheels from

/cvmfs/soft.computecanada.ca/custom/python/wheelhouse/gentoo2023/x86-64-v3, /cvmfs/soft.computecanada.ca/custom/python/wheelhouse/gentoo2023/generic, /cvmfs/soft.computecanada.ca/custom/python/wheelhouse/generic

ont-pybasecall-client-lib is hosted on pypi
I am not sure how these repositories are populated, or how often they are updated, but it could be they have not grabbed the latest libraries yet.

Another way to install it is by downloading it and installing it manually from here

https://pypi.org/project/ont-pybasecall-client-lib/#files

It looks like you are using python10 with x86_64, so you would want this file:
https://files.pythonhosted.org/packages/5d/4f/457e0f2ad849f25f9fd3be3902d6ada99595c16ea900af4e6a5c17c2dbec/ont_pybasecall_client_lib-7.4.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Once you have it, you can install it into your virtual environment with

pip install ont_pybasecall_client_lib-7.4.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

do a pip list to see that it has been installed.
You can repeat this for any other libraries that don't work too.

As for dorado-server, please explain to your admin that it is not an external server or anything like that. It is a tool that runs on your HPC/computer, that allows clients to connect to it and send data back and forth (also on the same computer). Buttery-eel is designed to run on the same system, where the clients and server are running at the same time. The design of dorado-server was for someone to set the server up on some big machine, and allow smaller machines that may be running a sequencer, to send its data to it for basecalling, however, that is not how the software is used with buttery-eel, and there shouldn't be any security concerns.

If they need any more information, they should read the README of buttery-eel which explains how it works, and why it works. It cannot work without the ont-pybasecall-client-lib, as this is the library it uses to talk to the dorado-server/client binaries to do that basecalling.

If you have any more issues or questions, please let me know.

Cheers,
James

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

No branches or pull requests

2 participants