ccdmb / predector

Effector prediction pipeline based on protein properties.
Apache License 2.0
11 stars 7 forks source link

BUG: Mamba environment installation problem #77

Closed Hoberti closed 2 years ago

Hoberti commented 2 years ago

Hi, I am having problems installing Predator. Its says that I already have a Predator environment but I do not. I also give with the -c flag the path to where to install the environment and it give me the same error. Could you help me please?

I run curl -s "https://raw.githubusercontent.com/ccdmb/predector/1.2.5/install.sh" | bash -s mamba -3 signalp-3.0.Linux.tar.Z -4 signalp-4.1g.Linux.tar.gz -5 signalp-5.0b.Linux.tar.gz -6 signalp-6.0g.fast.tar.gz -t targetp-2.0.Linux.tar.gz -d deeploc-1.0.All.tar.gz -m tmhmm-2.0c.Linux.tar.gz -p phobius101_linux.tar.gz

Setting up conda environment.

conda-forge/linux-64 Using cache conda-forge/noarch Using cache bioconda/linux-64 Using cache bioconda/noarch Using cache pkgs/main/linux-64 [====================] (00m:00s) No change pkgs/main/noarch [====================] (00m:00s) No change pkgs/r/linux-64 [====================] (00m:00s) No change pkgs/r/noarch [====================] (00m:00s) No change darcyabjones/noarch [====================] (00m:00s) No change predector/noarch [====================] (00m:00s) No change darcyabjones/linux-64 [====================] (00m:00s) No change predector/linux-64 [====================] (00m:00s) No change

Looking for: ['predector::apoplastp=1.0.1', 'predector::deeploc==1.0=h6bb024c_3', 'predector::deepsig=0f1e1d9', 'predector::effectorp1=1.0', 'predector::effectorp2=2.0', 'predector::effectorp3==3.0=py2', 'predector::localizer=1.0.4', 'predector::phobius==1.01=4', 'predector::predectorutils=0.8.2', 'predector::signalp3==3.0b=3', 'predector::signalp4==4.1g=3', 'predector::signalp5==5.0b=2', 'predector::signalp6==6.0g=1', 'predector::targetp2==2.0=2', 'predector::tmhmm==2.0c=3', 'predector::r-deepredeff=0.1.1', 'conda-forge::gawk', 'conda-forge::gzip', 'conda-forge::wget', 'conda-forge::parallel', 'conda-forge::r-optparse', 'h5py==2.10.0[build=nompi]', 'tensorflow==2.2.0[build=mkl_]', 'conda-forge::keras=2.4.3', 'conda-forge::numpy=1.19.5', 'bioconda::perl-moose=2.2011', 'conda-forge::perl=5.26.2', 'bioconda::emboss=6.6.0', 'bioconda::hmmer=3.3.2', 'bioconda::pfam_scan=1.6', 'bioconda::mmseqs2=13.45111', 'conda-forge::pytorch-cpu=1.9.0', 'conda-forge::python=3.6.13', 'conda-forge::r-base=4.1.1', 'conda-forge::sqlite', 'conda-forge::openjdk=11.0.1', 'conda-forge::theano=1.0.5', 'conda-forge::xz', 'conda-forge::zlib', 'conda-forge::bzip2', 'pip']

Encountered problems while solving. Problem: nothing provides glibc >=2.17,<3.0.a0 needed by pytorch-1.9.0-cpu_py36h1c7b8ea_2 Problem: nothing provides glibc >=2.17,<3.0.a0 needed by pytorch-1.10.0-cpu_py37h2761dfd_1

ERROR: creating the conda environment failed Usually this happens if you already have an environment with the name or path prefix that we tried to use. You can change the name we use with the '-n' flag, or the path prefix with the '-c' flag. Otherwise you can remove the old environment with: conda env remove --name predector conda env remove --prefix path/to/your/env

Operating system (please enter the following information as appropriate): -I am using conda 4.11.0 ; and CentOS Linux release 8.2.2004

darcyabjones commented 2 years ago

Hi @Hoberti

Thanks for getting in touch. Yes sorry that error message is a bit confusing. I'll try to find a way to test for it, but this is a bit of a niche issue I think. The issue is that conda/mamba isn't finding version of glibc (provided by the virtual package __glibc: https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-virtual.html) that is compatible with the version of pytorch we need.

Could you please post the output of conda info for me? That will tell me which version of glibc your OS supports, so we'll know if you've got an old set of c-libraries.

I'm afraid that I haven't been able to reproduce this issue on Ubuntu or Centos 8.5 with conda 4.11.0. I'll try to spin up the centos distro that you've got, but since they switched to the stream thing I'm not sure how to get copies of older versions.

If it's possible, the first thing that I would try is update your CentOS version. i.e.

sudo yum clean all
sudo yum update
sudo reboot

And then your conda packages. i.e.

conda update -n base conda
conda clean -a
conda update --all

Which should hopefully update the c libraries that you have. Otherwise, i'll probably need some more specifics of how your computer is setup.

Let me know how it goes.

Cheers, Darcy

IdoBar commented 2 years ago

Hi @darcyabjones

I'm having a very similar issue:

Looking for: ['predector::apoplastp=1.0.1', 'predector::deeploc==1.0=h6bb024c_3', 'predector::deepsig=0f1e1d9', 'predector::effectorp1=1.0', 'predector::effectorp2=2.0', 'predector::effectorp3==3.0=py_2', 'pr
edector::localizer=1.0.4', 'predector::phobius==1.01=4', 'predector::predectorutils=0.8.2', 'predector::signalp3==3.0b=3', 'predector::signalp4==4.1g=3', 'predector::signalp5==5.0b=2', 'predector::signalp6==6
.0g=1', 'predector::targetp2==2.0=2', 'predector::tmhmm==2.0c=3', 'predector::r-deepredeff=0.1.1', 'conda-forge::gawk', 'conda-forge::gzip', 'conda-forge::wget', 'conda-forge::parallel', 'conda-forge::r-optpa
rse', 'h5py==2.10.0[build=nompi_*]', 'tensorflow==2.2.0[build=mkl_*]', 'conda-forge::keras=2.4.3', 'conda-forge::numpy=1.19.5', 'bioconda::perl-moose=2.2011', 'conda-forge::perl=5.26.2', 'bioconda::emboss=6.6
.0', 'bioconda::hmmer=3.3.2', 'bioconda::pfam_scan=1.6', 'bioconda::mmseqs2=13.45111', 'conda-forge::pytorch-cpu=1.9.0', 'conda-forge::python=3.6.13', 'conda-forge::r-base=4.1.1', 'conda-forge::sqlite', 'cond
a-forge::openjdk=11.0.1', 'conda-forge::theano=1.0.5', 'conda-forge::xz', 'conda-forge::zlib', 'conda-forge::bzip2', 'pip']

Encountered problems while solving.
Problem: nothing provides __glibc >=2.17,<3.0.a0 needed by pytorch-1.9.0-cpu_py36h1c7b8ea_2
Problem: package numpy-1.19.5-py36h2aa4a07_0 requires python_abi 3.6.* *_cp36m, but none of the providers can be installed

Trying to solve it now, but again, it seems like mamba in unable to find those dependencies. Have a look at the following thread, where first creating the environment and then installing packages with mamba failed, whereas creating the environment directly with all dependencies using mamba worked, this may work here as well (I'll try to install reverse-engineer the installer to see if it solves the issue. Another point will be to update usage() in the installer to reflect that mamba is a valid ENVIRONMENT to choose from:

usage() {
    echo -e 'USAGE:
$ install.sh [conda|docker|singularity] \\
    -3 signalp-3.0.Linux.tar.Z \\
    -4 signalp-4.1g.Linux.tar.gz \\
    -5 signalp-5.0b.Linux.tar.gz \\
    -6 signalp-6.0e.fast.tar.gz \\
    -t targetp-2.0.Linux.tar.gz \\
    -d deeploc-1.0.All.tar.gz \\
    -m tmhmm-2.0c.Linux.tar.gz \\
    -p phobius101_linux.tar.gz
Please select only one of conda, docker, or singularity.'
}

Thanks, Ido

IdoBar commented 2 years ago

For future reference, I found this thread of a similar issue and it seems like this problem arise from using an old version of mamba that doesn't support channels provided by the yaml file.

I've updated my version of mamba (from v0.7.3 to v0.22.1) and now the installer is working (though now it's failing in testing DeepLoc, I'll create a new issue for that)

Cheers, Ido

darcyabjones commented 2 years ago

Thanks Ido!

I'll update documentation soon. Currently on leave so might take a bit longer than usual.

Let me know what's happening with DeepLoc. It is one of the trickier ones to keep correct working dependencies for, sometimes just updating an unrelated package can break the dependencies. Anyway, happy to debug :)

Cheers, Darcy

darcyabjones commented 2 years ago

Hi again,

Thanks again for reporting this issue. I've updated the documentation to suggest people try updating mamba.

Cheers, Darcy