vbTRACK Users Guide
November 13, 2015
vbTrack is an open-source Matlab package. Its capabilities are described in the paper Dividing
organelle tracks into Brownian and moor-driven intervals by variational maximization of the
Bayesian evidence, Matt Martin, Amanda Smelser and George Holzwarth, European
Biophysics Journal 2015, DOI 10.1007/s00249-015-1091-0. It is available free on
SourceForge.net. It is deposited under the GNU General Public License and GNU Free
Documentation License except where previously restricted, as specified in the
Acknowledgements.
vbTRACK does not have a graphical user interface ( gui). To use the program, download the
package of files into a folder named vbTRACK on your computer, unzip the files to the same
folder, and open Matlab. Then open and run the file run_vbTRACK.m. It should generate synthetic data, analyze it with variational Bayes code, and show figures of the raw data, velocity, performance of the variational Bayes code, and final results (frame-by-frame assignment of states).
Users are assumed to be familiar with Matlab.
Address questions or comments to George Holzwarth, gholz@wfu.edu.
A number of system-specific parameters need to be set by the user in lines 19-29:
framerate = 100; frames per second of video camera.
pix2micron = 9.23; conversion between pixels and micrometers for your microscope, objective,
and camera. Value given is for our PCO camera, 60X on Nikon inverted
real_data ; a switch parameter. If real_data =0, program generates and processes virtual_data;
If real_data = 1, the program reads in and processes real xy data;
savitzky; a switch parameter. If savitzky = 0; Savitzky-Golay is NOT used on real data.
If savitzky = 1, Savitzky-Golay filter is applied to real data
kmin = 1; minimum number of states tested
K = 6; maximum number of states tested
VT = 'V'; program evaluates frame-to-frame velocity from xy data (track). It then
uses the velocity data as the input subjected to Bayesian analysis.
VT =T; program evaluates frame-to-frame direction angle theta. It then uses theta
data as the input subjected to Bayesian analysis.
save_data = 1; 0 = don't save; 1 = save
numVes = 1; number of tracks to be analyzed
iterations = 10; number of restarts to get around problems of false maximum
Kfav_set = 2; overwrites Kfav = Kbest at L386
parameters for the synthetic track.
ves = 1;
DurB = 100; duration of Brownian bouts.
DurD = 100; duration of motor-driven bouts
Suggested test runs to check that the program runs on your system
1. Open Matlab
2. Open run_vbTRACK
3. Test with synthetic data:
Set real_data = 0;
Set VT = V;
Run the program. It should generate synthetic data, compute the velocity, and use
the velocity to determine the number of states and their parameters. Several graphs are
generated showing raw data, velocity, determination of the most probable number of
states (2 in this case, by design), assign a state to each frame, and evaluate the msd for
each state.
You can repeat this process with synthetic data but with VT = T to test use of
directional angle within a synthetic track.
4. Test with real data. We provide a dataset(track) for a peroxisome in an HME cell,
as in the published paper. The filename and folder for our system are hardcoded at line 49-51
of the file run_vbTRACK, reading
folder = 'D:\Userdata\Matlab\George\vbTRACK_real_data\data\';
filename = 'Perox04';
You will need to change the folder and filename to correspond to their values on your
computer. Then
Set real_data = 1;
Set VT = V;
Run the program run_vbTRACK. It should plot the real data, compute the velocity, and
use the velocity to determine the number of states and their parameters. Several graphs are
generated showing raw data, velocity, determination of the most probable number of states,
assign a state to each frame, and evaluate the msd for each state.
You can repeat this process but with VT = T to test use of directional angle within the
track.