Ensembler is developed and tested on Linux and Mac. Windows is not well supported.
The simulation refinement stages of Ensembler use OpenMM, which performs best on CUDA-enabled GPUs. However, OpenMM also has an optimized CPU platform, so use of GPUs is optional.
Install with Conda¶
conda is a package manager built for scientific Python. Unlike
pip, it handles binaries and binary dependencies, which are critical for most scientific workflows.
Conda can be obtained by installing Continuum Anaconda - an awesome free Python distribution for scientific computing. The standard installation contains many of Ensembler’s dependencies. Alternatively, for a more minimal Python set-up you can install miniconda, which contains only Conda and Python.
First get a license for Modeller from the Modeller website (registration required; free for academic non-profit use).
Save this in an environment variable as follows
$ export KEY_MODELLER=XXX
Then, to install Ensembler with Conda, use the following commands
$ conda config --add channels http://conda.anaconda.org/omnia $ conda config --add channels http://conda.anaconda.org/salilab $ conda install ensembler
Conda will automatically install all dependencies except for the optional dependencies Rosetta and MolProbity. These require licenses (free for academic non-profit use), and will have to be installed according to the instructions for those packages. Some limited installation instructions are included below, but these are not guaranteed to be up to date.
Install from Source¶
Clone the source code repository from github
$ git clone git://github.com/choderalab/ensembler.git
Then, in the directory containing the source code, you can install it with.
$ python setup.py install
To use Ensembler, the following libraries and software will need to be installed.
- Linux, Mac OS X or Windows operating system
- We develop mainly on 64-bit Linux and Mac machines. Windows is not well supported.
- Python >= 2.6
- The development package (
python-develon most Linux distributions) is recommended.
- Comparative modeling of protein structures.
- Molecular simulation toolkit, with GPU-accelerated simulation platform.
- Simulation trajectory analysis library.
- Statistical models for biomolecular dynamics.
- PDB structure modeling
- Collection of Python tools for computational biology and bioinformatics.
- Numpy is the base package for numerical computing in Python.
- For working with XML files.
- For working with YAML files.
- For building command-line interfaces.
- For testing in Python
- Allows many Ensembler functions to be run in parallel using MPI.
- Protein modeling suite. The
loopmodelfunction is optionally used by Ensembler to reconstruct missing loops in template structures.
- (If running Python 2.) Backport of the Python 3 subprocess module for Python 2. Used to run command-line programs such as Rosetta loopmodel. Includes timeout functionality which is particularly useful for the template loop reconstruction routine.
- Some functionality, including the
inspectfunctions, requires pandas.
- For model validation. The
package_modelsfunction can use this data to filter models by validation score.
Manually Installing the Dependencies¶
If you’re on ubuntu and have root, you can install most dependencies through your package manager (
$ sudo apt-get install python-dev
$ brew tap Homebrew/python $ brew install python $ brew install numpy
Then, you can install many of the remaining packages with
$ pip install lxml
Testing Your Installation¶
$ conda install nose mock
To run the unit tests:
$ nosetests ensembler -a unit
Further tests are available which check interoperation of Ensembler with software dependencies such Rosetta loopmodel, or with external public databases such as UniProt, or are excluded from the unit tests due to being slow. To run them:
$ nosetests ensembler -a non_conda_dependencies -a network -a slow