BinPro / CONCOCT

Clustering cONtigs with COverage and ComposiTion
Other
119 stars 48 forks source link

import vbgmm #326

Open Vicbuz opened 1 year ago

Vicbuz commented 1 year ago

Hello,

When I run concoct I get the following error:

import vbgmm ImportError: libgsl.so.25: cannot open shared object file: No such file or directory

The current fix I found is to enter my conda enviroment and install mkl:

conda install mkl

However this didn't solve my issue. Packages in my environment are:

Name Version Build Channel _libgcc_mutex 0.1 conda_forge conda-forge _openmp_mutex 4.5 2_kmp_llvm conda-forge appdirs 1.4.4 pyhd3eb1b0_0 biopython 1.78 py310h7f8727e_0 blas 1.0 mkl bottleneck 1.3.5 py310ha9d4c09_0 brotlipy 0.7.0 py310h7f8727e_1002 bzip2 1.0.8 h7b6447c_0 c-ares 1.19.0 h5eee18b_0 ca-certificates 2023.01.10 h06a4308_0 certifi 2023.5.7 py310h06a4308_0 cffi 1.15.1 py310h5eee18b_3 charset-normalizer 2.0.4 pyhd3eb1b0_0 concoct 1.1.0 py310h07c81ac_3 bioconda cryptography 39.0.1 py310h9ce1e76_0 curl 7.88.1 h5eee18b_0 cython 0.29.33 py310h6a678d5_0 gsl 2.7.1 h6e86dc7_1 idna 3.4 py310h06a4308_0 intel-openmp 2023.1.0 hdb19cb5_46305 joblib 1.1.1 py310h06a4308_0 krb5 1.19.4 h568e23c_0 ld_impl_linux-64 2.38 h1181459_1 libcurl 7.88.1 h91b91d3_0 libedit 3.1.20221030 h5eee18b_0 libev 4.33 h7f8727e_1 libffi 3.4.4 h6a678d5_0 libgcc-ng 12.2.0 h65d4601_19 conda-forge libgfortran-ng 11.2.0 h00389a5_1 libgfortran5 11.2.0 h1234567_1 libnghttp2 1.46.0 hce63b2e_0 libssh2 1.10.0 h8f2d780_0 libstdcxx-ng 11.2.0 h1234567_1 libuuid 1.41.5 h5eee18b_0 llvm-openmp 14.0.6 h9e868ea_0 mkl 2023.1.0 h6d00ec8_46342 mkl-service 2.4.0 py310h5eee18b_1 mkl_fft 1.3.6 py310h1128e8f_1 mkl_random 1.2.2 py310h1128e8f_1 mpi 1.0 mpich mpich 4.1.1 hbae89fd_0 ncurses 6.4 h6a678d5_0 nose 1.3.7 pyhd3eb1b0_1008 numexpr 2.8.4 py310h85018f9_1 numpy 1.24.3 py310h5f9d8c6_1 numpy-base 1.24.3 py310hb5e798b_1 openssl 1.1.1t h7f8727e_0 packaging 23.0 py310h06a4308_0 pandas 1.5.3 py310h1128e8f_0 pip 23.0.1 py310h06a4308_0 pooch 1.4.0 pyhd3eb1b0_0 pycparser 2.21 pyhd3eb1b0_0 pyopenssl 23.0.0 py310h06a4308_0 pysocks 1.7.1 py310h06a4308_0 python 3.10.11 h7a1cb2a_2 python-dateutil 2.8.2 pyhd3eb1b0_0 python_abi 3.10 2_cp310 conda-forge pytz 2022.7 py310h06a4308_0 readline 8.2 h5eee18b_0 requests 2.29.0 py310h06a4308_0 samtools 1.6 hb116620_7 bioconda scikit-learn 1.2.2 py310h6a678d5_0 scipy 1.10.1 py310h5f9d8c6_1 setuptools 66.0.0 py310h06a4308_0 six 1.16.0 pyhd3eb1b0_1 sqlite 3.41.2 h5eee18b_0 tbb 2021.8.0 hdb19cb5_0 threadpoolctl 2.2.0 pyh0d69192_0 tk 8.6.12 h1ccaba5_0 tzdata 2023c h04d1e81_0 urllib3 1.26.15 py310h06a4308_0 wheel 0.38.4 py310h06a4308_0 xz 5.2.10 h5eee18b_1 zlib 1.2.13 h5eee18b_0

Additionally I checked it was being called from the right place:

`(concoct) $ which concoct

/mnt/shared/scratch/apps/conda/envs/concoct/bin/concoct`

Can anyone suggest another step? I installed using the conda recommended steps.

Vicbuz commented 1 year ago

I solved this by using a symlink to the shared libs in conda. Specifically, I searched for the library to check it existed:

find -name "libgsl.so.25"

./apps/conda/envs/picrust2/lib/libgsl.so.25
./apps/conda/envs/medaka/lib/libgsl.so.25
./apps/conda/envs/lefse/lib/libgsl.so.25
./apps/conda/envs/qiime2-2022.8/lib/libgsl.so.25
./apps/conda/pkgs/gsl-2.7-he838d99_0/lib/libgsl.so.25

Then used a symlink inside from the shared library to the concoct library, so that concoct could access it, like so:

ln -s /home/apps/conda/pkgs/gsl-2.7-he838d99_0/lib/libgsl.so.25 /home/apps/conda/envs/concoct/lib/libgsl.so.25

I hope this helps someone.

99qaz commented 12 months ago

Hello, may I ask if the issue 'No module named 'vbgmm'' has been resolved?