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)); }
public static ResultNameMap <RetentionTimeSource> ListSourcesForResults(MeasuredResults results, ResultNameMap <RetentionTimeSource> availableSources) { if (results == null) { return(ResultNameMap <RetentionTimeSource> .EMPTY); } var sourcesForResults = results.Chromatograms .SelectMany(chromatogramSet => chromatogramSet.MSDataFileInfos) .Select(availableSources.Find); return(ResultNameMap.FromNamedElements(sourcesForResults.Where(source => null != source))); }
public static ResultNameMap <RetentionTimeSource> ListAvailableRetentionTimeSources(SrmSettings settings) { if (!settings.TransitionSettings.FullScan.IsEnabled) { return(ResultNameMap <RetentionTimeSource> .EMPTY); } IEnumerable <RetentionTimeSource> sources = new RetentionTimeSource[0]; foreach (var library in settings.PeptideSettings.Libraries.Libraries) { if (library == null || !library.IsLoaded) { continue; } sources = sources.Concat(library.ListRetentionTimeSources()); } return(ResultNameMap.FromNamedElements(sources)); }
public static ResultNameMap <IDictionary <Target, double> > ReadAllRetentionTimes(SrmDocument document, ResultNameMap <RetentionTimeSource> sources) { var allRetentionTimes = new Dictionary <string, IDictionary <Target, double> >(); foreach (var source in sources) { var library = document.Settings.PeptideSettings.Libraries.GetLibrary(source.Value.Library); if (null == library) { continue; } LibraryRetentionTimes libraryRetentionTimes; if (!library.TryGetRetentionTimes(MsDataFileUri.Parse(source.Value.Name), out libraryRetentionTimes)) { continue; } allRetentionTimes.Add(source.Key, libraryRetentionTimes.GetFirstRetentionTimes()); } return(ResultNameMap.FromDictionary(allRetentionTimes)); }
public override void ReadXml(XmlReader reader) { if (null != RetentionTimeAlignments) { throw new InvalidOperationException(); } base.ReadXml(reader); var retentionTimeAlignments = new List <RetentionTimeAlignment>(); if (reader.IsEmptyElement) { reader.Read(); } else { // Read past the property element reader.Read(); reader.ReadElements(retentionTimeAlignments); reader.ReadEndElement(); } RetentionTimeAlignments = ResultNameMap.FromNamedElements(retentionTimeAlignments); }
public void ReadXml(XmlReader reader) { if (RetentionTimeSources != null || FileAlignments != null) { throw new InvalidOperationException(); } var sources = new List <RetentionTimeSource>(); var fileAlignments = new List <FileRetentionTimeAlignments>(); if (reader.IsEmptyElement) { reader.Read(); } else { reader.Read(); reader.ReadElements(sources); reader.ReadElements(fileAlignments); reader.ReadEndElement(); } RetentionTimeSources = ResultNameMap.FromNamedElements(sources); FileAlignments = ResultNameMap.FromNamedElements(fileAlignments); }
public DocumentRetentionTimes(IEnumerable <RetentionTimeSource> sources, IEnumerable <FileRetentionTimeAlignments> fileAlignments) : this() { RetentionTimeSources = ResultNameMap.FromNamedElements(sources); FileAlignments = ResultNameMap.FromNamedElements(fileAlignments); }
private static ResultNameMap <string> ResultMapFromStrings(IEnumerable <string> strings) { return(ResultNameMap.FromKeyValuePairs(strings.Select(s => new KeyValuePair <string, string>(s, s)))); }
public FileRetentionTimeAlignments(string dataFileName, IEnumerable <RetentionTimeAlignment> alignments) : base(dataFileName) { RetentionTimeAlignments = ResultNameMap.FromNamedElements(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); }
public void ReadXml(XmlReader reader) { if (RetentionTimeSources != null || FileAlignments != null) { throw new InvalidOperationException(); } var sources = new List<RetentionTimeSource>(); var fileAlignments = new List<FileRetentionTimeAlignments>(); if (reader.IsEmptyElement) { reader.Read(); } else { reader.Read(); reader.ReadElements(sources); reader.ReadElements(fileAlignments); reader.ReadEndElement(); } RetentionTimeSources = ResultNameMap.FromNamedElements(sources); FileAlignments = ResultNameMap.FromNamedElements(fileAlignments); }
public static ResultNameMap<IDictionary<string, double>> ReadAllRetentionTimes(SrmDocument document, ResultNameMap<RetentionTimeSource> sources) { var allRetentionTimes = new Dictionary<string, IDictionary<string, double>>(); foreach (var source in sources) { var library = document.Settings.PeptideSettings.Libraries.GetLibrary(source.Value.Library); if (null == library) { continue; } LibraryRetentionTimes libraryRetentionTimes; if (!library.TryGetRetentionTimes(MsDataFileUri.Parse(source.Value.Name), out libraryRetentionTimes)) { continue; } allRetentionTimes.Add(source.Key, libraryRetentionTimes.GetFirstRetentionTimes()); } return ResultNameMap.FromDictionary(allRetentionTimes); }
public static ResultNameMap<RetentionTimeSource> ListSourcesForResults(MeasuredResults results, ResultNameMap<RetentionTimeSource> availableSources) { if (results == null) { return ResultNameMap<RetentionTimeSource>.EMPTY; } var sourcesForResults = results.Chromatograms .SelectMany(chromatogramSet => chromatogramSet.MSDataFileInfos) .Select(availableSources.Find); return ResultNameMap.FromNamedElements(sourcesForResults.Where(source => null != source)); }