CMU-SAFARI / RawHash

RawHash is the first mechanism that can accurately and efficiently map raw nanopore signals to large reference genomes (e.g., a human reference genome) in real-time without using powerful computational resources (e.g., GPUs). Described by Firtina et al. (published at https://academic.oup.com/bioinformatics/article/39/Supplement_1/i297/7210440)
https://academic.oup.com/bioinformatics/article/39/Supplement_1/i297/7210440
GNU General Public License v3.0
39 stars 5 forks source link

Pre-built binaries not seem to be working #3

Closed hasindu2008 closed 3 months ago

hasindu2008 commented 6 months ago

Hi

I tried to download and run the pre-compiled binaries, but seems to be give an error.

./rawhash2: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by ./rawhash2)
./rawhash2: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by ./rawhash2)
./rawhash2: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by ./rawhash2)
./rawhash2: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by ./rawhash2)
./rawhash2: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by ./rawhash2)
./rawhash2: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by ./rawhash2)
./rawhash2: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by ./rawhash2)
./rawhash2: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./rawhash2)
./rawhash2: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./rawhash2)

Then I saw in the readme that the binaries may not work on all systems https://github.com/CMU-SAFARI/RawHash?tab=readme-ov-file#compiling-with-hdf5-slow5-and-pod5. I am wondering if it is possible to disable both HDF5, POD5 and compile for SLOW5 only? Something like make NOHDF5=1 NOPOD5=1 would be very helpful, as compiling this HDF5 unnecessarily takes ages.

canfirtina commented 3 months ago

Hi @hasindu2008,

Sorry for the late response, I somehow overlooked this.

We actually had this support but unfortunately due to a recent bug in our Makefile, this was no longer supported. You should now be able to compile RawHash2 without HDF5 and POD5:

make NOHDF5=1 NOPOD5=1

Please let me know if you encounter any issues.

Please note that RawHash2 now uses a C++ compiler regardless of the file format you disable (although almost all files are .c except rmap.cpp). This is due to the upcoming support for MinKNOW.

Also some good news: Our most recent update should now significantly improve the accuracy and performance of RawHash2. We encourage checking the newest version!