BUILD INSTRUCTIONS
-----------------

The current branch of Release1.10pyopenms is out of sync with
Release1.10 as the python branch has some more methods on OpenMS
objects than Release1.10. So you can not mix an official installation
of OpenMS 1.10 with the python wrapper. Instead you have to build
pyopenms from scratch, as described below:

For more information, also read README_WRAPPING_NEW_CLASSES

Note that when using pip without root permissions, you have to add a path
prefix: --install-option="--prefix=/path/to/local/python/"

1) get python 2.7 (it may run with Python 2.6, see below*)

2) on windows: you need the 64 bit c++ compiler from visual studio 2008
   this is important, else you get a different clib than python 2.7 is
   built with, and pyopenms will crash on import

3) install setuptools, see:  https://pypi.python.org/pypi/setuptools

4) $ easy_install pip
   $ pip install autowrap
   $ pip install nose

4b) If Cython doesn't get installed, install it with "$ easy_install cython"

5) get numpy:

   a) on debian/ubuntu:

      $ sudo apt-get install python-numpy

   b) on 64 bit win 7:
      get it from http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

6) cmake as usual, but  with parameters "-D PYOPENMS=ON"
   on windows add: "-D CMAKE_BUILD_TYPE=Release" as the standard python27.dll
   is built in release mode.

7) $ make targets

   you see some pyopenms specific build targets

7) build target "pyopenms", eg:

   $ make pyopenms

8) on linux: be sure that the libOpenMS.so in /usr/lib is the one
   you built in step 7)
   (openms has no "install" target....)

9) run unit tests

   $ cd pyOpenMS
   $ run_nose.py

   run mem leak test:

   $ run_memleaks.py

10) if you want to install locally:

   $ python setup.py install

11) for bulding installers:

   $ make pyopenms_bdist_egg

    or

   $ make pyopenms_bdist

   you find the built installer files in pyOpenMS/dist


===================================

* at least on Linux, it is possible to run it with Python 2.6.6. For this, do the following:

i) go to a directory that is in your PYTHONPATH (if autowrap is already
installed, this directory needs to be before the other one in the PYTHONPATH)
and get this forked version from github:

git clone https://github.com/hroest/autowrap.git autowrap_git
mv autowrap_git/autowrap .

ii) install missing pieces that are present in Python 2.7, while still in the same directory

wget hroest.ch/counter_backport.py
pip install ordereddict 

When you run your make command, there will be some warnings that it cannot find
Python 2.7 but you should be fine.

