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
.