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); }