rpeckner-broad / Specter

Specter: linear deconvolution for targeted analysis of data-independent acquisition mass spectrometry proteomics
17 stars 12 forks source link

Installation Fails #3

Closed DarioS closed 6 years ago

DarioS commented 6 years ago

I tried to install the software, but after about a minute of running $ conda env create -f SpecterEnv.yml it stops with error:

$ conda env create -f SpecterEnv.yml
Solving environment: failed

This seems to be caused by missing packages. I can't install those, either. For example,

$ conda install appnope
Solving environment: failed

PackagesNotFoundError: The following packages are not available from current channels:

  - appnope

Current channels:

  - https://repo.continuum.io/pkgs/main/linux-64
  - https://repo.continuum.io/pkgs/main/noarch
  - https://repo.continuum.io/pkgs/free/linux-64
  - https://repo.continuum.io/pkgs/free/noarch
  - https://repo.continuum.io/pkgs/r/linux-64
  - https://repo.continuum.io/pkgs/r/noarch
  - https://repo.continuum.io/pkgs/pro/linux-64
  - https://repo.continuum.io/pkgs/pro/noarch

The installation procedure is not as refined as for OpenMS, which I had no problem installing. Could you make it easier for people who have never used conda (or Python) before?

rpeckner-broad commented 6 years ago

Thanks for pointing this out. It seems that appnope is located on the anaconda channel, which wasn't included in the .yml. I've added it and hope it fixes the problem.

DarioS commented 6 years ago

Thanks. I showed just one example. The full list of unstated dependencies is:

Solving environment: failed

ResolvePackageNotFound: 
  - appscript==1.0.1=py27_0
  - pyaudio==0.2.7=py27_0
  - python.app==1.2=py27_4
  - xlwings==0.10.2=py27_0
  - appnope==0.1.0=py27_0
  - gettext==0.19.8=1
  - pandoc==1.19.2.1=0

I'm not sure why appnope still appears in the error message and it's a bit weird that there's a dependency on pyaudio.

rpeckner-broad commented 6 years ago

I've replaced SpecterEnv.yml with a clean export and verified that it works on an AWS VM. Could you check whether that fixes the problem for you?

DarioS commented 6 years ago

I am on Easter holidays and using my Windows laptop computer rather than the Ubuntu Linux server. I had more errors:

# Anaconda Prompt software
(base) C:\Users\Dario\Downloads\Specter-master>conda env create -f SpecterEnv.yml
Solving environment: failed

ResolvePackageNotFound:
  - libgfortran==3.0.0=1
  - tk==8.5.18=0
  - readline==6.2=2
  - mkl==11.3.3=0
  - cvxopt==1.1.8=py27_3
  - openssl==1.0.2j=0
  - zlib==1.2.8=3
  - sqlite==3.13.0=0

None of the packages are in common with the previous error message.

I also had another error installing pymzml:

(base) C:\Users\Dario\Downloads\Specter-master>conda install pymzml
Solving environment: failed

PackagesNotFoundError: The following packages are not available from current channels:

  - pymzml

Current channels:

  - https://repo.continuum.io/pkgs/main/win-32
  - https://repo.continuum.io/pkgs/main/noarch
  - https://repo.continuum.io/pkgs/free/win-32
  - https://repo.continuum.io/pkgs/free/noarch
  - https://repo.continuum.io/pkgs/r/win-32
  - https://repo.continuum.io/pkgs/r/noarch
  - https://repo.continuum.io/pkgs/pro/win-32
  - https://repo.continuum.io/pkgs/pro/noarch
  - https://repo.continuum.io/pkgs/msys2/win-32
  - https://repo.continuum.io/pkgs/msys2/noarch

Is there a channel specification missing for it?

rpeckner-broad commented 6 years ago

This looks like an OS problem - the yml was generated from a Linux machine using the linux-64 channels, which may contain packages not available from the win-32 channels. That said, I noticed some missing dependencies in the yml and have updated it accordingly, so you can give it a try when you have access to a Linux machine. This should also remove the need to install pymzml separately.

DarioS commented 6 years ago

The latest version's conda install works for me on the 64-bit Ubuntu Linux computer. However, can you provide more instructions for how to set PYSPARK_DRIVER_PYTHON and PYSPARK_PYTHON? The folders shown in the instructions aren't created on my computer and I do not know where the SpecterEnv folder has been made.

$ ls /usr/anaconda/envs/SpecterEnv/bin/python
ls: cannot access '/usr/anaconda/envs/SpecterEnv/bin/python': No such file or directory

There should be general information about where the folder is created.

rpeckner-broad commented 6 years ago

Unfortunately there's no general answer for this, as the location where anaconda stores its environments can vary widely from one user to the next. However, if you enter conda info -e at the command prompt you will get a list of your current environments along with their absolute paths. Look for "SpecterEnv" in this list and replace /usr/anaconda/envs/SpecterEnv in the code above with the path indicated there.

DarioS commented 6 years ago

It seems that the default is to put the environment into the user's home directory in an invisible folder:

# conda environments:
#
SpecterEnv               /home/dario/.conda/envs/SpecterEnv
base                  *  /home/dario/anaconda2

Would a hint in the Specter documentation to use conda info -e be useful to users who never used Anaconda before? I also installed OpenSWATH but found it straightforward.