Пример #1
0
 public void SetTaskScheduler(TaskScheduler taskScheduler)
 {
     _taskScheduler = taskScheduler;
     if (_taskScheduler != null)
     {
         if (SessionFactory == null)
         {
             OpenSessionFactory();
         }
         _databasePoller = _databasePoller ?? new DatabasePoller(this);
         _databasePoller.Start();
         _resultCalculator = _resultCalculator ?? new ResultCalculator(this);
         _resultCalculator.Start();
         _chromatogramGenerator = _chromatogramGenerator ?? new ChromatogramGenerator(this);
         _chromatogramGenerator.Start();
     }
     else
     {
         if (null != _chromatogramGenerator)
         {
             _chromatogramGenerator.Stop();
         }
         if (null != _resultCalculator)
         {
             _resultCalculator.Stop();
         }
         if (null != _databasePoller)
         {
             _databasePoller.Stop();
         }
         CloseSessionFactory();
     }
 }
        public PeakChromatogramGenerator(double tolerance, Globals.ChromatogramGeneratorMode chromMode,
                                         Globals.IsotopicProfileType isotopicProfileTarget, Globals.ToleranceUnit toleranceUnit = Globals.ToleranceUnit.PPM)
        {
            Tolerance = tolerance;
            ChromatogramGeneratorMode = chromMode;
            IsotopicProfileTarget     = isotopicProfileTarget;

            TopNPeaksLowerCutOff = 0.3;
            ChromWindowWidthForNonAlignedData = 0.4f;
            ChromWindowWidthForAlignedData    = 0.1f;

            ToleranceUnit = toleranceUnit;

            _chromGen = new ChromatogramGenerator();
        }
Пример #3
0
        private void GenerateChromatogramsBackground(DbMsDataFile msDataFile)
        {
            ChromatogramGenerator chromatogramGenerator = new ChromatogramGenerator(Workspace);

            chromatogramGenerator.GenerateChromatograms(msDataFile, new List <AnalysisChromatograms> {
                new AnalysisChromatograms(PeptideAnalysis)
            }, UpdateChromatogramProgress);
            SafeBeginInvoke(delegate
            {
                HasChromatograms        = true;
                WaitingForChromatograms = false;
                progressBar1.Visible    = false;
                tbxStatus.Text          = "";
            });
        }
Пример #4
0
        public void getPeakChromatogramUsingChromGenTest1()
        {
            var    targetMZ       = 831.48;
            double toleranceInPPM = 20;

            Run run = new XCaliburRun2(FileRefs.RawDataMSFiles.OrbitrapStdFile1);

            var peakImporter = new DeconTools.Backend.Data.PeakImporterFromText(FileRefs.PeakDataFiles.OrbitrapPeakFile_scans5500_6500);

            peakImporter.ImportPeaks(run.ResultCollection.MSPeakResultList);

            var chromGen = new ChromatogramGenerator();

            run.XYData = chromGen.GenerateChromatogram(run.ResultCollection.MSPeakResultList, run.MinLCScan, run.MaxLCScan, targetMZ, toleranceInPPM, 1);

            for (var i = 0; i < run.XYData.Xvalues.Length; i++)
            {
                run.XYData.Xvalues[i] = run.GetTime(i);
            }

            // run.XYData.Display();


            var counter    = 0;
            var sb         = new StringBuilder();
            var sortedList = run.ResultCollection.MSPeakResultList.OrderBy(p => p.MSPeak.XValue);

            foreach (var peak in sortedList)
            {
                counter++;
                if (peak.MSPeak.XValue > (targetMZ - 0.1) && peak.MSPeak.XValue < (targetMZ + 0.1))
                {
                    sb.Append(peak.ChromID);
                    sb.Append("\t");
                    sb.Append(peak.PeakID);
                    sb.Append("\t");
                    sb.Append(peak.Scan_num);
                    sb.Append("\t");
                    sb.Append(peak.MSPeak.XValue);
                    sb.Append("\t");
                    sb.Append(peak.MSPeak.Height);
                    sb.Append(Environment.NewLine);
                }
            }

            Console.WriteLine(sb.ToString());
        }
Пример #5
0
 public void Dispose()
 {
     if (null != _chromatogramGenerator)
     {
         _chromatogramGenerator.Dispose();
         _chromatogramGenerator = null;
     }
     if (null != _databasePoller)
     {
         _databasePoller.Dispose();
         _databasePoller = null;
     }
     if (null != _resultCalculator)
     {
         _resultCalculator.Dispose();
         _resultCalculator = null;
     }
 }
Пример #6
0
        public void getPeakChromAndStoreInPeakChromObject_Test1()
        {
            double chromToleranceInPPM = 20;
            var    targetMZ            = 831.48;


            Run run = new XCaliburRun2(FileRefs.RawDataMSFiles.OrbitrapStdFile1);

            var peakImporter = new DeconTools.Backend.Data.PeakImporterFromText(FileRefs.PeakDataFiles.OrbitrapPeakFile_scans5500_6500);

            peakImporter.ImportPeaks(run.ResultCollection.MSPeakResultList);

            var chromGen = new ChromatogramGenerator();

            PeakChrom chrom = new BasicPeakChrom();

            chrom.ChromSourceData = chromGen.GeneratePeakChromatogram(run.ResultCollection.MSPeakResultList, run.MinLCScan, run.MaxLCScan, targetMZ, chromToleranceInPPM);

            Assert.AreEqual(59, chrom.ChromSourceData.Count);
        }
Пример #7
0
        public void getPeakChromatogramInTheFormOfMSPeakResult_Test1()
        {
            double chromToleranceInPPM = 20;
            var    targetMZ            = 831.48;


            Run run = new XCaliburRun2(FileRefs.RawDataMSFiles.OrbitrapStdFile1);

            var peakImporter = new DeconTools.Backend.Data.PeakImporterFromText(FileRefs.PeakDataFiles.OrbitrapPeakFile_scans5500_6500);

            peakImporter.ImportPeaks(run.ResultCollection.MSPeakResultList);


            var chromGen        = new ChromatogramGenerator();
            var filteredMSPeaks = chromGen.GeneratePeakChromatogram(run.ResultCollection.MSPeakResultList, run.MinLCScan, run.MaxLCScan, targetMZ, chromToleranceInPPM);

            //Assert.AreEqual(56, filteredMSPeaks.Count);

            TestUtilities.DisplayMSPeakResults(filteredMSPeaks);
        }
Пример #8
0
        public void getChromatogramsSpeedTest1()
        {
            var    targetMZ       = 831.48;
            double toleranceInPPM = 20;

            var totalIterations = 40;


            Run run = new XCaliburRun2(FileRefs.RawDataMSFiles.OrbitrapStdFile1);

            var peakImporter = new DeconTools.Backend.Data.PeakImporterFromText(FileRefs.PeakDataFiles.OrbitrapPeakFile1);

            peakImporter.ImportPeaks(run.ResultCollection.MSPeakResultList);

            var chromGen = new ChromatogramGenerator();

            var speedResults = new List <long>();

            var sw = new Stopwatch();

            var startScan = 5500;
            var stopScan  = 8500;


            for (var i = 0; i < totalIterations; i++)
            {
                sw.Reset();
                sw.Start();

                run.XYData = chromGen.GenerateChromatogram(run.ResultCollection.MSPeakResultList, startScan, stopScan, (targetMZ + totalIterations), toleranceInPPM, 1);
                sw.Stop();

                speedResults.Add(sw.ElapsedMilliseconds);
            }

            Console.WriteLine("Average time = " + speedResults.Average());
        }
Пример #9
0
        public void TestChromatogramGenerator()
        {
            String dbPath = Path.Combine(TestContext.TestDir, "test" + Guid.NewGuid() + ".tpg");

            using (var sessionFactory = SessionFactoryFactory.CreateSessionFactory(dbPath, SessionFactoryFlags.CreateSchema))
            {
                using (var session = sessionFactory.OpenSession())
                {
                    session.BeginTransaction();
                    DbWorkspace dbWorkspace = new DbWorkspace
                    {
                        TracerDefCount = 1,
                    };
                    session.Save(dbWorkspace);
                    DbTracerDef dbTracerDef = TracerDef.GetN15Enrichment();
                    dbTracerDef.Workspace = dbWorkspace;
                    dbTracerDef.Name      = "Tracer";

                    session.Save(dbTracerDef);
                    session.Save(new DbSetting
                    {
                        Workspace = dbWorkspace,
                        Name      = SettingEnum.data_directory.ToString(),
                        Value     = GetDataDirectory()
                    });
                    session.Transaction.Commit();
                }
            }
            Workspace workspace = new Workspace(dbPath);

            workspace.SetTaskScheduler(TaskScheduler.Default);
            var dbMsDataFile = new DbMsDataFile
            {
                Name = "20090724_HT3_0",
            };

            using (var session = workspace.OpenWriteSession())
            {
                session.BeginTransaction();
                session.Save(dbMsDataFile);
                session.Transaction.Commit();
            }
            workspace.DatabasePoller.LoadAndMergeChanges(null);
            var msDataFile = workspace.MsDataFiles.FindByKey(dbMsDataFile.GetId());

            Assert.IsTrue(MsDataFileUtil.InitMsDataFile(workspace, msDataFile));
            DbPeptide dbPeptide;

            using (var session = workspace.OpenWriteSession())
            {
                session.BeginTransaction();
                dbPeptide = new DbPeptide
                {
                    Protein      = "TestProtein",
                    Sequence     = "YLAAYLLLVQGGNAAPSAADIK",
                    FullSequence = "K.YLAAYLLLVQGGNAAPSAADIK.A",
                };
                session.Save(dbPeptide);
                var searchResult = new DbPeptideSpectrumMatch
                {
                    Peptide         = dbPeptide,
                    MsDataFile      = session.Load <DbMsDataFile>(msDataFile.Id),
                    PrecursorCharge = 3,
                    RetentionTime   = 20.557 * 60,
                };
                session.Save(searchResult);
                session.Transaction.Commit();
            }
            var peptide         = new Peptide(workspace, dbPeptide);
            var peptideAnalysis = peptide.EnsurePeptideAnalysis();

            peptideAnalysis.IncChromatogramRefCount();
            var peptideFileAnalysis = PeptideFileAnalysis.EnsurePeptideFileAnalysis(peptideAnalysis, msDataFile);

            workspace.DatabasePoller.LoadAndMergeChanges(null);
            peptideAnalysis.IncChromatogramRefCount();
            var chromatogramGenerator = new ChromatogramGenerator(workspace);

            chromatogramGenerator.Start();
            while (peptideFileAnalysis.ChromatogramSet == null)
            {
                Thread.Sleep(100);
            }
            var chromatogramDatas = peptideFileAnalysis.GetChromatograms();

            Assert.IsFalse(chromatogramDatas.Chromatograms.Count == 0);
            chromatogramGenerator.Stop();
            while (chromatogramGenerator.IsThreadAlive)
            {
                Thread.Sleep(100);
            }
        }