README: Remove duplicate pyafm target
[unfold-protein.git] / README
1 Unfold-protein
2 ==============
3
4 Unfold-protein is a set of tools for controlling velocity-clamp single
5 molecule force spectroscopy.  It uses the pyafm_ package for low level
6 AFM control.  This package contains the high-level experiment control
7 logic.
8
9 Packages
10 ========
11
12 Gentoo
13 ------
14
15 I've packaged pyafm for Gentoo.  You need layman_ and my `wtk
16 overlay`_.  Install with::
17
18   # emerge -av app-portage/layman
19   # layman --add wtk
20   # emerge -av sci-physics/unfold-protein
21
22 Dependencies
23 ============
24
25 Unfold-protein requires the following Python modules:
26
27 * Pyafm_
28 * Pypiezo_ (required directly, and via ``pyafm``)
29 * H5config_ (required directly, and via ``pyafm``)
30 * h5py_ (required directly, and via ``h5config``)
31 * Matplotlib_
32 * NumPy_
33
34 Getting the source
35 ==================
36
37 Unfold-protein is available as a Git_ repository::
38
39   $ git clone git://tremily.us/unfold-protein.git
40
41 There are also periodic bundled releases.  For example, get version
42 0.2 as a gzipped tarball with::
43
44   $ wget 'http://git.tremily.us/?p=unfold-protein.git;a=snapshot;h=v0.2;sf=tgz'
45   $ tar -xzvf unfold-protein-0.2.tar.gz
46
47 Installation
48 ============
49
50 After downloading, change to the source directory and run::
51
52   $ python setup.py install
53
54 to install unfold-protein.  Run::
55
56   $ python setup.py install --help
57
58 to see a list of installation options you may want to configure.
59
60 Usage
61 =====
62
63 The ``unfold.py`` script runs a series of unfolding pulls while
64 scanning the pulling velocity and contact position.  It has a few
65 command line options; get details with::
66
67   $ unfold.py --help
68
69 You can configure the unfolding and scanning behavior using h5config_.
70 The configuration is stored in ``~/.config/unfold-default.yaml``.  To
71 seed this configuration file before tweaking it, you should configure
72 pyafm_ (as described in its ``README``).  Then run::
73
74   >>> import unfold_protein.storage as storage
75   >>> config = storage.get_default_config()
76   >>> storage.save_scan_config(config=config)
77
78 to create a configuration using the default settings.  The YAML_
79 syntax is plain text, which you can edit as you see fit.  Future runs
80 of ``unfold.py`` (and calls to
81 ``unfold_protein.storage.load_scanner()``) will load this
82 configuration by default.
83
84 ``unfold.py`` saves each unfolding pull in its own timestamped file
85 with the unfolding data along with the complete configuration used to
86 acquire it.  You can configure the directory where these files are
87 stored with the ``unfold/save/base directory`` setting.  You can
88 convert the saved unfolding data to PNGs__ with ``plot-unfold.py``.
89 For example::
90
91   $ plot-unfold.py ~/rsrch/data/unfold/*.h5
92
93 __ PNG_
94
95 For more detailed analysis, you may want to use Hooke_.  You may also
96 want to use calibcant_ to calibrate your AFM cantilever's bending
97 spring constant.
98
99 .. _pyafm: http://blog.tremily.us/posts/pyafm/
100 .. _layman: http://layman.sourceforge.net/
101 .. _wtk overlay: http://blog.tremily.us/posts/Gentoo_overlay/
102 .. _pypiezo: http://blog.tremily.us/posts/pypiezo/
103 .. _h5config: http://blog.tremily.us/posts/h5config/
104 .. _H5Py: http://code.google.com/p/h5py/
105 .. _NumPy: http://numpy.scipy.org/
106 .. _Matplotlib: http://matplotlib.sourceforge.net/
107 .. _Git: http://git-scm.com/
108 .. _YAML: http://www.yaml.org/
109 .. _PNG: http://en.wikipedia.org/wiki/Portable_Network_Graphics
110 .. _Hooke: http://blog.tremily.us/posts/hooke/
111 .. _calibcant: http://blog.tremily.us/posts/calibcant/