Package net.sf.mzmine.data

Examples of net.sf.mzmine.data.DataPoint


  }

  public boolean equals(Object obj) {
    if (!(obj instanceof DataPoint))
      return false;
    DataPoint dp = (DataPoint) obj;
    return (this.mz == dp.getMZ()) && (this.intensity == dp.getIntensity());
  }
View Full Code Here


      TreeSet<ExactMzDataPoint> candidatePeaks, double noiseLevel) {

    DataPoint[] scanDataPoints = scan.getDataPoints();
    if (scanDataPoints.length == 0)
      return;
    DataPoint localMaximum = scanDataPoints[0];
    ArrayList<DataPoint> rangeDataPoints = new ArrayList<DataPoint>();

    boolean ascending = true;

    // Iterate through all data points
    for (int i = 0; i < scanDataPoints.length - 1; i++) {

      boolean nextIsBigger = scanDataPoints[i + 1].getIntensity() > scanDataPoints[i]
          .getIntensity();
      boolean nextIsZero = scanDataPoints[i + 1].getIntensity() == 0;
      boolean currentIsZero = scanDataPoints[i].getIntensity() == 0;

      // Ignore zero intensity regions
      if (currentIsZero) {
        continue;
      }

      // Add current (non-zero) data point to the current m/z peak
      rangeDataPoints.add(scanDataPoints[i]);

      // Check for local maximum
      if (ascending && (!nextIsBigger)) {
        localMaximum = scanDataPoints[i];
        ascending = false;
        continue;
      }

      // Check for the end of the peak
      if ((!ascending) && (nextIsBigger || nextIsZero)) {

        // Add the m/z peak if it is above the noise level
        if (localMaximum.getIntensity() > noiseLevel) {

          DataPoint[] rawDataPoints = rangeDataPoints
              .toArray(new DataPoint[0]);
          candidatePeaks.add(new ExactMzDataPoint(localMaximum,
              rawDataPoints));
View Full Code Here

    // Get MS/MS data points in the tolerance range
    Range ms2mzRange = ms2mzTolerance.getToleranceRange(possibleFragment
        .getAverageMZ());

    DataPoint fragmentDataPoints[] = fragmentScan
        .getDataPointsByMass(ms2mzRange);

    // If there is a MS/MS peak of required height, we have a hit
    for (DataPoint dp : fragmentDataPoints) {
      if (dp.getIntensity() > minMS2peakHeight)
View Full Code Here

      // Cancel?
      if (status == TaskStatus.CANCELED)
        return;

      Scan scan = rawDataFile.getScan(scanNumbers[index]);
      DataPoint scanBasePeak = scan.getBasePeak();
      retentionTimes[index] = scan.getRetentionTime();
      basePeaks[index] = (scanBasePeak == null ? 0 : scanBasePeak
          .getIntensity());
      DataPoint scanDataPoints[] = scan.getDataPoints();
      dataPointMatrix[index] = new SoftReference<DataPoint[]>(
          scanDataPoints);
      processedScans++;
    }
View Full Code Here

  }

  private double getMaxIntensity(int dataPointMatrixIndex, Range mzRange,
      PlotMode plotMode) {
    DataPoint dataPoints[] = dataPointMatrix[dataPointMatrixIndex].get();
    if (dataPoints == null) {
      Scan scan = rawDataFile.getScan(scanNumbers[dataPointMatrixIndex]);
      dataPoints = scan.getDataPoints();
      dataPointMatrix[dataPointMatrixIndex] = new SoftReference<DataPoint[]>(
          dataPoints);
View Full Code Here

  private double getMaxIntensity(DataPoint dataPoints[], Range mzRange,
      PlotMode plotMode) {

    double maxIntensity = 0;

    DataPoint searchMZ = new SimpleDataPoint(mzRange.getMin(), 0);
    int startMZIndex = Arrays.binarySearch(dataPoints, searchMZ,
        new DataPointSorter(SortingProperty.MZ,
            SortingDirection.Ascending));
    if (startMZIndex < 0)
      startMZIndex = (startMZIndex * -1) - 1;
View Full Code Here

      int scanNumbers[] = peak.getScanNumbers();

      for (int scan : scanNumbers) {

        double rt = dataFile.getScan(scan).getRetentionTime();
        DataPoint dp = peak.getDataPoint(scan);
        if (dp != null) {
          if (rtRange.contains(rt) && mzRange.contains(dp.getMZ())) {
            PeakDataPoint newDP = new PeakDataPoint(scan, rt, dp);
            thisPeakDataPoints.add(newDP);
          }
        }
View Full Code Here

        this.errorMessage = "Scan " + dataFile + " #" + scanNumbers[i]
            + " does not have a mass list " + massListName;
        return;
      }

      DataPoint mzValues[] = massList.getDataPoints();

      if (mzValues == null) {
        setStatus(TaskStatus.ERROR);
        this.errorMessage = "Mass list " + massListName
            + " does not contain m/z values for scan "
View Full Code Here

    // Update raw data point ranges, height, rt and representative scan
    height = Double.MIN_VALUE;
    for (int i = 0; i < allScanNumbers.length; i++) {

      DataPoint mzPeak = dataPointsMap.get(allScanNumbers[i]);

      // Replace the MzPeak instance with an instance of SimpleDataPoint,
      // to reduce the memory usage. After we finish this Chromatogram, we
      // don't need the additional data provided by the MzPeak

      dataPointsMap.put(allScanNumbers[i], mzPeak);

      if (i == 0) {
        rawDataPointsIntensityRange = new Range(mzPeak.getIntensity());
        rawDataPointsMZRange = new Range(mzPeak.getMZ());
      } else {
        rawDataPointsIntensityRange.extendRange(mzPeak.getIntensity());
        rawDataPointsMZRange.extendRange(mzPeak.getMZ());
      }

      if (height < mzPeak.getIntensity()) {
        height = mzPeak.getIntensity();
        rt = dataFile.getScan(allScanNumbers[i]).getRetentionTime();
        representativeScan = allScanNumbers[i];
      }
    }
View Full Code Here

      // Search for best chromatogram, which has highest last data point
      Chromatogram bestChromatogram = null;

      for (Chromatogram testChrom : buildingChromatograms) {

        DataPoint lastMzPeak = testChrom.getLastMzPeak();
        Range toleranceRange = mzTolerance.getToleranceRange(lastMzPeak
            .getMZ());
        if (toleranceRange.contains(mzPeak.getMZ())) {
          if ((bestChromatogram == null)
              || (testChrom.getLastMzPeak().getIntensity() > bestChromatogram
                  .getLastMzPeak().getIntensity())) {
View Full Code Here

TOP

Related Classes of net.sf.mzmine.data.DataPoint

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.