private void TestPeptide(Workspace workspace, PeakFinderPeptide peakFinderPeptide) { DbPeptideFileAnalysis dbPeptideFileAnalysis; using (var session = workspace.OpenSession()) { dbPeptideFileAnalysis = (DbPeptideFileAnalysis)session.CreateQuery( "FROM DbPeptideFileAnalysis T WHERE T.MsDataFile.Name = :dataFile AND T.PeptideAnalysis.Peptide.Sequence = :sequence") .SetParameter("dataFile", peakFinderPeptide.DataFile) .SetParameter("sequence", peakFinderPeptide.PeptideSequence) .UniqueResult(); } PeptideAnalysis peptideAnalysis = workspace.PeptideAnalyses.FindByKey(dbPeptideFileAnalysis.PeptideAnalysis.Id.GetValueOrDefault()); using (peptideAnalysis.IncChromatogramRefCount()) { workspace.DatabasePoller.LoadAndMergeChanges(new Dictionary <long, bool> { { peptideAnalysis.Id, true } }); PeptideFileAnalysis peptideFileAnalysis = peptideAnalysis.GetFileAnalysis(dbPeptideFileAnalysis.Id.GetValueOrDefault()); var peaks = CalculatedPeaks.Calculate(peptideFileAnalysis, new CalculatedPeaks[0]); const string format = "0.000"; Assert.AreEqual( peakFinderPeptide.ExpectedPeakStart.ToString(format) + "-" + peakFinderPeptide.ExpectedPeakEnd.ToString(format), (peaks.StartTime.GetValueOrDefault() / 60).ToString(format) + "-" + (peaks.EndTime.GetValueOrDefault() / 60).ToString(format), peakFinderPeptide.PeptideSequence); } }
private void TestPeptide(Workspace workspace, PeakFinderPeptide peakFinderPeptide) { DbPeptideFileAnalysis dbPeptideFileAnalysis; using (var session = workspace.OpenSession()) { dbPeptideFileAnalysis = (DbPeptideFileAnalysis) session.CreateQuery( "FROM DbPeptideFileAnalysis T WHERE T.MsDataFile.Name = :dataFile AND T.PeptideAnalysis.Peptide.Sequence = :sequence") .SetParameter("dataFile", peakFinderPeptide.DataFile) .SetParameter("sequence", peakFinderPeptide.PeptideSequence) .UniqueResult(); } PeptideAnalysis peptideAnalysis = workspace.PeptideAnalyses.FindByKey(dbPeptideFileAnalysis.PeptideAnalysis.Id.GetValueOrDefault()); using (peptideAnalysis.IncChromatogramRefCount()) { workspace.DatabasePoller.LoadAndMergeChanges(new Dictionary<long, bool> {{peptideAnalysis.Id, true}}); PeptideFileAnalysis peptideFileAnalysis = peptideAnalysis.GetFileAnalysis(dbPeptideFileAnalysis.Id.GetValueOrDefault()); var peaks = CalculatedPeaks.Calculate(peptideFileAnalysis, new CalculatedPeaks[0]); const string format = "0.000"; Assert.AreEqual( peakFinderPeptide.ExpectedPeakStart.ToString(format) + "-" + peakFinderPeptide.ExpectedPeakEnd.ToString(format), (peaks.StartTime.GetValueOrDefault() / 60).ToString(format) + "-" + (peaks.EndTime.GetValueOrDefault() / 60).ToString(format), peakFinderPeptide.PeptideSequence); } }
private void AddPeptide(Workspace workspace, PeakFinderPeptide peakFinderPeptide) { var msDataFile = GetMsDataFile(workspace, peakFinderPeptide.DataFile); Peptide peptide; using (var session = workspace.OpenWriteSession()) { var dbMsDataFile = new DbMsDataFile { Name = peakFinderPeptide.DataFile, Label = peakFinderPeptide.DataFile, }; if (msDataFile == null) { session.BeginTransaction(); session.Save(dbMsDataFile); session.Transaction.Commit(); } workspace.DatabasePoller.LoadAndMergeChanges(null); msDataFile = workspace.MsDataFiles.FindByKey(dbMsDataFile.GetId()); var dbPeptide = (DbPeptide) session.CreateCriteria <DbPeptide>().Add(Restrictions.Eq("Sequence", peakFinderPeptide.PeptideSequence)). UniqueResult(); if (dbPeptide == null) { dbPeptide = new DbPeptide { FullSequence = peakFinderPeptide.PeptideSequence, Sequence = peakFinderPeptide.PeptideSequence, }; session.BeginTransaction(); session.Save(dbPeptide); session.Transaction.Commit(); } session.BeginTransaction(); session.Save(new DbPeptideSpectrumMatch { RetentionTime = peakFinderPeptide.FirstDetectedTime * 60, PrecursorCharge = peakFinderPeptide.MinCharge, Peptide = dbPeptide, MsDataFile = session.Load <DbMsDataFile>(msDataFile.Id), }); if (peakFinderPeptide.LastDetectedTime != peakFinderPeptide.FirstDetectedTime) { session.Save(new DbPeptideSpectrumMatch { RetentionTime = peakFinderPeptide.LastDetectedTime * 60, PrecursorCharge = peakFinderPeptide.MaxCharge, Peptide = dbPeptide, MsDataFile = session.Load <DbMsDataFile>(msDataFile.Id), }); } session.Transaction.Commit(); peptide = new Peptide(workspace, dbPeptide); } MsDataFileUtil.InitMsDataFile(workspace, msDataFile); var peptideAnalysis = peptide.EnsurePeptideAnalysis(); if (peptideAnalysis == null) { Assert.Fail(); } PeptideFileAnalysis.EnsurePeptideFileAnalysis(peptideAnalysis, msDataFile); }
private void AddPeptide(Workspace workspace, PeakFinderPeptide peakFinderPeptide) { var msDataFile = GetMsDataFile(workspace, peakFinderPeptide.DataFile); Peptide peptide; using (var session = workspace.OpenWriteSession()) { var dbMsDataFile = new DbMsDataFile { Name = peakFinderPeptide.DataFile, Label = peakFinderPeptide.DataFile, }; if (msDataFile == null) { session.BeginTransaction(); session.Save(dbMsDataFile); session.Transaction.Commit(); } workspace.DatabasePoller.LoadAndMergeChanges(null); msDataFile = workspace.MsDataFiles.FindByKey(dbMsDataFile.GetId()); var dbPeptide = (DbPeptide) session.CreateCriteria<DbPeptide>().Add(Restrictions.Eq("Sequence", peakFinderPeptide.PeptideSequence)). UniqueResult(); if (dbPeptide == null) { dbPeptide = new DbPeptide { FullSequence = peakFinderPeptide.PeptideSequence, Sequence = peakFinderPeptide.PeptideSequence, }; session.BeginTransaction(); session.Save(dbPeptide); session.Transaction.Commit(); } session.BeginTransaction(); session.Save(new DbPeptideSpectrumMatch { RetentionTime = peakFinderPeptide.FirstDetectedTime * 60, PrecursorCharge = peakFinderPeptide.MinCharge, Peptide = dbPeptide, MsDataFile = session.Load<DbMsDataFile>(msDataFile.Id), }); if (peakFinderPeptide.LastDetectedTime != peakFinderPeptide.FirstDetectedTime) { session.Save(new DbPeptideSpectrumMatch { RetentionTime = peakFinderPeptide.LastDetectedTime * 60, PrecursorCharge = peakFinderPeptide.MaxCharge, Peptide = dbPeptide, MsDataFile = session.Load<DbMsDataFile>(msDataFile.Id), }); } session.Transaction.Commit(); peptide = new Peptide(workspace, dbPeptide); } MsDataFileUtil.InitMsDataFile(workspace, msDataFile); var peptideAnalysis = peptide.EnsurePeptideAnalysis(); if (peptideAnalysis == null) { Assert.Fail(); } PeptideFileAnalysis.EnsurePeptideFileAnalysis(peptideAnalysis, msDataFile); }