11 Force spectroscopy experiments are generally classified as "force
12 clamp", "velocity clamp", etc.. While previous versions of Hooke
13 attempted to reproduce such classification, I now believe this
14 classification is counter-productive. The type of experiment carried
15 out by a given :class:`~hooke.curve.Curve` is determined by the
16 sequence of :class:`~hooke.curve.Data` blocks in the curve. For
17 example, a classic velocity clamp experiment would look like::
19 hooke> curve_info --enable-block_names
20 block names: ['approach', 'pause', 'retract']
22 And classic force clamp experiment would look like::
24 hooke> curve_info --enable-block_names
25 block names: ['approach', 'pause', 'retract', 'force clamp']
27 However, the situation is complicated by refolding experiments such as::
29 hooke> curve_info --enable-block_names
30 block names: ['approach-0', 'pause-0', 'retract-0',
31 'approach-1', 'pause-1', 'retract-1',
32 'approach-2', 'pause-2', 'retract-2',
35 The benefit to classifying curves in Hooke is that each class of
36 experiment has a standard analysis procedure (e.g. unfolding force
37 extraction for velocity clamp experiments or survival time extraction
38 for force clamp experiments). However, the potential convenience of
39 Hooke being able to guess a user's desired analysis is outweighed by
40 the increased complexity and rigidity that such guessing requires.
41 Instead we provide :class:`~hooke.command.Command`\s that can be
42 applied to any data block, and leave it up to the user to construct a
43 sequence of analysis commands that makes sense. The risk to this
44 flexible approach is confusion for both the user and the Hooke
45 developer. The remainder of this section lays out a scheme for
46 maintaining developer sanity. Users should read over the
47 :doc:`analysis` section for an overview of analysis procedures
48 that are standardized enough to have written documentation.
53 .. todo:: Explain driver responsibilities.
58 .. todo:: Explain command analysis and storage behaviour.
63 .. todo:: Explain procedure for exporting analysis results.