Surveying and Benchmarking Techniques to Analyse DNA Gel Fingerprint Images

J. Heras, C. Domínguez, E. Mata, and V. Pascual

This page provides the dataset and tools cited in the paper Surveying and Benchmarking Techniques to Analyse DNA Gel Fingerprint Images

Brief summary

DNA fingerprinting is a genetic typing technique that allows the analysis of the genomic relatedness between samples, and the comparison of DNA patterns. The analysis of DNA gel fingerprint images usually consists of 5 consecutive steps: image pre-processing, lane segmentation, band detection, normalisation and fingerprint comparison. Several software tools implement the workflow to analyse gel-images; hence, the processing of those images is highly automated. However, there are two steps that usually require user-intervention: lane-segmentation and band-detection. In the former, the user might need to manually add lanes, remove some of the automatically segmented lanes, or adjust the thickness and curvature of the detected lanes. In the latter, the user might need to add or remove bands. These two manual corrections are tedious and time-consuming, and, therefore, algorithms that might reduce this effort are desirable.

In the literature, several approaches to tackle lane-segmentation and band-detection have been studied; however, it does not exists a comparison of the different methods. The reason is twofold: the lack of a common benchmark to measure the performance of those methods, and, the unavailability of the implementation of most algorithms. In this work, we deal with these two problems.


Datasets

The dataset consists of 50 gel-images and 121 lane-images saved using the tiff format. The dataset of gel-images consists of 24 images of good quality, 17 of intermediate quality, and 9 of bad quality --- the quality of the gel-images was based on the straightness of lanes, and the contrast and noise of the images. In the case of lane-images, the dataset contains 42 good images, 66 intermediate images, and 13 bad images --- the quality of the lanes-images is based on the opinion of experts, the migration of the lane, and the contrast of the bands.


Tools

We have created 4 ImageJ plugins for lane-segmentation, band-detection, and to evaluate the performance of the lane-segmentation and band-detection algorithms. To install our plugins, you must first install ImageJ. The installation and use of our plugins is explained as follows.

Installation of the plugins

  1. Download the following zip file.
  2. Unzip the downloaded zip file. This will produce a folder called Gels containing two folders called Gels and Lanes.
  3. Copy the Gels and Lanes folders into the Plugins folder where ImageJ is installed.
  4. Open ImageJ. If the installation was correct, you will find on the Plugins menu of Image, a submenu called Gels containing two plugins: LaneManagerJ, and LaneSegPerformanceJ; and another submenu called Lanes containing two plugins: BandManagerJ, BandSegPerformanceJ.

This process is also explained in the following video. (All the videos included in this webpage can be seen in HD. Change the video quality by going to the gear icon in the corner of the video player, and selecting your preferred quality. This is explained in the following link.)

Using LaneManagerJ

Segmentation of lanes in a gel-image using different algorithms
  1. Open ImageJ.
  2. Open a gel-image.
  3. Run LaneManagerJ (Plugins -> Gels -> LaneManagerJ).
  4. Check or uncheck the Dark Background checkbox depending on the kind of background of the image.
  5. Press the Auto Detect button in the Lane Manager window.
  6. Select one of the 8 methods available in the Lane detection window and press the OK button. (The available methods are Average profile, Binary profile, Binary profile using Otsu threshold, Derivative profile, Maximum profile, STD profile, STD-derivative profile, and sum profile.)
  7. The lanes of the image are detected.
  8. The current segmentation can be saved using the Save... button in the Lane Manager window. This will open a new window where the user can select the folder where the zip file containing the lane-segmentation will be saved.

This process is also explained in the following video.

Batch segmentation of lanes in a gel-image
  1. Open ImageJ.
  2. Open a gel-image.
  3. Run LaneManagerJ (Plugins -> Gels -> LaneManagerJ).
  4. Check or uncheck the Dark Background checkbox depending on the kind of background of the image.
  5. Press the Batch Auto Detect button in the Lane Manager window.
  6. Select the save-folder where the zip files containing the lane-segmentation for the different algorithms will be saved.

This process is also explained in the following video.

Using BandManagerJ

Segmentation of bands in a lane-image using different algorithms
  1. Open ImageJ.
  2. Open a lane-image.
  3. Run BandManagerJ (Plugins -> Lanes -> BandManagerJ).
  4. Check or uncheck the Dark Background checkbox depending on the kind of background of the image.
  5. Press the Auto Detect button in the Band Manager window.
  6. Select one of the 8 methods available in the Band detection window and press the OK button. (The available methods are Average profile, Binary profile, Binary profile using Otsu threshold, Derivative profile, Maximum profile, STD profile, STD-derivative profile, and sum profile.)
  7. The bands of the image are detected.
  8. The current detection can be saved using the Save... button in the Band Manager window. This will open a new window where the user can select the folder where the zip file containing the lane-segmentation will be saved.

This process is also explained in the following video.

Batch segmentation of bands in a lane-image
  1. Open ImageJ.
  2. Open a gel-image.
  3. Run BandManagerJ (Plugins -> Lanes -> BandManagerJ).
  4. Check or uncheck the Dark Background checkbox depending on the kind of background of the image.
  5. Uncheck the Several height-thresholds for batch checkbox.
  6. Press the Batch Auto Detect button in the Band Manager window.
  7. Select the save-folder where the zip files containing the lane-segmentation for the different algorithms will be saved.

This process is also explained in the following video.

Batch segmentation of bands in a lane-image using different height-threshold
  1. Open ImageJ.
  2. Open a gel-image.
  3. Run BandManagerJ (Plugins -> Lanes -> BandManagerJ).
  4. Check or uncheck the Dark Background checkbox depending on the kind of background of the image.
  5. Uncheck the Several height-thresholds for batch checkbox.
  6. Press the Batch Auto Detect button in the Band Manager window.
  7. Select the save-folder where the zip files containing the lane-segmentation for the different algorithms will be saved.
  8. Indicate the number of thresholds that will be used for the batch generation

This process is also explained in the following video.

Using LaneSegPerformanceJ

Performance of a Lane segmentation algorithm for lane detection
  1. Open ImageJ.
  2. Open a gel-image.
  3. Run LaneSegPerformanceJ (Plugins -> Gels -> LaneSegPerformanceJ).
  4. Load the gold-standard associated with the image using the Load Gold Standard Roi button of the Performance Evaluation Manager window.
  5. Load the hypothesised roi associated with the image using the Load Hypothesised Roi button of the Performance Evaluation Manager window.
  6. Press the Performance Evaluation button in the Performance Evaluation Manager window.
  7. Select the option Hypothesised rois are points in the combobox of the opened window, and press the Evaluate button.
  8. This will open two windows: ROC Space, and Measurements. The Measurements window shows the statistics, and the ROC Space window shows the ROC space of the current evaluation.

This process is also explained in the following video.

Performance of a Lane segmentation algorithm for lane segmentation
  1. Open ImageJ.
  2. Open a gel-image.
  3. Run LaneSegPerformanceJ (Plugins -> Gels -> LaneSegPerformanceJ).
  4. Load the gold-standard associated with the image using the Load Gold Standard Roi button of the Performance Evaluation Manager window.
  5. Load the hypothesised roi associated with the image using the Load Hypothesised Roi button of the Performance Evaluation Manager window.
  6. Press the Performance Evaluation button in the Performance Evaluation Manager window.
  7. Match each gold-standard lane with the corresponding hypothesised lane in the opened window, and press the Evaluate button. (Results can be accumulated checking the Add results to previous data window.)
  8. This will open two windows: ROC Space, and Measurements. The Measurements window shows the statistics, and the ROC Space window shows the ROC space of the current evaluation.

This process is also explained in the following video.

Using BandSegPerformanceJ

Performance of a Band detection algorithm
  1. Open ImageJ.
  2. Open a gel-image.
  3. Run BandSegPerformanceJ (Plugins -> Lanes -> BandSegPerformanceJ).
  4. Load the gold-standard associated with the image using the Load Gold Standard Roi button of the Performance Evaluation Manager window.
  5. Load the hypothesised roi associated with the image using the Load Hypothesised Roi button of the Performance Evaluation Manager window.
  6. Press the Performance Evaluation button in the Performance Evaluation Manager window.
  7. This will open two windows: ROC Space, and Measurements. The Measurements window shows the statistics, and the ROC Space window shows the ROC space of the current evaluation.

This process is also explained in the following video.

Performance of a Band detection algorithm for batch of sucessive height-thresholds
  1. Open ImageJ.
  2. Open a gel-image.
  3. Run BandSegPerformanceJ (Plugins -> Lanes -> BandSegPerformanceJ).
  4. Load the gold-standard associated with the image using the Load Gold Standard Roi button of the Performance Evaluation Manager window.
  5. Press the Performance Evaluation Batch button in the Performance Evaluation Manager window.
  6. Select the folder where the zip files containing the batch are located
  7. This will open three windows: ROC curve, Measurements, and AUC. The Measurements window shows the statistics for each band-detection of the batch, and the ROC curve window shows the ROC curve for the batch, and the AUC window provides the area under the roc curve.

This process is also explained in the following video.


Contact

Please address any queries about this project to joheras at gmail.com