예제 #1
0
        //[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)
            {
                float[] times;
                float[] intensities;
                float[] massErrors;
                int[] scanIds;
                chromTaskList.GetChromatogram(chromKey, out times, out scanIds, out intensities, out massErrors);
                if (null == times)
                {
                    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 void TestThermoDIA()
        {
            if (!RunPerfTests)
                return; // PerfTests only run when the global "allow perf tests" flag is set

            var xmlSerializer = new XmlSerializer(typeof (ChromatogramRequestDocument));
            var stream = typeof (PerfChorusGenerateChromatograms).Assembly.GetManifestResourceStream(
                typeof (PerfChorusGenerateChromatograms), "ThermoDIA.ChorusRequest.xml");
            Assert.IsNotNull(stream);
            var chromatogramRequestDocument = (ChromatogramRequestDocument) xmlSerializer.Deserialize(stream);
            var chorusUrl = TEST_ACCOUNT.GetChorusUrl().SetFileId(28836);
            var srmDocument = new SrmDocument(SrmSettingsList.GetDefault());
            DateTime startTime = DateTime.Now;
            ChromTaskList chromTaskList = new ChromTaskList(()=>{}, srmDocument, TEST_ACCOUNT, chorusUrl, new[]{chromatogramRequestDocument});
            chromTaskList.SetMinimumSimultaneousTasks(2);
            while (chromTaskList.PercentComplete < 100)
            {
                Thread.Sleep(100);
            }
            DateTime endTime = DateTime.Now;
            Assert.AreEqual(0, chromTaskList.ListExceptions().Count);
            Console.Out.WriteLine("Elapsed time {0}", endTime.Subtract(startTime));
        }