Example #1
0
        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();
        }
Example #2
0
        public static LcmsPeak ReadFromBinaryStream(BinaryReader stream)
        {
            var peak = new LcmsPeak
            {
                ScanNum   = stream.ReadInt32(),
                Mz        = stream.ReadDouble(),
                Intensity = stream.ReadDouble()
            };

            return(peak);
        }
Example #3
0
 public LcmsPeak(LcmsPeak a)
 {
     ScanNum   = a.ScanNum;
     Mz        = a.Mz;
     Intensity = a.Intensity;
 }