private void LoadResultsV1Data(string dataFileName) { _saveStructsInMemory = true; _dataInMemoryIsIncomplete = false; ClearPeaksAndIso(); using ( var fin = new BinaryReader(new FileStream(dataFileName, FileMode.Open, FileAccess.Read, FileShare.Read)) ) { _fileName = fin.ReadString(); var versionStr = fin.ReadString(); // how many peaks do we need to read ? _numPeaksStored = fin.ReadInt32(); //var numRead = 0; var totalRead = 0; while (totalRead < _numPeaksStored) { var peak = LcmsPeak.ReadFromBinaryStream(fin); if (_peaksList.Count + 1 > _peaksList.Capacity && _peaksList.Capacity > int.MaxValue / 2) { _peaksList.Capacity = int.MaxValue - 150; } _peaksList.Add(peak); totalRead++; } var readTransforms = true; if (readTransforms) { _numIsoStored = fin.ReadInt32(); while (_transforms.Count < _numIsoStored) { var record = new clsHornTransformResults(IsotopeFitRecord.ReadFromBinaryStream(fin)); if (_transforms.Count + 1 > _transforms.Capacity && _transforms.Capacity > int.MaxValue / 2) { _transforms.Capacity = int.MaxValue - 150; } _transforms.Add(record); } } if (_numPeaksStored != 0) { _minScan = _peaksList[0].ScanNum; _maxScan = _peaksList[_peaksList.Count - 1].ScanNum; _lastScanAdded = _maxScan; } else { _minScan = _maxScan = _lastScanAdded = -1; } } CreateIndexesOnData(); }
public static LcmsPeak ReadFromBinaryStream(BinaryReader stream) { var peak = new LcmsPeak { ScanNum = stream.ReadInt32(), Mz = stream.ReadDouble(), Intensity = stream.ReadDouble() }; return(peak); }
public LcmsPeak(LcmsPeak a) { ScanNum = a.ScanNum; Mz = a.Mz; Intensity = a.Intensity; }