示例#1
0
        private static FileRetentionTimeAlignments CalculateFileRetentionTimeAlignments(
            string dataFileName, ResultNameMap <IDictionary <Target, double> > libraryRetentionTimes, IProgressMonitor progressMonitor)
        {
            var targetTimes = libraryRetentionTimes.Find(dataFileName);

            if (targetTimes == null)
            {
                return(null);
            }
            var alignments = new List <RetentionTimeAlignment>();

            foreach (var entry in libraryRetentionTimes)
            {
                if (dataFileName == entry.Key)
                {
                    continue;
                }
                var alignedFile = AlignedRetentionTimes.AlignLibraryRetentionTimes(targetTimes, entry.Value, REFINEMENT_THRESHHOLD, RegressionMethodRT.linear, new CustomCancellationToken(CancellationToken.None, () => progressMonitor.IsCanceled));
                if (alignedFile == null || alignedFile.RegressionRefinedStatistics == null ||
                    !RetentionTimeRegression.IsAboveThreshold(alignedFile.RegressionRefinedStatistics.R, REFINEMENT_THRESHHOLD))
                {
                    continue;
                }
                var regressionLine = alignedFile.RegressionRefined.Conversion as RegressionLineElement;
                if (regressionLine != null)
                {
                    alignments.Add(new RetentionTimeAlignment(entry.Key, regressionLine));
                }
            }
            return(new FileRetentionTimeAlignments(dataFileName, alignments));
        }
 private static FileRetentionTimeAlignments CalculateFileRetentionTimeAlignments(
     string dataFileName, ResultNameMap<IDictionary<string, double>> libraryRetentionTimes, IProgressMonitor progressMonitor)
 {
     var targetTimes = libraryRetentionTimes.Find(dataFileName);
     if (targetTimes == null)
     {
         return null;
     }
     var alignments = new List<RetentionTimeAlignment>();
     foreach (var entry in libraryRetentionTimes)
     {
         if (dataFileName == entry.Key)
         {
             continue;
         }
         var alignedFile = AlignedRetentionTimes.AlignLibraryRetentionTimes(targetTimes, entry.Value, REFINEMENT_THRESHHOLD, ()=>progressMonitor.IsCanceled);
         if (alignedFile == null || !RetentionTimeRegression.IsAboveThreshold(alignedFile.RegressionRefinedStatistics.R, REFINEMENT_THRESHHOLD))
         {
             continue;
         }
         alignments.Add(new RetentionTimeAlignment(entry.Key, alignedFile.RegressionRefined.Conversion));
     }
     return new FileRetentionTimeAlignments(dataFileName, alignments);
 }