org.fhcrc.cpl.viewer.feature
Class Deconvoluter

java.lang.Object
  extended by org.fhcrc.cpl.viewer.feature.Deconvoluter
All Implemented Interfaces:
java.lang.Cloneable

public class Deconvoluter
extends java.lang.Object
implements java.lang.Cloneable

This class handles deconvolution of features; that is, identifying features that we've found in multiple charge states and collapsing them down. Collapsed features contain the details of the original feature with highest intensity (except for the intensity itself, which is the sum of all collapsed features'). Optimization attempts to find the best mass and time tolerance values for performing deconvolution. It does this by trying a large number of possible settings and, for each combination of parameters, assigning some kind of quality score. See the methods below for details.


Field Summary
static double DEFAULT_DELTA_MASS
           
static double DEFAULT_DELTA_TIME
           
static double DEFAULT_MAX_DELTA_MASS_PPM
           
static double DEFAULT_MAX_DELTA_TIME
           
static double DEFAULT_MIN_DELTA_MASS_PPM
           
static double DEFAULT_MIN_DELTA_TIME
           
protected  double deltaMass
           
protected  double deltaTime
           
protected  FeatureSet featureSet
           
protected  FeatureGrouper grouper
           
protected static double MASS_INCREMENT_PPM
           
protected  boolean showCharts
           
protected static double TIME_INCREMENT_SECONDS
           
 
Constructor Summary
Deconvoluter(FeatureSet featureSet)
           
 
Method Summary
protected  double calcMultiToSingleChargeStateDifference()
          Here's where we calculate the number of multi-feature buckets for which there are no features with the same charge, and subract the number of buckets for which there are two or more features with the same charge (even if there are other features with different charges.
protected  double collectBucketInfo()
           
 FeatureSet deconvolute()
          Combine features that represent the same peptide.
 double getDeltaMass()
           
 double getDeltaTime()
           
 int getElutionMode()
           
 int getMassType()
           
 void optimizeParameters()
          Optimize both the mass and time matching tolerances.
 void setDeltaMass(double deltaMass)
           
 void setDeltaTime(double deltaTime)
           
 void setElutionMode(int _elutionMode)
           
 void setMassType(int massType)
           
 void setShowCharts(boolean showCharts)
           
 boolean shouldShowCharts()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_DELTA_TIME

public static final double DEFAULT_DELTA_TIME
See Also:
Constant Field Values

DEFAULT_DELTA_MASS

public static final double DEFAULT_DELTA_MASS
See Also:
Constant Field Values

deltaTime

protected double deltaTime

deltaMass

protected double deltaMass

DEFAULT_MAX_DELTA_MASS_PPM

public static final double DEFAULT_MAX_DELTA_MASS_PPM
See Also:
Constant Field Values

DEFAULT_MAX_DELTA_TIME

public static final double DEFAULT_MAX_DELTA_TIME
See Also:
Constant Field Values

DEFAULT_MIN_DELTA_MASS_PPM

public static final double DEFAULT_MIN_DELTA_MASS_PPM
See Also:
Constant Field Values

DEFAULT_MIN_DELTA_TIME

public static final double DEFAULT_MIN_DELTA_TIME
See Also:
Constant Field Values

MASS_INCREMENT_PPM

protected static final double MASS_INCREMENT_PPM
See Also:
Constant Field Values

TIME_INCREMENT_SECONDS

protected static final double TIME_INCREMENT_SECONDS
See Also:
Constant Field Values

grouper

protected FeatureGrouper grouper

featureSet

protected FeatureSet featureSet

showCharts

protected boolean showCharts
Constructor Detail

Deconvoluter

public Deconvoluter(FeatureSet featureSet)
Method Detail

optimizeParameters

public void optimizeParameters()
Optimize both the mass and time matching tolerances. As described above, this is based on the ratio of multi-to-1 deconvolutions to 2-to-1 deconvolutions.


collectBucketInfo

protected double collectBucketInfo()
Returns:

calcMultiToSingleChargeStateDifference

protected double calcMultiToSingleChargeStateDifference()
Here's where we calculate the number of multi-feature buckets for which there are no features with the same charge, and subract the number of buckets for which there are two or more features with the same charge (even if there are other features with different charges. This gives us an estimate of how good deconvolution looks. We do this by performing the relevant bits of deconvolution and then analyzing the clusters.

Returns:

deconvolute

public FeatureSet deconvolute()
Combine features that represent the same peptide. Features must be within a deltaMass, deltaTime window to be considered same.

This removes redunancy caused by multiple charge states. It also combines features of the same mass/charge that are close together (e.g. a small feature that is split by ion competition)

CONSIDER(mbellew) the mass (mz) tolerance could be tighter for features w/ same charge

Returns:

getMassType

public int getMassType()

setMassType

public void setMassType(int massType)

getDeltaTime

public double getDeltaTime()

setDeltaTime

public void setDeltaTime(double deltaTime)

getDeltaMass

public double getDeltaMass()

setDeltaMass

public void setDeltaMass(double deltaMass)

getElutionMode

public int getElutionMode()

setElutionMode

public void setElutionMode(int _elutionMode)

shouldShowCharts

public boolean shouldShowCharts()

setShowCharts

public void setShowCharts(boolean showCharts)


Fred Hutchinson Cancer Research Center