Skip to content

Finding the Length of YOYO-Stained DNA

We frequently need to find the length of a DNA molecule. This is trickier than it sounds because the YOYO-staining produced a non-uniform signal along the length of the DNA molecule.

The code below takes the following approach to dealing with non-uniform YOYO-signal:

  1. The DNA signal is smoothed via a 7-point median filter.

  2. The DNA signal is fit to the following sigmoidal (logistic) function with five adjustable parameters:

    y = A · [ 1 / (1 + b·e−cx) + 1 / (1 + b·ec(x − w)) ] + y0

    where A is the amplitude; b and c determine the x-offset and curvature; w is related to the width of the DNA; and y0 is the y-offset.

  3. After the best parameters are found, the DNA length is defined as the FWHM of the model data.

  • dna_lengths.m - Finds DNA lengths by fitting the data to a logistic function
  • fwhm.m - Finds FWHM of a signal. Original routine (from Matlab Central File Exchange) was modified by Ilya.