-
Notifications
You must be signed in to change notification settings - Fork 17
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
Scratch/tmp pod5 problem #110
Comments
Hi @Macdot3, Kind regards, |
|
From your command I don't see any issues or any reason why it would need to access Could you please add debugging to the pod5 command with |
I added
|
POD5_DEBUG will have generated |
This error can occur from HDF5 not finding the plugin to open the fast5 files. Can you please ensure that you have Kind regards, |
sorry, here is the folder with the log files |
|
The log files show that this could be a problem with HDF5
As for the plugin:
is not the same as the vbz_h5py_plugin in the pod5 dependencies. Can you run |
|
Hi @Macdot3, This could be an issue with the Could you try this script in your environment - it's the I suspect that import sys
def get_vbz_resource_path() -> str:
"""Get the path to the vbz plugin (lib) resource"""
vbz_package = "vbz_h5py_plugin"
vbz_target = "lib"
# importlib.resources superseeded pkg_resources from python3.9+
if sys.version_info.major == 3 and sys.version_info.minor > 8:
import importlib.resources
vbz_lib = importlib.resources.files(vbz_package) / vbz_target
with importlib.resources.as_file(vbz_lib) as path:
return str(path.absolute())
else:
import pkg_resources
return pkg_resources.resource_filename(vbz_package, vbz_target)
def register_plugin() -> str:
"""Register the vbz hdf plugins with h5py"""
lib_path = get_vbz_resource_path()
try:
# Add the vbz library path to the h5 plugin search paths
from h5py import h5pl
h5pl.prepend(bytes(lib_path, "UTF-8"))
print(f"{lib_path=}")
except (ImportError, AttributeError):
# We don't have the plugin library in h5py<2.10 so we fall
# back on an environment variable
import os
os.environ["HDF5_PLUGIN_PATH"] = lib_path
print(f"{os.environ["HDF5_PLUGIN_PATH"]=}")
return lib_path
register_plugin() |
I opened the /POD5_ENV/vbz_h5py_plugin-1.0.1/build/lib/vbz_h5py_plugin/init.py script and at the bottom the line relating to Here the script:
|
I wrote a copy of it above to run as a script - that copy should be good to go if you write it to a file e.g. |
You're right, I run your script and as results:
Now, should I change the last path with the ine the script gives me? |
This is telling us that the HDF5 library can't load the vbz decode library in your Slurm cluster environment. I'm intrigued by this. Maybe it's my lack of experience with conda but why is the lib being loaded from a temporary directory instead of where the site-packages are installed in the conda environment? For example, when I run the script from my python venv I get:
Does your conda environment work locally i.e. not in the slurm cluster? You might be able to run the script locally get the real path and set with: |
The cluster network administrators have created a python environment in which I cannot install any packages for business reasons. When I tried they denied me access. Therefore I chose to create a conda environment from my cluster folder to install pod5. However, once I did this, it initially didn't let me run the package commands because the vbz_h5py_plugin-1.0.1 plugin was missing. For the same reason as above, I downloaded the .tar.gz file locally and installed it in my environment and ran the script. |
Hi @Macdot3, you don't need to edit Alternatively, you could ask the administrators to download and install the vbz plugin manually |
Thanks @HalfPhoton, I followed what you wrote to me. The only problem is that I noticed that it gives me a different path every time. I think the only way is to ask the administrators if they will reply to me |
Are you running the script locally - i.e. not on the slurm cluster
|
Of course |
Ok, I suggest asking an administrator to install the vbx plugin. Let us know if that helps |
Hi everyone,
I tried to install pod5 from the conda channel by @JannesSP because I don't have access to corporate permissions from pip. Subsequently, after installing and loading all the plugins, when I launch the --one-to-one command I receive this error:
I can't find any folder with this name, do I need to install something? they are temp files.
I hope you can help me. Thank you
The text was updated successfully, but these errors were encountered: