Captus icon indicating copy to clipboard operation
Captus copied to clipboard

BLAT can't find libbz2 in the captus biocontainer

Open TomHarrop opened this issue 1 year ago • 3 comments

Hi @edgardomortiz ,

BLAT can't find libbz2 in the captus biocontainer (version captus_1.0.1--pyhdfd78af_2)

/usr/local/lib/python3.12/site-packages/dependencies/blat/blat_37x1_linux: error while loading shared libraries: libbz2.so.1: cannot open shared object file: No such file or directory
...done in 0 seconds

I submitted a PR over at https://github.com/bioconda/bioconda-recipes/pull/46943, please comment there if there are any issues.

Cheers, Tom

TomHarrop avatar Apr 03 '24 09:04 TomHarrop

Hi @TomHarrop ,

Honestly I have not used biocontainers so I never encountered this issue before. I bundled BLAT because prior to v36 there were some inconsistencies in the results between Mac and Linux. I guess the best alternative is to install BLAT from bioconda and tell Captus to use that copy instead of the bundled one with --blat_path blat

Let me know if this could work, and thanks for the contribution

edgardomortiz avatar Apr 04 '24 12:04 edgardomortiz

Thanks @edgardomortiz.

Yes, I think it's probably better (in theory) to use dependencies from the package manager if they work, especially since the Captus docs recommend installing via conda. If the previous captus conda package worked on Linux, it was using libbz2 from the host system, and that is not ideal for reproducibility. You can always pin the version of BLAT you need.

Meanwhile, the "fix" has been merged into bioconda and the new biocontainer works, so it's up to you :)

Cheers, Tom

TomHarrop avatar Apr 04 '24 22:04 TomHarrop

@TomHarrop I think I will keep your solution, thanks for taking the time to do this! I tried using a BLAT installed from bioconda yesterday a got this error:

 /Users/emortiz/micromamba/envs/captus-1.0.0/bin/blat: line 1: syntax error near unexpected token `newline'
/Users/emortiz/micromamba/envs/captus-1.0.0/bin/blat: line 1: `<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">'

So for the time being the bundled version will have to do it.

Edgardo

edgardomortiz avatar Apr 05 '24 11:04 edgardomortiz