org.fhcrc.cpl.viewer.feature
Class FeatureStrategyUsingWindow

java.lang.Object
  extended by org.fhcrc.cpl.viewer.feature.FeatureExtractor
      extended by org.fhcrc.cpl.viewer.feature.FeatureStrategyUsingWindow
Direct Known Subclasses:
FeatureStrategyCentroided, FeatureStrategyCombined, FeatureStrategyGrossFeatures, FeatureStrategyPeakClustersOld, FeatureStrategyPeaks, FeatureStrategyUsingWindow2D, FeatureStrategyWavelet

public class FeatureStrategyUsingWindow
extends FeatureExtractor

User: mbellew Date: Sep 7, 2004 Time: 12:10:06 PM


Nested Class Summary
 
Nested classes/interfaces inherited from class org.fhcrc.cpl.viewer.feature.FeatureExtractor
FeatureExtractor.StatusListener
 
Field Summary
protected  double _noise
           
 
Fields inherited from class org.fhcrc.cpl.viewer.feature.FeatureExtractor
_dumpWindowSize, _maxCharge, _mzRange, _run, _scanCount, _sn, _startScan, _status, DEFAULT_EXTRACTOR_PROPERTYNAME, TYPE_1D, TYPE_2D
 
Constructor Summary
FeatureStrategyUsingWindow(MSRun run, int scan, int count, int maxCharge, FloatRange range, double sn)
           
 
Method Summary
 Feature[] _analyze()
           
protected static void _logDebug(java.lang.String s)
           
protected  Spectrum.Peak[] _pickPeaks(Scan scan)
           
protected  float[] _smooth(float[] s)
           
protected  java.util.Collection<Feature> analyze1D(Scan scan)
           
protected  java.util.ArrayList<Feature> ExtractPeptideFeatures(MSRun run, Spectrum.Peak[] peaksIN)
          For each single-peak feature: Consider all features in a small window around it If multiple have the same m/z, take the one with the lower scan, discard the others Toss out anything < 1/10 the intensity of the highest-intense peak Consider all possible charge states: For each peak, determine the mass distance from the highest-intense peak If within tolerance, create a new multi-peak feature, make sure it contains the highest-intensity peak, score it (a complicated process), add it to a list of candidates Pick the best charge state and create a feature
 void ScoreFeature(Feature f, Spectrum.Peak[] peaks)
          score a candidate feature f

Expecting charge=0 features and peaks TODO: document this better

 
Methods inherited from class org.fhcrc.cpl.viewer.feature.FeatureExtractor
analyze, analyze2D, analyzeScanAtATime, analyzeWindow, CombineScans, getAccurateMassAdjustmentScans, getDefault, getDefaultClass, getDumpWindowSize, getMzExtractionRange, getMzExtractionRange, getScans, getType, setAccurateMassAdjustmentScans, setDefault, setDumpWindowSize, setStatusListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_noise

protected double _noise
Constructor Detail

FeatureStrategyUsingWindow

public FeatureStrategyUsingWindow(MSRun run,
                                  int scan,
                                  int count,
                                  int maxCharge,
                                  FloatRange range,
                                  double sn)
Method Detail

_analyze

public Feature[] _analyze()
                   throws java.lang.InterruptedException
Specified by:
_analyze in class FeatureExtractor
Throws:
java.lang.InterruptedException

_smooth

protected float[] _smooth(float[] s)

analyze1D

protected java.util.Collection<Feature> analyze1D(Scan scan)
Overrides:
analyze1D in class FeatureExtractor

_pickPeaks

protected Spectrum.Peak[] _pickPeaks(Scan scan)

ExtractPeptideFeatures

protected java.util.ArrayList<Feature> ExtractPeptideFeatures(MSRun run,
                                                              Spectrum.Peak[] peaksIN)
For each single-peak feature: Consider all features in a small window around it If multiple have the same m/z, take the one with the lower scan, discard the others Toss out anything < 1/10 the intensity of the highest-intense peak Consider all possible charge states: For each peak, determine the mass distance from the highest-intense peak If within tolerance, create a new multi-peak feature, make sure it contains the highest-intensity peak, score it (a complicated process), add it to a list of candidates Pick the best charge state and create a feature

Parameters:
run -
peaksIN -
Returns:

ScoreFeature

public void ScoreFeature(Feature f,
                         Spectrum.Peak[] peaks)
score a candidate feature f

Expecting charge=0 features and peaks TODO: document this better

Parameters:
f -
peaks -

_logDebug

protected static void _logDebug(java.lang.String s)


Fred Hutchinson Cancer Research Center