public void Reset() { SICData.Clear(); SICScanType = clsScanList.eScanTypeConstants.SurveyScan; }
protected void SaveScanStatEntry( StreamWriter writer, clsScanList.eScanTypeConstants eScanType, clsScanInfo currentScan, int datasetID) { const char TAB_DELIMITER = '\t'; var scanStatsEntry = new ScanStatsEntry() { ScanNumber = currentScan.ScanNumber }; if (eScanType == clsScanList.eScanTypeConstants.SurveyScan) { scanStatsEntry.ScanType = 1; scanStatsEntry.ScanTypeName = string.Copy(currentScan.ScanTypeName); } else { if (currentScan.FragScanInfo.MSLevel <= 1) { // This is a fragmentation scan, so it must have a scan type of at least 2 scanStatsEntry.ScanType = 2; } else { // .MSLevel is 2 or higher, record the actual MSLevel value scanStatsEntry.ScanType = currentScan.FragScanInfo.MSLevel; } scanStatsEntry.ScanTypeName = string.Copy(currentScan.ScanTypeName); } scanStatsEntry.ScanFilterText = currentScan.ScanHeaderText; scanStatsEntry.ElutionTime = currentScan.ScanTime.ToString("0.0000"); scanStatsEntry.TotalIonIntensity = StringUtilities.ValueToString(currentScan.TotalIonIntensity, 5); scanStatsEntry.BasePeakIntensity = StringUtilities.ValueToString(currentScan.BasePeakIonIntensity, 5); scanStatsEntry.BasePeakMZ = StringUtilities.DblToString(currentScan.BasePeakIonMZ, 4); // Base peak signal to noise ratio scanStatsEntry.BasePeakSignalToNoiseRatio = StringUtilities.ValueToString(MASICPeakFinder.clsMASICPeakFinder.ComputeSignalToNoise(currentScan.BasePeakIonIntensity, currentScan.BaselineNoiseStats.NoiseLevel), 4); scanStatsEntry.IonCount = currentScan.IonCount; scanStatsEntry.IonCountRaw = currentScan.IonCountRaw; mScanTracking.ScanStats.Add(scanStatsEntry); var dataColumns = new List <string>() { datasetID.ToString(), // Dataset ID scanStatsEntry.ScanNumber.ToString(), // Scan number scanStatsEntry.ElutionTime, // Scan time (minutes) scanStatsEntry.ScanType.ToString(), // Scan type (1 for MS, 2 for MS2, etc.) scanStatsEntry.TotalIonIntensity, // Total ion intensity scanStatsEntry.BasePeakIntensity, // Base peak ion intensity scanStatsEntry.BasePeakMZ, // Base peak ion m/z scanStatsEntry.BasePeakSignalToNoiseRatio, // Base peak signal to noise ratio scanStatsEntry.IonCount.ToString(), // Number of peaks (aka ions) in the spectrum scanStatsEntry.IonCountRaw.ToString(), // Number of peaks (aka ions) in the spectrum prior to any filtering scanStatsEntry.ScanTypeName // Scan type name }; writer.WriteLine(string.Join(TAB_DELIMITER.ToString(), dataColumns)); }