コード例 #1
0
            public MinStatisticsCollector(ChromCacheMinimizer chromCacheMinimizer)
            {
                ChromCacheMinimizer = chromCacheMinimizer;
                var filePathToReplicateIndex = new Dictionary <MsDataFileUri, int>();
                var results = Document.Settings.MeasuredResults;

                for (int i = 0; i < results.Chromatograms.Count; i++)
                {
                    var chromatogramSet = results.Chromatograms[i];
                    foreach (var msDataFilePath in chromatogramSet.MSDataFilePaths)
                    {
                        filePathToReplicateIndex[msDataFilePath] = i;
                    }
                }
                var cachedFiles = ChromCacheMinimizer.ChromatogramCache.CachedFiles;

                _fileIndexToReplicateIndex = new int[cachedFiles.Count];
                bool hasOrphanFiles = false;

                for (int fileIndex = 0; fileIndex < cachedFiles.Count; fileIndex++)
                {
                    int replicateIndex;
                    if (filePathToReplicateIndex.TryGetValue(cachedFiles[fileIndex].FilePath, out replicateIndex))
                    {
                        _fileIndexToReplicateIndex[fileIndex] = replicateIndex;
                    }
                    else
                    {
                        _fileIndexToReplicateIndex[fileIndex] = results.Chromatograms.Count;
                        hasOrphanFiles = true;
                    }
                }
                _replicates = new MinStatistics.Replicate[results.Chromatograms.Count + (hasOrphanFiles ? 1 : 0)];
                for (int i = 0; i < results.Chromatograms.Count; i++)
                {
                    _replicates[i].Name = results.Chromatograms[i].Name;
                }
                if (hasOrphanFiles)
                {
                    _replicates[results.Chromatograms.Count].Name = "<Unmatched Files>"; // Not L10N? Function invoke uses?
                }
                foreach (var chromHeaderInfo in ChromCacheMinimizer.ChromGroupHeaderInfos)
                {
                    _replicates[_fileIndexToReplicateIndex[chromHeaderInfo.FileIndex]].OriginalFileSize +=
                        GetFileSize(chromHeaderInfo);
                }
            }
コード例 #2
0
 public MinStatisticsCollector(ChromCacheMinimizer chromCacheMinimizer)
 {
     ChromCacheMinimizer = chromCacheMinimizer;
     var filePathToReplicateIndex = new Dictionary<MsDataFileUri, int>();
     var results = Document.Settings.MeasuredResults;
     for (int i = 0; i < results.Chromatograms.Count; i++)
     {
         var chromatogramSet = results.Chromatograms[i];
         foreach (var msDataFilePath in chromatogramSet.MSDataFilePaths)
         {
             filePathToReplicateIndex[msDataFilePath] = i;
         }
     }
     var cachedFiles = ChromCacheMinimizer.ChromatogramCache.CachedFiles;
     _fileIndexToReplicateIndex = new int[cachedFiles.Count];
     bool hasOrphanFiles = false;
     for (int fileIndex = 0; fileIndex < cachedFiles.Count; fileIndex++)
     {
         int replicateIndex;
         if (filePathToReplicateIndex.TryGetValue(cachedFiles[fileIndex].FilePath, out replicateIndex))
         {
             _fileIndexToReplicateIndex[fileIndex] = replicateIndex;
         }
         else
         {
             _fileIndexToReplicateIndex[fileIndex] = results.Chromatograms.Count;
             hasOrphanFiles = true;
         }
     }
     _replicates = new MinStatistics.Replicate[results.Chromatograms.Count + (hasOrphanFiles ? 1 : 0)];
     for (int i = 0; i < results.Chromatograms.Count; i++ )
     {
         _replicates[i].Name = results.Chromatograms[i].Name;
     }
     if (hasOrphanFiles)
     {
         _replicates[results.Chromatograms.Count].Name = "<Unmatched Files>"; // Not L10N? Function invoke uses?
     }
     foreach (var chromHeaderInfo in ChromCacheMinimizer.ChromGroupHeaderInfos)
     {
         _replicates[_fileIndexToReplicateIndex[chromHeaderInfo.FileIndex]].OriginalFileSize +=
             GetFileSize(chromHeaderInfo);
     }
 }
コード例 #3
0
 public GridRowItem(ChromCacheMinimizer.MinStatistics.Replicate replicateStats)
     : this()
 {
     Name = replicateStats.Name;
     Size = new FileSize(replicateStats.OriginalFileSize);
     if (replicateStats.MinimizedRatio.HasValue)
     {
         MinimizedSize = Math.Round(replicateStats.MinimizedRatio.Value, 2);
     }
 }
コード例 #4
0
 void OnProgress(ChromCacheMinimizer.MinStatistics minStatistics)
 {
     lock(this)
     {
         CheckDisposed();
         bool updateUi = _minStatistics == null || _minStatistics.PercentComplete != minStatistics.PercentComplete;
         _minStatistics = minStatistics;
         if (ReferenceEquals(_dlg.StatisticsCollector, this))
         {
             if (updateUi && !_updatePending)
             {
                 //_updatePending = true;
                 try
                 {
                     _dlg.BeginInvoke(new Action(UpdateStatistics));
                 }
                 catch (Exception x)
                 {
                     throw new ObjectDisposedException(_dlg.GetType().FullName, x);
                 }
             }
         }
     }
     if (_longWaitBroker != null)
     {
         _longWaitBroker.ProgressValue = minStatistics.PercentComplete;
         if (_longWaitBroker.IsCanceled)
         {
             throw new ObjectDisposedException(GetType().FullName);
         }
     }
 }
コード例 #5
0
        private static ResultsTestDocumentContainer MinimizeCacheFile(SrmDocument document,
            ChromCacheMinimizer.Settings settings, string skyFilePath)
        {
            string skydFilePath = Path.ChangeExtension(skyFilePath, ChromatogramCache.EXT);
            ChromCacheMinimizer chromCacheMinimizer = document.Settings.MeasuredResults.GetChromCacheMinimizer(document);
            using (var fs = new FileSaver(skydFilePath))
            using (var fsScans = new FileSaver(skydFilePath + ChromatogramCache.SCANS_EXT, true))
            using (var fsPeaks = new FileSaver(skydFilePath + ChromatogramCache.PEAKS_EXT, true))
            using (var fsScores = new FileSaver(skydFilePath + ChromatogramCache.SCORES_EXT, true))
            {
                fs.Stream = File.OpenWrite(fs.SafeName);
                chromCacheMinimizer.Minimize(settings, null, fs.Stream,
                    fsScans.FileStream, fsPeaks.FileStream, fsScores.FileStream);
                fs.Commit();
            }
            using (var writer = new XmlTextWriter(skyFilePath, Encoding.UTF8) {Formatting = Formatting.Indented})
            {
                var ser = new XmlSerializer(typeof (SrmDocument));
                ser.Serialize(writer, document);

                writer.Flush();
                writer.Close();
            }
            var container = new ResultsTestDocumentContainer(document, skyFilePath, false);
            Assert.IsTrue(container.SetDocument(ResultsUtil.DeserializeDocument(skyFilePath), document, true));
            return container;
        }