hzi-bifo / RiboDetector

Accurate and rapid RiboRNA sequences Detector based on deep learning
GNU General Public License v3.0
96 stars 16 forks source link

Installation error in conda environemnt #15

Closed ARW-UBT closed 2 years ago

ARW-UBT commented 2 years ago

Hello, I am using conda to install robodetector according your recommendations. I get the following error. Do you have any advice how to solve this issue?

UnsatisfiableError: The following specifications were found to be incompatible with each other: Output in format: Requested package -> Available versionsThe following specifications were found to be incompatible with your system:

Best,

dawnmy commented 2 years ago

Hi, Thank you for trying RiboDetector. Do you install RiboDetector in a existing conda env? According to the error, the dependencies are not compatible with the libs in the env. Could you try to install it in a clean new env: conda create -n ribodetector ribodetector?

ARW-UBT commented 2 years ago

Hi, yes, I followed your instruction and created first an empty env with python=3.8: conda create -n ribodetector python=3.8

Activated the env: conda activate ribodetector

And tried to install ribodetector: conda install -c bioconda ribodetector

Following your recommendation, I removed the previously created environment, and tried to create and install it in one step: I got the following error message (now, without specifying the details as above)

$ conda create -n ribodetector -c bioconda ribodetector Collecting package metadata (current_repodata.json): done Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source. Collecting package metadata (repodata.json): done Solving environment: - Found conflicts! Looking for incompatible packages. This can take several minutes. Press CTRL-C to abort. failed

UnsatisfiableError:

This installation attempts were done on a AlmaLinux8. I tried to install ribodetector as conda envs on two other (older) Linux servers, both running under CentOS7 (where the support will end in a few month), and it worked on both servers. Could it be that something is missing/changed in AlmaLinux8?

Best,

dawnmy commented 2 years ago

The error comes from Pytorch installation. I just found an issue reported in Pytorch repo, which looks similar to your issue: https://github.com/NVIDIA/MinkowskiEngine/issues/354

And one post seems found a solution:

Hi, I just solved this issue. I think the reason is this command installed OpenBLAS in the conda environment, but it's not compatible with Pytorch: conda install openblas-devel -c anaconda My workaround is just to install OpenBLAS with a system package manager (like apt in Ubuntu) instead of using conda: sudo apt install libopenblas-dev Also, since the OpenBLAS is not installed by conda, you don't need this flag anymore. --blas_include_dirs=${CONDA_PREFIX}/include So just remove this flag and follow the instruction. Then the code should be compiled without any issue.

ARW-UBT commented 2 years ago

How would you modify the conda installation command to install RiboDetector?

dawnmy commented 2 years ago

It seems this is a tricky issue related to glibc and pytorch compatibility.

Could you try:

conda create -n ribodetector python=3.8
conda activate ribodetector
conda install -c anaconda libopenblas
# check the version 
conda install pytorch=1.7.1
pip install ribodetector

please make sure to install the pytorch version compatible with you CUDA version following this https://pytorch.org/get-started/locally/. If you don't have a GPU in the computer, install CPU only pytorch:

conda install pytorch torchvision torchaudio cpuonly -c pytorch
ARW-UBT commented 2 years ago

Great! I could succesfully install RiboDetector in a conda environment and a small test run completed without any issues. Thank you for providing the dependencies for AlmaLinux 8.