Skip to content
This repository was archived by the owner on Jan 26, 2022. It is now read-only.

Commit 08454c1

Browse files
committed
Merge pull request #378 from SimTk/installation
update installation docs
2 parents 45bcfbb + 7a7a8e8 commit 08454c1

File tree

2 files changed

+54
-67
lines changed

2 files changed

+54
-67
lines changed

docs/sphinx/installation.rst

+41-54
Original file line numberDiff line numberDiff line change
@@ -1,87 +1,74 @@
11
Installation
22
============
33

4-
MSMBuilder should run on most modern computers equiped with a scientific python installation. But, in the interest of being explicit, here the requirements
4+
MSMBuilder is a python package that uses a number of components from the "scientific python" stack. These packages include `numpy and scipy <http://scipy.org/getting-started.html>`_ for array manipulation and numerical linear algebra, `PyTables <http://www.pytables.org/moin>`_ for storing binary data, and others.
55

6-
- A CPU with SSE3 support, which has been tandard on all x86 processors produce after 2006.
7-
- A working C compiler, such as GCC 4.2 or later, clang, or MSVC.
8-
- Python, with some scientific modules installed (see below)
6+
.. note::
97

10-
MSMBuilder is written in the python programming language, and uses a
11-
variety of tools from the wider scientific python ecosystem, which may
12-
need to be installed separately. They include
8+
MSMBuilder currently required python2.7, and is not compatible with the python3.x series.
139

10+
Easily with ``conda``
11+
---------------------
1412

15-
Python Prerequisites
16-
--------------------
17-
- MDTraj
18-
- Numpy
19-
- Scipy
20-
- PyTables
21-
- numexpr
22-
- fastcluster (for hierarchical clustering)
23-
- matplotlib (optional for plotting)
24-
- ipython (optional for interactive mode)
25-
- pymol (optional for visualization)
13+
The easiest way to install MSMBuilder is with the python package manager ``conda``.
14+
``conda`` is an open-source cross-platform binary package manager integrated with
15+
the scientific python stack. It's built into the `Anaconda python distribution <http://docs.continuum.io/anaconda/>`_ produced by Continuum Analytics, which is a python installer that comes shipped with many of the python packages needed for science.
16+
17+
.. warning::
2618

27-
Two companies, Enthought and Continuum Analytics, produce python
28-
distributions which bundle many of these packages in with the python
29-
interpreter into a single binary installer, available for all major
30-
operating systems. These are the Enthought Canopy python distribution
31-
and Continuum’s Anaconda.
19+
We **strongly** recommend using Anaconda. Installing the scientific stack by hand can be quite tricky.
3220

21+
If you don't want to get Anaconda, you can also install ``conda`` into an existing python interpreter. Once you have ``conda``, install MSMBuilder with ::
3322

34-
Install Python and Python Packages
35-
----------------------------------
23+
conda config --add channels http://conda.binstar.org/omnia
24+
conda install msmbuilder
3625

37-
Rather than individually install the many python dependencies, we
38-
recommend that you download the Python2.7 version of the Enthought
39-
Canopy or Continuum Anaconda, which contain almost all python
40-
dependencies required to run MSMBuilder. If you have a 64 bit platform,
41-
please use the 64 bit versions, as this will give higher performance.
26+
Medium With ``pip``
27+
-------------------
4228

43-
Note for OSX users: Enthought represents the easiest way to obtain a
44-
working Python installation. The OSX system Python install is broken and
45-
cannot properly build Python extensions, which are required for
46-
MSMBuilder installation. Also, see FAQ question 11 for a known issue
47-
with OSX Lion and OpenMP.
29+
MSMBuilder can be instaleld with ``pip``, but ``pip`` is not fantastic at installing the dependencies. If you've already got the dependencies installed (see below), then you can download and install MSMBuilder::
4830

49-
Note: if you are unable to use Canopy or Anaconda, there are other
50-
pre-compiled Python distributions available, although they might not be
51-
as fast as Enthought. Options include Python(x,y) and the Scipy
52-
Superpack (OSX). Finally, most Linux users can install most
53-
prerequisites using their package manager. In Ubuntu, the following will
54-
install most of the prerequisites:
31+
pip install msmbuilder
5532

56-
::
33+
Hard Way by Hand
34+
----------------
35+
36+
If you use conda, all of this will be done automatically. If you prefer to do things by hand, keep reading.
37+
38+
You'll need to get the following python packages:
39+
40+
- `mdtraj >= 0.8 <https://pypi.python.org/pypi/mdtraj>`_
41+
- `numpy >= 1.6 <https://pypi.python.org/pypi/numpy>`_
42+
- `scipy >= 0.11 <https://pypi.python.org/pypi/scipy>`_
43+
- `tables >= 2.4.0 <https://pypi.python.org/pypi/tables>`_
44+
- `pyyaml <https://pypi.python.org/pypi/PyYAML>`_
45+
- `fastcluster (for hierarchical clustering) <https://pypi.python.org/pypi/fastcluster>`_
46+
- matplotlib (optional for plotting)
47+
- ipython (optional for interactive mode)
48+
49+
On a debian-based linux, you can get most of them with ::
5750

5851
$ sudo apt-get install libhdf5-serial-dev python-dev python-numpy \
5952
python-scipy python-setuptools python-nose python-tables \
60-
python-matplotlib python-yaml swig ipython
53+
python-matplotlib python-yaml swig ipython python-pip
6154

62-
Neither Canopy nor Anaconda include MDTraj nor fastcluster. They can be installed be installed using python’s package manager, ``pip``.
6355

64-
::
56+
Download MSMBuilder, unzip, move to the msmbuilder directory. Then, use ``pip``
57+
to install any remaining dependencies ::
6558

6659
$ pip install -r requirements.txt
6760

68-
Download and Install MSMBuilder
69-
-------------------------------
70-
71-
Download MSMBuilder, unzip, move to the msmbuilder directory. Install
72-
using setup.py:
73-
74-
::
61+
Then install MSMBuilder with ``setup.py`` ::
7562

7663
$ python setup.py install
7764

7865
You may need root privileges during the install step; alternatively, you
7966
can specify an alternative install path via ``–prefix=XXX``. If you
8067
performed the install step with ``–prefix=XXX``, you need to ensure that
8168

82-
#. XXX/bin is included in your PATH
69+
#. ``XXX/bin`` is included in your ``PATH``
8370

84-
#. XXX/lib/python2.7/site-packages/ is included in your PYTHONPATH
71+
#. ``XXX/lib/python2.7/site-packages/`` is included in your ``PYTHONPATH``
8572

8673
Step (1) ensures that you can run MSMBuilder scripts without specifying
8774
their location. Step (2) ensures that your Python can locate the

docs/sphinx/tutorial.rst

+13-13
Original file line numberDiff line numberDiff line change
@@ -65,19 +65,19 @@ clusters.
6565
After clustering, one must assign the data to the clusters. For the
6666
clustering settings used above, this happens automatically, so you will
6767
not need to run a separate assignment step. For other clustering
68-
protocols, you may need to run Assign.py or AssignHierarchical.py after
69-
the clustering phase.
68+
protocols, you may need to run ``Assign.py`` or ``AssignHierarchical.py``
69+
after the clustering phase.
7070

71-
The assignments of each conformation are stored as Data/Assignments.h5.
72-
The cluster centers are stored as Data/Gens.lh5.
71+
The assignments of each conformation are stored as ``Data/Assignments.h5``.
72+
The cluster centers are stored as ``Data/Gens.lh5``.
7373

7474
Note that clustering with the RMSD metric requires a list of which atom
7575
indices to use during RMSD calculation. This file is typically called
76-
AtomIndices.dat and can typically be created using the script
77-
CreateAtomIndices.py. Because alanine dipeptide contains non-standard
76+
``AtomIndices.dat`` and can typically be created using the script
77+
``CreateAtomIndices.py``. Because alanine dipeptide contains non-standard
7878
atom names, it cannot be generated automatically; a default
79-
AtomIndices.dat has already been placed in the Tutorial directory for
80-
your use. Note that AtomIndices.dat uses *zero* based indexing–the first
79+
``AtomIndices.dat`` has already been placed in the Tutorial directory for
80+
your use. Note that ``AtomIndices.dat`` uses *zero* based indexing–the first
8181
atom in your system has index 0.
8282

8383
Alternative Clustering Protocols
@@ -132,17 +132,17 @@ Assignments.Fixed.h5 contains a “fixed” version of your microstate
132132
assignments that has removed all data that is trimmed the maximal
133133
ergodic subgraph of your data.
134134

135-
tCounts.mtx contains the maximum likelihood estimated reversible count
136-
matrix. This is a symmetric matrix.
135+
``tCounts.mtx`` contains the maximum likelihood estimated reversible
136+
count matrix. This is a symmetric matrix.
137137

138-
tProb.mtx contains the maximum likelihood estimated transition
138+
``tProb.mtx`` contains the maximum likelihood estimated transition
139139
probability matrix.
140140

141-
Mapping.dat contains a mapping of the original microstate numbering to
141+
``Mapping.dat`` contains a mapping of the original microstate numbering to
142142
the “fixed” microstate numbering. This is necessary because some states
143143
may have been discarded during the ergodic trimming step.
144144

145-
Populations.dat contains the maximum likelihood estimated reversible
145+
``Populations.dat`` contains the maximum likelihood estimated reversible
146146
equilibrium populations.
147147

148148
Construct a Macrostate MSM

0 commit comments

Comments
 (0)