//[TestMethod] public void TestDdaSmall() { ChorusAccount TEST_ACCOUNT = new ChorusAccount("https://chorusproject.org", "*****@*****.**", "pwd"); var stream = typeof(ChromTaskListTest).Assembly.GetManifestResourceStream(typeof(ChromTaskListTest), "DdaSmall.ChorusRequest.xml"); Assert.IsNotNull(stream); var chromatogramRequest = (ChromatogramRequestDocument) new XmlSerializer(typeof(ChromatogramRequestDocument)).Deserialize(stream); var chromTaskList = new ChromTaskList(() => { }, new SrmDocument(SrmSettingsList.GetDefault()), TEST_ACCOUNT, TEST_ACCOUNT.GetChorusUrl().SetFileId(28836), ChromTaskList.ChunkChromatogramRequest(chromatogramRequest, 100)); chromTaskList.SetMinimumSimultaneousTasks(10); var failedTasks = new HashSet <ChromatogramGeneratorTask>(); foreach (var chromKey in chromTaskList.ChromKeys) { TimeIntensities timeIntensities; chromTaskList.GetChromatogram(chromKey, out timeIntensities); if (null == timeIntensities) { var task = chromTaskList.GetGeneratorTask(chromKey); if (failedTasks.Add(task)) { var memoryStream = new MemoryStream(); var xmlWriter = XmlWriter.Create(memoryStream, new XmlWriterSettings { Encoding = Encoding.UTF8 }); new XmlSerializer(typeof(ChromatogramRequestDocument)).Serialize(xmlWriter, task.ChromatogramRequestDocument); Console.Out.WriteLine("Failed to get data for {0}", Encoding.UTF8.GetString(memoryStream.ToArray())); } } } Assert.AreEqual(0, failedTasks.Count); }
public override bool GetChromatogram( int id, Target modifiedSequence, Color peptideColor, out ChromExtra extra, out TimeIntensities timeIntensities) { bool loaded = false; extra = null; timeIntensities = null; int idRemain = id; for (int iTaskList = 0; iTaskList < _chromatogramRequestProviders.Length; iTaskList++) { ChromatogramRequestProvider requestProvider = _chromatogramRequestProviders[iTaskList]; if (requestProvider.ChromKeys.Count <= idRemain) { idRemain -= requestProvider.ChromKeys.Count; continue; } ChromTaskList chromTaskList = _chromTaskLists[iTaskList]; if (null == chromTaskList) { chromTaskList = _chromTaskLists[iTaskList] = new ChromTaskList(CheckCancelled, _document, _chorusAccount, requestProvider.ChorusUrl, ChromTaskList.ChunkChromatogramRequest(requestProvider.GetChromatogramRequest(), 1000)); chromTaskList.SetMinimumSimultaneousTasks(3); } ChromKey chromKey = requestProvider.ChromKeys[idRemain]; loaded = chromTaskList.GetChromatogram(chromKey, out timeIntensities); if (loaded) { extra = new ChromExtra(id, chromKey.Precursor == 0 ? 0 : -1); if (chromKey.Precursor.IsNegative) { _sourceHasNegativePolarityData = true; } else { _sourceHasPositivePolarityData = true; } if (timeIntensities.NumPoints > 0 && Status is ChromatogramLoadingStatus) { ((ChromatogramLoadingStatus)Status).Transitions.AddTransition( modifiedSequence, peptideColor, extra.StatusId, extra.StatusRank, timeIntensities.Times, timeIntensities.Intensities); } } break; } int percentComplete = _chromTaskLists.Sum(taskList => taskList == null ? 0 : taskList.PercentComplete) / _chromTaskLists.Length; percentComplete = Math.Min(percentComplete, 99); SetPercentComplete(percentComplete); return(loaded); }
public override bool GetChromatogram( int id, string modifiedSequence, Color peptideColor, out ChromExtra extra, out float[] times, out int[] scanIndexes, out float[] intensities, out float[] massErrors) { bool loaded = false; extra = null; times = null; scanIndexes = null; intensities = null; massErrors = null; int idRemain = id; for (int iTaskList = 0; iTaskList < _chromatogramRequestProviders.Length; iTaskList++) { ChromatogramRequestProvider requestProvider = _chromatogramRequestProviders[iTaskList]; if (requestProvider.ChromKeys.Count <= idRemain) { idRemain -= requestProvider.ChromKeys.Count; continue; } ChromTaskList chromTaskList = _chromTaskLists[iTaskList]; if (null == chromTaskList) { chromTaskList = _chromTaskLists[iTaskList] = new ChromTaskList(CheckCancelled, _document, _chorusAccount, requestProvider.ChorusUrl, ChromTaskList.ChunkChromatogramRequest(requestProvider.GetChromatogramRequest(), 1000)); chromTaskList.SetMinimumSimultaneousTasks(3); } ChromKey chromKey = requestProvider.ChromKeys[idRemain]; loaded = chromTaskList.GetChromatogram(chromKey, out times, out scanIndexes, out intensities, out massErrors); if (loaded) { extra = new ChromExtra(id, chromKey.Precursor == 0 ? 0 : -1); if (times.Length > 0) { LoadingStatus.Transitions.AddTransition( modifiedSequence, peptideColor, extra.StatusId, extra.StatusRank, times, intensities); } } break; } int percentComplete = _chromTaskLists.Sum(taskList => taskList == null ? 0 : taskList.PercentComplete) / _chromTaskLists.Length; percentComplete = Math.Min(percentComplete, 99); SetPercentComplete(percentComplete); return(loaded); }