PyProphet / pyprophet

PyProphet: Semi-supervised learning and scoring of OpenSWATH results.
http://www.openswath.org
BSD 3-Clause "New" or "Revised" License
29 stars 21 forks source link

More Explanation of Installation and Running for non-root User #13

Closed DarioS closed 6 years ago

DarioS commented 6 years ago

I have nearly no Python experience, so installing this on a Linux server is unexpectedly challenging. Could you add more explanation to the README file? For example, I used the -t option of pip but I don't see any pyprophet file in that location after installing it, so I don't know what command I'd use for printing the help text.

/savona/nobackup/biostat/software/Python/lib/python2.7/site-packages/pyprophet$ ls
__init__.py    classifiers.py   data_handling.py   main_helpers.py   pyprophet.py   semi_supervised.py   std_logger.py
__init__.pyc   classifiers.pyc  data_handling.pyc  main_helpers.pyc  pyprophet.pyc  semi_supervised.pyc  std_logger.pyc
_optimized.c   config.py        main.py            optimized.py      report.py      stats.py             version.py
_optimized.so  config.pyc       main.pyc           optimized.pyc     report.pyc     stats.pyc            version.pyc
grosenberger commented 6 years ago

After successful installation with pip, you should be able to use pyprophet like any other command directly on the console on Linux / Mac. You don't need to run a script or anything else. Does that work for you? If not, e.g. you don't have permissions to install Python packages, then you should consider setting up a virtual environment using virtualenv first.

pip install virtualenv
virtualenv pyv # sets up a virtualenv in the folder ./pyv
source pyv/bin/activate # activates the virtualenv, a completely independent python environment
pip install pyprophet
DarioS commented 6 years ago

I learned that there is a simpler option:

pip install -t /savona/nobackup/biostat/software/Python/lib/python2.7/site-packages/ pyprophet --install-option=--install-scripts=/savona/nobackup/biostat/software/Python/bin

One of these two ways to install the software could be documented for users unfamiliar with Python.

Also, the README file explains that pyprophet is a reimplementation of mProphet. Do new methods added to pyprpohet get propagated to mProphet?

grosenberger commented 6 years ago

Installing Python packages can be done in many different ways and it is very difficult to ensure that they work flawlessly on different operating systems, configurations, etc. For this reason, it is generally suggested to use virtualenv. I have added a note to my development branch: https://github.com/grosenberger/pyprophet/tree/feature/refactoring

mProphet was developed by Biognosys and is extended in their products SpectroDive and Spectronaut. These products contain the extensions of Biognosys and also a few that are available in PyProphet as well. The original Perl/R implementation of mProphet is not being extended and actively developed to my knowledge.