unfold-protein: velocity clamp protein unfolding experiment control
Unfold-protein is a set of tools for controlling velocity-clamp single molecule force spectroscopy. It uses the pyafm package for low level AFM control. This package contains the high-level experiment control logic.
# emerge -av app-portage/layman # layman --add wtk # emerge -av sci-physics/unfold-protein
Unfold-protein requires the following Python modules:
Unfold-protein is available as a Git repository:
$ git clone git://tremily.us/unfold-protein.git
There are also periodic bundled releases. For example, get version 0.2 as a gzipped tarball with:
$ wget 'http://git.tremily.us/?p=unfold-protein.git;a=snapshot;h=v0.2;sf=tgz' $ tar -xzvf unfold-protein-0.2.tar.gz
After downloading, change to the source directory and run:
$ python setup.py install
to install unfold-protein. Run:
$ python setup.py install --help
to see a list of installation options you may want to configure.
The unfold.py script runs a series of unfolding pulls while scanning the pulling velocity and contact position. It has a few command line options; get details with:
$ unfold.py --help
You can configure the unfolding and scanning behavior using h5config. The configuration is stored in ~/.config/unfold-default.yaml. To seed this configuration file before tweaking it, you should configure pyafm (as described in its README). Then run:
>>> import unfold_protein.storage as storage >>> config = storage.get_default_config() >>> storage.save_scan_config(config=config)
to create a configuration using the default settings. The YAML syntax is plain text, which you can edit as you see fit. Future runs of unfold.py (and calls to unfold_protein.storage.load_scanner()) will load this configuration by default.
unfold.py saves each unfolding pull in its own timestamped file with the unfolding data along with the complete configuration used to acquire it. You can configure the directory where these files are stored with the unfold/save/base directory setting. You can convert the saved unfolding data to PNGs with plot-unfold.py. For example:
$ plot-unfold.py ~/rsrch/data/unfold/*.h5