MobleyLab / blues

Applications of nonequilibrium candidate Monte Carlo (NCMC) to ligand binding mode sampling
https://mobleylab-blues.readthedocs.io/en/latest
MIT License
33 stars 16 forks source link

Python compatibility issue with conda build #170

Closed olliemelling closed 3 years ago

olliemelling commented 3 years ago

Hi,

I've recently been trying to use conda to install blues but have been having some issues with python incompatibility. I have followed the installation instructions, running the following commands:

conda create -n blues python=3.6
conda activate blues

conda install -c openeye/label/Orion -c omnia oeommtools
conda install -c openeye openeye-toolkits

conda install -c mobleylab blues

Installation of the oeommtools and openeye-toolkits seems to work fine however when installing blues the following error is returned:

Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed                                                                                                                                                                                                             

UnsatisfiableError: The following specifications were found
to be incompatible with the existing python installation in your environment:

Specifications:

  - blues -> python[version='2.7.*|3.5.*|>=3.5,<3.6.0a0|>=3.5,<3.6.0a0|>=3.7,<3.8.0a0|>=3.6,<3.7.0a0|>=3.6,<3.7.0a0',build='h381d211_1004|h5001a0f_2|h5b0a415_0']

Your python: python=3.6

If python is on the left-most side of the chain, that's the version you've asked for.
When python appears to the right, that indicates that the thing on the left is somehow
not available for the python version you are constrained to. Note that conda will not
change your python version to a different minor version unless you explicitly specify
that.

I have reproduced this with a few different python versions (3.5, 3.6, 3.7) and on both MacOS and Linux.

Thanks in advance

yunhuige commented 3 years ago

Hi @olliemelling,

I'm sorry that you got problems to install BLUES. I'm looking into it now. Could you confirm that you got this issue on both MacOS and Linux? Also could you attach your conda list of the environment created to install BLUES? Thank you!

olliemelling commented 3 years ago

Hi,

Thanks for looking into this. I can confirm that I got the same error both on MacOS and Linux.

Below is my conda list for the environment - this is after installing oeommtools and openeye-toolkits

# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main  
alabaster                 0.7.12                   py36_0  
attrs                     20.3.0             pyhd3eb1b0_0  
babel                     2.9.0              pyhd3eb1b0_0  
blas                      1.0                         mkl  
brotlipy                  0.7.0           py36h27cfd23_1003  
ca-certificates           2020.12.8            h06a4308_0  
certifi                   2020.12.5        py36h06a4308_0  
cffi                      1.14.4           py36h261ae71_0  
chardet                   4.0.0           py36h06a4308_1003  
colorama                  0.4.4              pyhd3eb1b0_0  
cryptography              3.3.1            py36h3c74f83_0  
cython                    0.29.21          py36h2531618_0  
docutils                  0.16                     py36_1  
fftw3f                    3.3.4                         2    omnia
idna                      2.10                       py_0  
imagesize                 1.2.0                      py_0  
importlib-metadata        2.0.0                      py_1  
importlib_metadata        2.0.0                         1  
iniconfig                 1.1.1                      py_0  
intel-openmp              2020.2                      254  
jinja2                    2.11.2                     py_0  
ld_impl_linux-64          2.33.1               h53a641e_7  
libedit                   3.1.20191231         h14c3975_1  
libffi                    3.3                  he6710b0_2  
libgcc                    7.2.0                h69d50b8_2  
libgcc-ng                 9.1.0                hdf63c60_0  
libstdcxx-ng              9.1.0                hdf63c60_0  
markupsafe                1.1.1            py36h7b6447c_0  
mkl                       2020.2                      256  
mkl-service               2.3.0            py36he8ac12f_0  
mkl_fft                   1.2.0            py36h23d657b_0  
mkl_random                1.1.1            py36h0573a6f_0  
more-itertools            8.6.0              pyhd3eb1b0_0  
ncurses                   6.2                  he6710b0_1  
numpy                     1.19.2           py36h54aff64_0  
numpy-base                1.19.2           py36hfa32c7d_0  
numpydoc                  1.1.0              pyhd3eb1b0_1  
oeommtools                0.1.16                   pypi_0    pypi
openeye-toolkits          2020.2.0                 py36_0    openeye
openmm                    7.4.2           py36_cuda101_rc_1    omnia
openssl                   1.1.1i               h27cfd23_0  
packaging                 20.8               pyhd3eb1b0_0  
packmol                   1.0.0                         2    omnia
pandas                    1.1.3            py36he6710b0_0  
parmed                    3.2.0                    py36_0    omnia
pip                       20.3.3           py36h06a4308_0  
pluggy                    0.13.1                   py36_0  
py                        1.10.0             pyhd3eb1b0_0  
pycparser                 2.20                       py_2  
pygments                  2.7.4              pyhd3eb1b0_0  
pyopenssl                 20.0.1             pyhd3eb1b0_1  
pyparsing                 2.4.7                      py_0  
pysocks                   1.7.1            py36h06a4308_0  
pytest                    6.2.1            py36h06a4308_0  
python                    3.6.12               hcff3b4d_2  
python-dateutil           2.8.1                      py_0  
pytz                      2020.5             pyhd3eb1b0_0  
readline                  8.0                  h7b6447c_0  
requests                  2.25.1             pyhd3eb1b0_0  
setuptools                51.1.2           py36h06a4308_4  
six                       1.15.0           py36h06a4308_0  
snowballstemmer           2.0.0                      py_0  
sphinx                    3.4.3              pyhd3eb1b0_0  
sphinxcontrib-applehelp   1.0.2                      py_0  
sphinxcontrib-devhelp     1.0.2                      py_0  
sphinxcontrib-htmlhelp    1.0.3                      py_0  
sphinxcontrib-jsmath      1.0.1                      py_0  
sphinxcontrib-qthelp      1.0.3                      py_0  
sphinxcontrib-serializinghtml 1.1.4                      py_0  
sqlite                    3.33.0               h62c20be_0  
tk                        8.6.10               hbc83047_0  
toml                      0.10.1                     py_0  
urllib3                   1.26.2             pyhd3eb1b0_0  
wheel                     0.36.2             pyhd3eb1b0_0  
xz                        5.2.5                h7b6447c_0  
zipp                      3.4.0              pyhd3eb1b0_0  
zlib                      1.2.11               h7b6447c_3  

Many thanks

yunhuige commented 3 years ago

Hi @olliemelling,

I just tried it on my MacBook Pro and didn't have any issues. Below are what I did:

conda create -n blues python=3.6
conda activate blues
conda install -c mobleylab blues

Could you try it again with these command lines? I'm testing the Linux installation now. Thanks!

olliemelling commented 3 years ago

I have just tried running exactly that and unfortunately still ended up with the same error as before.

Maybe this is a problem with my conda setup somewhere given it is working for you! It just seemed strange that I'm getting the same error on both MacOS and Linux.

yunhuige commented 3 years ago

Okay, that is strange. I also tried to install it on Linux system following the instructions on Github. Didn't get any problems either. So I don't know why it just cannot work for you. I plan to do more tests on different machines. Have you tried to install it from source code (see following)? It works for me on a Linux system.

conda create -n blues python=3.6
conda activate blues

# Clone the BLUES repository
git clone https://github.com/MobleyLab/blues.git ./blues

# Install some dependencies
conda install -c omnia -c conda-forge openmmtools=0.15.0 openmm=7.4.2 numpy cython

# Optional: To use SideChainMove class, OpenEye toolkits and related tools are requried (requires OpenEye License)
conda install -c openeye/label/Orion -c omnia oeommtools
conda install -c openeye openeye-toolkits

# Install BLUES package from the top directory
pip install -e .

# To validate your BLUES installation run the tests (need pytest)
cd blues/tests
pytest -v -s
yunhuige commented 3 years ago

Hi @olliemelling,

I tried to reproduce your errors in another Mac and here is how I resolved it:

conda create -n blues python=3.6
conda activate blues
conda install -c openeye/label/Orion -c omnia oeommtools
conda install -c openeye openeye-toolkits
conda install -c omnia -c conda-forge openmmtools=0.15.0 openmm=7.4.2 numpy cython
conda install -c mobleylab blues

Could you give it a try and see if it fixes your issue? For some reason I still don't see your errors in my own machine (both OSX and Linux). If you still cannot get it work, please try to install BLUES from source as I mentioned in my earlier message. Please let me know if you still cannot get it work. Sorry again for the inconvenience.

olliemelling commented 3 years ago

Hi @yunhuige

I have tried running with the above commands and it is now working on both MacOS and Linux!

I think it must have been because I hadn't previously been running:

conda install -c omnia -c conda-forge openmmtools=0.15.0 openmm=7.4.2 numpy cython

Maybe there were some version clashes with openmmtools or openmm that were causing the problem, so specifying the versions as 0.15.0 and 7.4.2 maybe solved it? Seems strange that it wasn't happening on your machine though.

Thanks for your help!