Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] aemd_v1_0.tar.gz(5442 Kbytes)
Manuscript Title: Novel Algorithm and MATLAB-Based Program for Automated Power Law Analysis of Single Particle, Time-Dependent Mean-Square Displacement
Authors: Moti Umansky, Daphne Weihs
Program title: LINSA (acronym: linear segment analysis)
Catalogue identifier: AEMD_v1_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 183(2012)1783
Programming language: MATLAB (MathWorks Inc.) version 7.11 (2010b) or higher, program should also be backwards compatible. Symbolic Math Toolboxes (5.5) is required. The Curve Fitting Toolbox (3.0) is recommended.
Computer: Tested on Windows only, yet should work on any computer running MATLAB. In windows 7, should be used as administrator, if the user is not the administrator the program may not be able to save outputs and temporary outputs to all locations.
Operating system: Any supporting MATLAB (MathWorks Inc.) v7.11 / 2010b or higher.
Supplementary material: Sample output files, (approx. 30 MBytes), are available.
Keywords: Time-dependent mean-square displacement, Single-particle trajectory analysis, Anomalous diffusion, Particle tracking, MATLAB program.
PACS: 66.10.cg, 62.10.+s, 83.10.Pp, 87.15.H.
Classification: 12.

External routines: Several MATLAB subfunctions (m-files), freely available on the web, were used as part of and included in, this code: count, NaN suite, parseArgs, roundsd, subaxis, wcov, wmean, and the executable pdfTK.exe.

Nature of problem:
In many physical and biophysical areas employing single-particle tracking, having the time-dependent power-laws governing the time-averaged meansquare displacement (MSD) of a single particle is crucial. Those power-laws determine the mode-of-motion and hint at the underlying mechanisms driving motion. Accurate determination of the power laws that describe each trajectory will allow categorization into groups for further analysis of single trajectories or ensemble analysis, e.g. ensemble and time-averaged MSD.

Solution method:
The algorithm in the provided program automatically analyzes and fits time-dependent power-laws to single particle trajectories, then group particles according to user defined cutoffs. It accepts time-dependent trajectories of several particles, each trajectory is run through the program, its time-averaged MSD is calculated, and power-laws are determined in regions where the MSD is linear on a log-log scale. Our algorithm searches for high-curvature points in experimental data, here time-dependent MSD. Those serve as anchor points for determining the ranges of the power-law fits. Power-law scaling is then accurately determined and error estimations of the parameters and quality of fit are provided. After all single trajectory time-averaged MSDs are fit, we obtain cutoffs from the user to categorize and segment the power laws into groups; cutoff are either in exponents of the power-laws, time of appearance of the fits, or both together. The trajectories are sorted according to the cutoffs and the time- and ensemble-averaged MSD of each group is provided, with histograms of the distributions of the exponents in each group. The program then allows the user to generate new trajectory files with trajectories segmented according to the determined groups, for any further required analysis.

Additional comments:
README file giving the names and a brief description of all the files that make-up the package and clear instructions on the installation and execution of the program is included in the distribution package.

Running time:
Running time: On an i5 Windows 7 machine with 4GB RAM the automated parts of the run (excluding data loading and user input) take less than 45 minutes to analyze and save all stages for an 844 trajectory file, including optional PDF save. Trajectory length did not affect run time (tested up to 3600 frames/trajectory), which was on average 3.2±0.4 seconds per trajectory.