jbloomlab / dms_tools2

software for the analysis and visualization of deep mutational scanning data
GNU General Public License v3.0
29 stars 20 forks source link

Initial package setup results in dependency issues? #49

Closed jmath97 closed 3 years ago

jmath97 commented 4 years ago

Hi Jesse,

I apologize for what might be a simplistic question, but I've been working with the software packages that you've set up and, as recently as February, the package download (as suggested on your github documentation) worked perfectly fine for me. Recently, I've tried to install your dms_tools2 package onto a separate system and now I'm getting errors with the builds for pystan, mizani 0.7.1, and plotnine 0.7.0.

Now, when I try to follow the simple instructions provided on your github for package installation -- it doesn't properly install. I've tried installing the packages in both a pyenv-virtualenv environment and a conda environment and I've tried on different computers altogether. None of them seem to be working properly.

I've just provided the last readout (stars *** added just for a bit of privacy) that it gives me before it 'completes the installation.'

Building wheels for collected packages: pystan
  Building wheel for pystan (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: ***/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-a9gsk67h/pystan/setup.py'"'"'; __file__='"'"'/tmp/pip-install-a9gsk67h/pystan/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-k6t3wg0t
       cwd: /tmp/pip-install-a9gsk67h/pystan/
  Complete output (1 lines):
  Cython>=0.22 and NumPy are required.
  ----------------------------------------
  ERROR: Failed building wheel for pystan
  Running setup.py clean for pystan
Failed to build pystan
ERROR: mizani 0.7.1 has requirement pandas>=1.0.0, but you'll have pandas 0.25.3 which is incompatible.
ERROR: plotnine 0.7.0 has requirement pandas>=1.0.3, but you'll have pandas 0.25.3 which is incompatible.
Installing collected packages: attrs, numpy, biopython, pysam, pytz, six, python-dateutil, pandas, decorator, pygments, ptyprocess, pexpect, pickleshare, parso, jedi, backcall, wcwidth, prompt-toolkit, ipython-genutils, traitlets, IPython, pyzmq, jupyter-core, pyrsistent, jsonschema, nbformat, MarkupSafe, jinja2, tornado, jupyter-client, ipykernel, Send2Trash, terminado, prometheus-client, entrypoints, testpath, pandocfilters, mistune, pyparsing, packaging, webencodings, bleach, defusedxml, nbconvert, notebook, qtpy, qtconsole, jupyter-console, widgetsnbextension, ipywidgets, jupyter, cycler, kiwisolver, matplotlib, palettable, mizani, scipy, patsy, statsmodels, descartes, plotnine, natsort, Cython, pystan, seaborn, weblogo, PyPDF2, mpmath, sympy, pyvolve, phydms, regex, future, umi-tools, dms-variants, dms-tools2
    Running setup.py install for pystan ... done
  Running setup.py develop for dms-tools2
Successfully installed Cython-0.29.20 IPython-7.15.0 MarkupSafe-1.1.1 PyPDF2-1.26.0 Send2Trash-1.5.0 attrs-19.3.0 backcall-0.2.0 biopython-1.77 bleach-3.1.5 cycler-0.10.0 decorator-4.4.2 defusedxml-0.6.0 descartes-1.1.0 dms-tools2 dms-variants-0.6.0 entrypoints-0.3 future-0.18.2 ipykernel-5.3.0 ipython-genutils-0.2.0 ipywidgets-7.5.1 jedi-0.17.0 jinja2-2.11.2 jsonschema-3.2.0 jupyter-1.0.0 jupyter-client-6.1.3 jupyter-console-6.1.0 jupyter-core-4.6.3 kiwisolver-1.2.0 matplotlib-3.2.2 mistune-0.8.4 mizani-0.7.1 mpmath-1.1.0 natsort-7.0.1 nbconvert-5.6.1 nbformat-5.0.7 notebook-6.0.3 numpy-1.18.5 packaging-20.4 palettable-3.3.0 pandas-0.25.3 pandocfilters-1.4.2 parso-0.7.0 patsy-0.5.1 pexpect-4.8.0 phydms-2.3.8 pickleshare-0.7.5 plotnine-0.7.0 prometheus-client-0.8.0 prompt-toolkit-3.0.5 ptyprocess-0.6.0 pygments-2.6.1 pyparsing-2.4.7 pyrsistent-0.16.0 pysam-0.16.0.1 pystan-2.19.1.1 python-dateutil-2.8.1 pytz-2020.1 pyvolve-1.0.1 pyzmq-19.0.1 qtconsole-4.7.4 qtpy-1.9.0 regex-2020.6.8 scipy-1.4.1 seaborn-0.10.1 six-1.15.0 statsmodels-0.11.1 sympy-1.6 terminado-0.8.3 testpath-0.4.4 tornado-6.0.4 traitlets-4.3.3 umi-tools-1.0.1 wcwidth-0.2.4 webencodings-0.5.1 weblogo-3.5.0 widgetsnbextension-3.5.1

After this partially-installed package finishes downloading, I went ahead and ran the tests as suggested in the README.rst within the tests folder and that resulted in 38 failures, 78 passes, and 9 warnings.

Once again, I apologize for asking about something that might be an error on my part. Apart from adjusting the setup.py file or manually downloading each required package, I'm out of conceivable options on my end and I was wondering if there's something beyond the instructions provided -- https://jbloomlab.github.io/dms_tools2/installation.html -- that I should be doing.

Thank you so much for any help or support.

jbloom commented 4 years ago

It seems to be some sort of version incompatibility. Specifically, dms_tools currently does not work with pandas > 0.25.3.

What if you do the following:

pip install plotnine==0.6.0 pandas==0.25.3

Then do pip install dms_tools2

Let me know if that works. If so, I can try to pin some versions in setup.py.

jmath97 commented 4 years ago

So I ended up specifying the installation for pytest (newest, installed as specified by pytest documentation), plotnine (0.6.0), pandas (0.25.3), and mizani (0.6.0) prior to the pip installation of dms_tools2. Then, I had to also follow the setup as specified in the .travis.yml file for samtools and minimap. After setting all of those programs up, doing the pip install of dms_tools2 worked out much better. Running the test in this state got me to only 5 failed tests, 111 passed, and 8 warnings.

I'm not sure if the installation of the remaining programs specified in the .travis.yml file (ghostscript, dvipng, texlive-latex-extra, texlive-fonts-recommended, cm-super, and r-base) is easy for me to do on a cluster server where I'm not given root access. That might be the source of my remaining issues.

The errors after running your test cases are attached, but the majority of the issues seem to be solved. Thank you for your help. Hopefully my feedback is helpful to others. If you have suggestions for the remaining 5 errors, I've attached the readout after running the test.bash file.

dms_tools2 installation test_stdoutput.txt