Class AlgorithmFRETEfficiency

java.lang.Object
java.lang.Thread
gov.nih.mipav.model.algorithms.AlgorithmBase
gov.nih.mipav.model.algorithms.AlgorithmFRETEfficiency
All Implemented Interfaces:
ActionListener, WindowListener, Runnable, EventListener

public class AlgorithmFRETEfficiency extends AlgorithmBase
Fluorescence Resonance Energy Transfer FRET refers to the nonradiative transfer of energy from an excited state donor fluorescent molecule to a nearby acceptor fluorescent molecule. The energy transfer efficiency E, defined as the number of energy transfer events divided by the number of photons absorbed by the donor, is related to the distance R between the acceptor and donor by: E = 1/[1 + (r/R0)**6] (eq. 1) where R0, the Forster critical distance, is the distance at which E = 0.5. We also have E = 1 - FDA/FD, (eq. 2) where FDA is the donor fluorescence in the presence of an acceptor and FD is the donor fluorescence in the absence of the acceptor. The equivalent of an acceptor's absence can be created by photobleaching the acceptor. Thus, a method using equation 2, can be performed on a single sample by measuring the donor fluorescence before and after photobleaching the acceptor molecules.

Because FRET falls off as the sixth power of the distance between the donor and the acceptor, no FRET occurs for distances greater than 2R0. Since R0 is on the order of 10 to 70 Angstroms, by performing FRET measurements it is possible to distinguish proteins that are merely nearby in the same compartment from those proteins that are interacting with each other.

The code here is a port of the MATLAB routine Two_D_Sensitized_FRET provided by Dr. Stephen Lockett.

The code here requires 3 images - image donor and acceptor dyes taken with a donor filter, image with donor and acceptor dyes taken with a FRET filter, and image with donor and acceptor dyes taken with an acceptor filter. Only 1 color will be used from a color image.

The code here requires the user to provide 4 bleed thru parameters. AlgorithmFRETBleedThrough will be used to obtain the 4 bleed thru parameters. The DFP into FRET bleed thru and the DFP into AFP bleed thru will be obtained from 1 run of AlgorithmFRETBleedThrough on a set of 3 images containing donor dye only. The AFP into FRET bleed thru and the AFP into DFP bleed thru will be obtained from 1 run of AlgorithmFRETBleedThrough on a set of 3 images containing acceptor dye only. Then AlgorithmFRETEfficiency is run with a set of 3 images containing both donor and acceptor dye, so obtaining the FRET efficiency requires a set of 9 images.

The code here assumes the presence of 2 or more VOI regions - a backgorund region and 1 or more active regions whose areas are used for the efficiency calculations. Pixels with saturation values in any of the 3 images are excluded from all calculations. The VOIs must all be placed in the source image and the source image must be the image with donor and acceptor dyes taken with a donor fluorescent peak filter. Radio buttons in the dialog box are used to select an active VOI or a blue background VOI. Either an ellipse VOI, rectangle VOI, levelset VOI, or polyline VOI will be selected from the top MIPAV toolbar. Hit the NEW_VOI button to create other active VOIs. Just do not use blue as an active VOI color. The background region will have a smaller average intensity than the active region.

This program outputs the FRET efficiency and the adjusted donor and adjusted acceptor intensities for each active VOI region. Optionally, the user may create floating point images with the adjustedFRET/adjusted donor, adjustedFRET/adjusted acceptor or efficiency given at every pixel location.

Reference: 1.) "Imaging Protein-Protein Interactions Using Fluorescence Energy Transfer Microscopy" by Anne K. Kenworthy, Methods, 24, 2001, pp. 289 - 296.

2.) "Quantitative Fluorescence Resonance Energy Transfer Measurements Using Fluorescence Microscopy" by Gerald W. Gordon, Gail Berry, Xiao Huan Liang, Beth Levine, and Brian Herman, Biophysical Journal, Volume 74, May, 1998, pp. 2702-2713.

  • Field Details

    • acceptorImage

      private ModelImage acceptorImage
      DOCUMENT ME!
    • AFPintoDFP

      private float AFPintoDFP
      DOCUMENT ME!
    • AFPintoFRET

      private float AFPintoFRET
      DOCUMENT ME!
    • DFPintoAFP

      private float DFPintoAFP
      DOCUMENT ME!
    • DFPintoFRET

      private float DFPintoFRET
      DOCUMENT ME!
    • efficiencyImage

      private ModelImage efficiencyImage
      DOCUMENT ME!
    • fDivAImage

      private ModelImage fDivAImage
      DOCUMENT ME!
    • fDivDImage

      private ModelImage fDivDImage
      DOCUMENT ME!
    • FRETImage

      private ModelImage FRETImage
      private ModelImage donorImage; // image taken with donor filter.
    • UI

      private ViewUserInterface UI
      DOCUMENT ME!
    • useBlue

      private boolean useBlue
      DOCUMENT ME!
    • useGreen

      private boolean useGreen
      DOCUMENT ME!
    • useRed

      private boolean useRed
      DOCUMENT ME!
  • Constructor Details

    • AlgorithmFRETEfficiency

      public AlgorithmFRETEfficiency(ModelImage donorImage, ModelImage FRETImage, ModelImage acceptorImage, boolean useRed, boolean useGreen, boolean useBlue, float DFPintoFRET, float AFPintoFRET, float DFPintoAFP, float AFPintoDFP, ModelImage fDivDImage, ModelImage fDivAImage, ModelImage efficiencyImage)
      Creates a new AlgorithmFRETEfficiency object.
      Parameters:
      donorImage - image taken with donor filter
      FRETImage - image taken with FRET filter
      acceptorImage - image taken with acceptor filter
      useRed - If true, use the red color values for the FRET
      useGreen - If true, use the green color values for the FRET
      useBlue - If true, use the blue color values for the FRET
      DFPintoFRET - DOCUMENT ME!
      AFPintoFRET - DOCUMENT ME!
      DFPintoAFP - DOCUMENT ME!
      AFPintoDFP - DOCUMENT ME!
      fDivDImage - If not null, create adjusted FRET/adjusted donor image.
      fDivAImage - If not null, create adjusted FRET/adjusted acceptor image.
      efficiencyImage - If not null, create efficiency image.
  • Method Details

    • finalize

      public void finalize()
      Prepares this class for destruction.
      Overrides:
      finalize in class AlgorithmBase
    • runAlgorithm

      public void runAlgorithm()
      starts the algorithm.
      Specified by:
      runAlgorithm in class AlgorithmBase