Installation - PacificBiosciences/FALCON-integrate GitHub Wiki

The easy way (in a new directory):

Please ensure your default python version is 2.7.9.

export GIT_SYM_CACHE_DIR=~/.git-sym-cache # to speed things up
git clone git://github.com/PacificBiosciences/FALCON-integrate.git
cd FALCON-integrate
git checkout develop  # or whatever version you want
git submodule update --init --recursive # Note: You must do this yourself! No longer via `make init`.
make init
source env.sh
make config-edit-user
make -j all
make test  # to run a simple one

See travis.sh, which is exactly what we run in our TravisCI test.

Types of installation

Python modules will be installed according to your environment.

  • You can use sudo and your standard installation.
  • You can use a virtualenv.
  • Or you can simply install into your PYTHONUSERBASE.

Other executables will go into ${FALCON_PREFIX}/bin, which must already exist.

mkdir -p ${FALCON_PREFIX}/bin

Standard install

This is more permanent, not for developers. Python modules go into your current site-packages, so you can run this within a virtualenv for convenience, if you want. Just remember to activate your virtualenv before installing.

Other executables are copied into ${FALCON_PREFIX}/bin rather than symlinked.

bash config-standard.sh

Development install

This is safest. We use pip install --edit so any changes in your Python code are immediately reflected in your installation. Again, a virtualenv is fine, if you want.

Other executables are installed into ${FALCON_PREFIX}/bin as symbolic links.

bash config-edit.sh

Development install into Python userbase

This is least likely to fail. Similar to the regular "development install", we use pip install --edit --user so that our FALCON Python modules remain at the front of your sys.path, but all updated Python modules go into your current site.USER_BASE, which can be controlled by ${PYTHONUSERBASE}.

bash config-edit-user.sh

Dependencies

Python-2.7.9

We recommend using Anaconda.

If you use Anaconda, remember to add your Python directory to your PATH.

pip

We use pip here. If you do not have it yet, we install it for you automatically, via make pip-install in FALCON-make.

Git

You also need a fairly recent version of git, at least 1.7 for full submodules support.

PATH

Before running tests, you need to add the new bin to your PATH. E.g.

export PYTHONUSERBASE=$(python -c 'import site; print site.USER_BASE')
export PATH=${PYTHONUSERBASE}/bin:$PATH

Explanation

A makefile in FALCON-integrate calls into the makefile in FALCON-make, possibly within a Python virtualenv.

FALCON-make builds and installs the dependencies, and runs a smoke test in FALCON-examples.

FALCON-examples contains a variety of test-cases, some of which are available publicly. It uses git-sym to retrieve data, in order to keep the repository size small. You can use FALCON-examples as a template for your own testing.

Choosing a version

We use git's tagging feature to track a set of particular combination of submodules. If you want to track your own modifications, you should fork the relevent repository, make your modifications and use your own FALCON-integrate fork to track it. The lastest tagged release is here. To install that, it is the same as installing the latest master branch, but you need to add git checkout <version to specify the particular combination of the dependent submodules.

virtualenv

Some of us prefer to rely on PYTHONUSERBASE rather than virtualenv, which can have problems on Centos7. But if you want to try virtualenv yourself, please heed the following warning.

Python checks PYTHONPATH directories ahead of site-packages/. That's just how Python works. So if you are using virtualenv, you must beware anything which already exists in your PYTHONPATH. Or simply unset PYTHONPATH.