adnaniazi / tailfindr

An R package for estimating poly(A)-tail lengths in Oxford Nanopore RNA and DNA reads.
https://www.cbu.uib.no/valen/
GNU General Public License v3.0
53 stars 18 forks source link

Empty output, but HDF5_PLUGIN_PATH is set to the ONT VBZ plugin? #59

Open lhkelley opened 1 year ago

lhkelley commented 1 year ago

Previously, I had been able to successfully run tailfindr, but something got messed up in my environment and I had to start the installation over. Now, tailfindr runs, but the output is "empty." Based on previous posted issues, it would seem like it's an issue of the program not finding the plugin, but I have set the path, so I can't figure out what the issue is.

I'm running tailfindr in a Singularity container. Here's what was installed in the container:

apt install -y git cmake build-essential pkg-config automake libtool-bin gettext unzip

install.packages("devtools")

apt install -y libcurl4-openssl-dev libssl-dev libxml2-dev libfontconfig1-dev libharfbuzz-dev libfribidi-dev

apt install -y libfreetype6-dev libpng-dev libtiff5-dev libjpeg-dev

apt install -y libhdf5-dev

apt install -y r-base-dev

wget https://github.com/nanoporetech/vbz_compression/releases/download/v1.0.1/ont-vbz-hdf-plugin_1.0.1-1.focal_amd64.deb dpkg -i ont-vbz-hdf-plugin_1.0.1-1.focal_amd64.deb

Then, in my shell, I set:

export HDF5_PLUGIN_PATH=/usr/local/hdf5/lib/plugin

I get no error messages (except for the "cols is now required when using unnest()") and tailfindr completes the run, but the output is empty. I think it still must be an issue with HDF5 and/or the ONT VBZ plugin, but I'm not sure what to try next after making sure the plugin path is set.

Thank you for any help!

adnaniazi commented 1 year ago

Try https://github.com/nanoporetech/vbz_compression/releases/download/v1.0.1/ont-vbz-hdf-plugin-1.0.1-Linux-x86_64.tar.gz OR https://github.com/nanoporetech/vbz_compression/releases/download/v1.0.1/ont-vbz-hdf-plugin-1.0.1-Linux-aarch64.tar.gz.

Just extract that tar.gz file, and then export the path to plugin folder within the extracted folder: export HDF5_PLUGIN_PATH=/bla/bla/bla/local/hdf5/lib/plugin

See if that helps.

lhkelley commented 1 year ago

Hi Adnan,

I downloaded and extracted the x86_64 version and exported the path to the plugin folder as:

export HDF5_PLUGIN_PATH=/home/lhkelley/ont-vbz-hdf-plugin-1.0.1-Linux/usr/local/hdf5/lib/plugin

I also tried:

export HDF5_PLUGIN_PATH=/ont-vbz-hdf-plugin-1.0.1-Linux/usr/local/hdf5/lib/plugin

I tested this on a subset of my data with two options and the output is still empty.

adnaniazi commented 1 year ago

Did you install tailfindr from the branch(polyu) that I made for you, or from the master branch?

The correct way to install tailfindr for you was to do this: devtools::install_github("adnaniazi/tailfindr", ref='polyu')

Let me know if this fixes your problem.

lhkelley commented 1 year ago

I reinstalled the correct tailfindr (I think I had been using the Nano3P-seq branch before) and now I get "fatal_error_during_read_processing" in the read_type column in the output table.

adnaniazi commented 1 year ago

May be try to install on a different unix computer like a Mac from the polyu branch and installing the vbz plugin for Mac and trying again on a subset of your read to see if it works.

lhkelley commented 1 year ago

Unfortunately, our research computing department doesn't have any Macs and Macs can't be used as virtual machines for licensing reasons at our institution. Would putting a different version of Linux into a container, like Debian or Scientific Linux or a different version of Ubuntu be worth a try?

Do you know what the "fatal_error_during_read_processing" could mean?

adnaniazi commented 1 year ago

Could be many different reasons for the error. Just try on another linux or unix machine and see if the problem persists. If it does then send me a few of these reads and the tailfindr command you are using so that i can see if am able to recreate the problem at my end.

lhkelley commented 1 year ago

Hi Adnan,

We're in the process of trying to set up everything in Alma Linux, but it might take awhile because we have to find equivalent package names that use "dnf" instead of "apt".

In the meantime, we tried using the Dockerfile and converted it to a Singularity container to try out and I still get the fatal error during rad processing out.

I've sent you a FAST5 file that I've been testing this one via WeTransfer if you have time to see if you get the same error. Below is the command I've been using:

tails_bc01 = find_tails(fast5_dir = "Nano3p-seq/pup4_run1_09Aug2023/pup4_run1_demux_noTrim/TEST-onefast5", save_dir = "tailfindrU-TBSH", csv_filename = "Np3_pup4_run1_TEST_tails.csv", num_cores = strtoi(args[1]), dna_datatype = "custom-cdna", end_primer = "TCTTCCGATCACTTGCCTGTCGCTCTATCTTC")