public void GetDistributionTest1() { //I got the data below from file: QC_Shew_08_04-pt5-2_11Jan09_Sphinx_08-11-18.RAW // scan = 6067 //can use this as a means of overlaying the mercury data on the actual data double mz = 1154.98841279744; //mono MZ int chargestate = 2; double fwhm = 0.0290254950523376; //from second peak of isotopic profile double monoMass = 1154.98841279744 * chargestate - chargestate * 1.00727649; double resolution = mz / fwhm; MercuryDistributionCreator distcreator = new MercuryDistributionCreator(); distcreator.CreateDistribution(monoMass, chargestate, resolution); Assert.AreEqual(3778, distcreator.Data.Xvalues.Length); Assert.AreEqual("C103H151N28O31S1", distcreator.MolecularFormula.ToFormulaString()); //MolecularFormula.Phosphorus. StringBuilder sb = new StringBuilder(); TestUtilities.GetXYValuesToStringBuilder(sb, distcreator.Data.Xvalues, distcreator.Data.Yvalues); Console.Write(sb.ToString()); }
public void compareTomIsotopicDist_with_Mercury() { double mz = 1154.98841279744; //mono MZ int chargestate = 2; double fwhm = 0.0290254950523376; //from second peak of isotopic profile double monoMass = 1154.98841279744 * chargestate - chargestate * 1.00727649; double resolution = mz / fwhm; MercuryDistributionCreator distcreator = new MercuryDistributionCreator(); distcreator.CreateDistribution(monoMass, chargestate, resolution); distcreator.getIsotopicProfile(); Assert.AreEqual(8, distcreator.IsotopicProfile.GetNumOfIsotopesInProfile()); StringBuilder sb = new StringBuilder(); TestUtilities.ReportIsotopicProfileData(sb, distcreator.IsotopicProfile); IsotopicProfile cluster = TomIsotopicPattern.GetAvnPattern(monoMass, false); sb.Append(Environment.NewLine); TestUtilities.ReportIsotopicProfileData(sb, cluster); Console.Write(sb.ToString()); }
public void effectOfFWHMOnFitTest() { Run run = new XCaliburRun2(xcaliburTestfile); var results = new ResultCollection(run); run.CurrentScanSet = new ScanSet(6005); var isTicRequested = false; Task msGen = new GenericMSGenerator(1154, 1160, isTicRequested); msGen.Execute(results); Task peakDetector = new DeconToolsPeakDetectorV2(0.5, 3, Globals.PeakFitType.QUADRATIC, false); peakDetector.Execute(results); Task decon = new HornDeconvolutor(); decon.Execute(results); var result1 = results.ResultList[0]; var resolution = result1.IsotopicProfile.GetMZofMostAbundantPeak() / result1.IsotopicProfile.GetFWHM(); var distcreator = new MercuryDistributionCreator(); distcreator.CreateDistribution(result1.IsotopicProfile.MonoIsotopicMass, result1.IsotopicProfile.ChargeState, resolution); distcreator.OffsetDistribution(result1.IsotopicProfile); var sb = new StringBuilder(); var areafitter = new AreaFitter(); var fitval = areafitter.GetFit(distcreator.Data, run.XYData, 10); sb.Append(resolution); sb.Append("\t"); sb.Append(fitval); sb.Append("\n"); for (var fwhm = 0.001; fwhm < 0.050; fwhm = fwhm + 0.0005) { distcreator = new MercuryDistributionCreator(); resolution = result1.IsotopicProfile.GetMZofMostAbundantPeak() / fwhm; distcreator.CreateDistribution(result1.IsotopicProfile.MonoIsotopicMass, result1.IsotopicProfile.ChargeState, resolution); distcreator.OffsetDistribution(result1.IsotopicProfile); areafitter = new AreaFitter(); fitval = areafitter.GetFit(distcreator.Data, run.XYData, 10); sb.Append(resolution); sb.Append("\t"); sb.Append(fitval); sb.Append("\n"); } //Console.Write(sb.ToString()); }
public void fitterOnHornDataTest1() { Run run = new XCaliburRun(xcaliburTestfile); ResultCollection results = new ResultCollection(run); run.CurrentScanSet = new ScanSet(6067); Task msGen = new GenericMSGenerator(1154, 1158); msGen.Execute(results); DeconToolsV2.Peaks.clsPeakProcessorParameters detectorParams = new DeconToolsV2.Peaks.clsPeakProcessorParameters(); detectorParams.PeakBackgroundRatio = 0.5; detectorParams.PeakFitType = DeconToolsV2.Peaks.PEAK_FIT_TYPE.QUADRATIC; detectorParams.SignalToNoiseThreshold = 3; detectorParams.ThresholdedData = false; Task peakDetector = new DeconToolsPeakDetector(detectorParams); peakDetector.Execute(results); DeconToolsV2.HornTransform.clsHornTransformParameters hornParameters = new DeconToolsV2.HornTransform.clsHornTransformParameters(); hornParameters.PeptideMinBackgroundRatio = 2; Task decon = new HornDeconvolutor(hornParameters); decon.Execute(results); IsosResult result1 = results.ResultList[0]; MercuryDistributionCreator distcreator = new MercuryDistributionCreator(); double resolution = result1.IsotopicProfile.GetMZofMostAbundantPeak() / result1.IsotopicProfile.GetFWHM(); distcreator.CreateDistribution(result1.IsotopicProfile.MonoIsotopicMass, result1.IsotopicProfile.ChargeState, resolution); distcreator.OffsetDistribution(result1.IsotopicProfile); XYData theorXYData = distcreator.Data; StringBuilder sb = new StringBuilder(); TestUtilities.GetXYValuesToStringBuilder(sb, theorXYData.Xvalues, theorXYData.Yvalues); Console.WriteLine(sb.ToString()); AreaFitter areafitter = new AreaFitter(theorXYData, run.XYData, 10); double fitval = areafitter.getFit(); Console.WriteLine(result1.IsotopicProfile.Score + "\t" + fitval); Console.WriteLine((result1.IsotopicProfile.Score - fitval) / result1.IsotopicProfile.Score); Assert.AreEqual(0.0209385414928986, (decimal)fitval); //TODO: fix this test... i'm getting 0.0207350903681061m }
public void fitterOnHornDataTest2() { Run run = new XCaliburRun(xcaliburTestfile); ResultCollection results = new ResultCollection(run); run.CurrentScanSet = new ScanSet(6005); Task msGen = new GenericMSGenerator(579, 582); msGen.Execute(results); DeconToolsV2.Peaks.clsPeakProcessorParameters detectorParams = new DeconToolsV2.Peaks.clsPeakProcessorParameters(); detectorParams.PeakBackgroundRatio = 0.5; detectorParams.PeakFitType = DeconToolsV2.Peaks.PEAK_FIT_TYPE.QUADRATIC; detectorParams.SignalToNoiseThreshold = 3; detectorParams.ThresholdedData = false; Task peakDetector = new DeconToolsPeakDetector(detectorParams); peakDetector.Execute(results); Task decon = new HornDeconvolutor(); decon.Execute(results); IsosResult result1 = results.ResultList[1]; double resolution = result1.IsotopicProfile.GetMZofMostAbundantPeak() / result1.IsotopicProfile.GetFWHM(); MercuryDistributionCreator distcreator = new MercuryDistributionCreator(); distcreator.CreateDistribution(result1.IsotopicProfile.MonoIsotopicMass, result1.IsotopicProfile.ChargeState, resolution); StringBuilder sb = new StringBuilder(); XYData theorXYData = distcreator.Data; //TestUtilities.GetXYValuesToStringBuilder(sb, theorXYData.Xvalues, theorXYData.Yvalues); distcreator.OffsetDistribution(result1.IsotopicProfile); TestUtilities.GetXYValuesToStringBuilder(sb, theorXYData.Xvalues, theorXYData.Yvalues); Console.WriteLine(sb.ToString()); AreaFitter areafitter = new AreaFitter(theorXYData, run.XYData, 10); double fitval = areafitter.getFit(); Console.WriteLine(result1.IsotopicProfile.Score + "\t" + fitval); Console.WriteLine((result1.IsotopicProfile.Score - fitval) / result1.IsotopicProfile.Score * 100); Assert.AreEqual(0.0704215577242672, (decimal)fitval); }
public void fitterOnRapidDataTest1() { Run run = new XCaliburRun2(xcaliburTestfile); ResultCollection results = new ResultCollection(run); run.CurrentScanSet = new ScanSet(6067); bool isTicRequested = false; Task msGen = new GenericMSGenerator(1154, 1158, isTicRequested); msGen.Execute(results); DeconToolsV2.Peaks.clsPeakProcessorParameters detectorParams = new DeconToolsV2.Peaks.clsPeakProcessorParameters(); detectorParams.PeakBackgroundRatio = 0.5; detectorParams.PeakFitType = DeconToolsV2.Peaks.PEAK_FIT_TYPE.QUADRATIC; detectorParams.SignalToNoiseThreshold = 3; detectorParams.ThresholdedData = false; Task peakDetector = new DeconToolsPeakDetectorV2(detectorParams); peakDetector.Execute(results); Task decon = new RapidDeconvolutor(); decon.Execute(results); IsosResult result1 = results.ResultList[0]; double resolution = result1.IsotopicProfile.GetMZofMostAbundantPeak() / result1.IsotopicProfile.GetFWHM(); MercuryDistributionCreator distcreator = new MercuryDistributionCreator(); distcreator.CreateDistribution(result1.IsotopicProfile.MonoIsotopicMass, result1.IsotopicProfile.ChargeState, resolution); distcreator.OffsetDistribution(result1.IsotopicProfile); XYData theorXYData = distcreator.Data; // theorXYData.Display(); AreaFitter areafitter = new AreaFitter(); double fitval = areafitter.GetFit(theorXYData, run.XYData, 10); Console.WriteLine(result1.IsotopicProfile.Score + "\t" + fitval); Console.WriteLine((result1.IsotopicProfile.Score - fitval) / result1.IsotopicProfile.Score * 100); Assert.AreEqual(0.0207350903681061m, (decimal)fitval); }
public void fitterOnHornDataTest1() { Run run = new XCaliburRun2(xcaliburTestfile); var results = new ResultCollection(run); run.CurrentScanSet = new ScanSet(6067); var isTicRequested = false; Task msGen = new GenericMSGenerator(1154, 1158, isTicRequested); msGen.Execute(results); Task peakDetector = new DeconToolsPeakDetectorV2(0.5, 3, Globals.PeakFitType.QUADRATIC, false); peakDetector.Execute(results); var deconParameters = new DeconToolsParameters(); deconParameters.ThrashParameters.MinMSFeatureToBackgroundRatio = 2; // PeptideMinBackgroundRatio Task decon = new HornDeconvolutor(deconParameters); decon.Execute(results); var result1 = results.ResultList[0]; var distcreator = new MercuryDistributionCreator(); var resolution = result1.IsotopicProfile.GetMZofMostAbundantPeak() / result1.IsotopicProfile.GetFWHM(); distcreator.CreateDistribution(result1.IsotopicProfile.MonoIsotopicMass, result1.IsotopicProfile.ChargeState, resolution); distcreator.OffsetDistribution(result1.IsotopicProfile); var theorXYData = distcreator.Data; //StringBuilder sb = new StringBuilder(); //TestUtilities.GetXYValuesToStringBuilder(sb, theorXYData.Xvalues, theorXYData.Yvalues); //Console.WriteLine(sb.ToString()); var areafitter = new AreaFitter(); var fitval = areafitter.GetFit(theorXYData, run.XYData, 10); Console.WriteLine(result1.IsotopicProfile.Score + "\t" + fitval); Console.WriteLine((result1.IsotopicProfile.Score - fitval) / result1.IsotopicProfile.Score); Assert.AreEqual(0.0207350903681061m, (decimal)fitval); //TODO: fix this test... i'm getting 0.0207350903681061m }
public void fitterOnHornDataTest2() { Run run = new XCaliburRun2(xcaliburTestfile); var results = new ResultCollection(run); run.CurrentScanSet = new ScanSet(6005); var isTicRequested = false; Task msGen = new GenericMSGenerator(579, 582, isTicRequested); msGen.Execute(results); Task peakDetector = new DeconToolsPeakDetectorV2(0.5, 3, Globals.PeakFitType.QUADRATIC, false); peakDetector.Execute(results); Task decon = new HornDeconvolutor(); decon.Execute(results); var result1 = results.ResultList[1]; var resolution = result1.IsotopicProfile.GetMZofMostAbundantPeak() / result1.IsotopicProfile.GetFWHM(); var distcreator = new MercuryDistributionCreator(); distcreator.CreateDistribution(result1.IsotopicProfile.MonoIsotopicMass, result1.IsotopicProfile.ChargeState, resolution); var sb = new StringBuilder(); var theorXYData = distcreator.Data; //TestUtilities.GetXYValuesToStringBuilder(sb, theorXYData.Xvalues, theorXYData.Yvalues); distcreator.OffsetDistribution(result1.IsotopicProfile); TestUtilities.GetXYValuesToStringBuilder(sb, theorXYData.Xvalues, theorXYData.Yvalues); //Console.WriteLine(sb.ToString()); var areafitter = new AreaFitter(); var fitval = areafitter.GetFit(theorXYData, run.XYData, 10); Console.WriteLine(result1.IsotopicProfile.Score + "\t" + fitval); Console.WriteLine((result1.IsotopicProfile.Score - fitval) / result1.IsotopicProfile.Score * 100); Assert.AreEqual(0.0763818319332606m, (decimal)fitval); }
public void getFormulasTest1() { MercuryDistributionCreator merc = new MercuryDistributionCreator(); int chargeState = 3; MolecularFormula formula; for (double mz = 100; mz < 3000; mz++) { formula = merc.GetAveragineFormula(mz, chargeState); StringBuilder sb = new StringBuilder(); sb.Append(mz); sb.Append("\t"); reportFormula(sb, formula); Console.Write(sb.ToString()); } }
public MercuryDistCollection CreateMercuryDistCollection(double startMass, double stopMass, double stepSize, double fwhm) { var mercDistCollection = new MercuryDistCollection(); mercDistCreator = new MercuryDistributionCreator(); Check.Require(stepSize > 0, "Step size must be greater than 0"); Check.Require(stopMass >= startMass, "Stop MZ must be greater than Start MZ"); Check.Require(startMass > 0, "Starting MZ must be greater than 0"); for (var mass = startMass; mass <= stopMass; mass = mass + stepSize) { var mercdist = new MercuryDist(); mercDistCreator.CreateDistribution(mass, 1, fwhm); mercdist.Xydata = mercDistCreator.Data; mercDistCollection.mercDistList.Add(mercdist); } return(mercDistCollection); }
public void getpeaksFromDistributionTest1() { double mz = 1154.98841279744; //mono MZ int chargestate = 2; double fwhm = 0.0290254950523376; //from second peak of isotopic profile double monoMass = 1154.98841279744 * chargestate - chargestate * 1.00727649; double resolution = mz / fwhm; MercuryDistributionCreator distcreator = new MercuryDistributionCreator(); distcreator.CreateDistribution(monoMass, chargestate, resolution); distcreator.getIsotopicProfile(); Assert.AreEqual(8, distcreator.IsotopicProfile.GetNumOfIsotopesInProfile()); StringBuilder sb = new StringBuilder(); TestUtilities.ReportIsotopicProfileData(sb, distcreator.IsotopicProfile); Console.Write(sb.ToString()); }
public void test1() { MassTag mt = new MassTag(); mt.ID = 56488; mt.MonoIsotopicMass = 2275.1694779; mt.PeptideSequence = "TTPSIIAYTDDETIVGQPAKR"; mt.NETVal = 0.3520239f; mt.CreatePeptideObject(); mt.ChargeState = 2; Run run = new XCaliburRun(); ResultCollection rc = new ResultCollection(run); rc.Run.CurrentMassTag = mt; Task theorGen = new TomTheorFeatureGenerator(); theorGen.Execute(rc); mt.CalculateMassesForIsotopicProfile(mt.ChargeState); MercuryDistributionCreator distcreator = new MercuryDistributionCreator(); distcreator.CreateDistribution(mt.MonoIsotopicMass, mt.ChargeState, 40000); distcreator.getIsotopicProfile(); TestUtilities.DisplayIsotopicProfileData(mt.IsotopicProfile); //TestUtilities.DisplayIsotopicProfileData(distcreator.IsotopicProfile); Assert.AreEqual(7, mt.IsotopicProfile.Peaklist.Count); Assert.AreEqual(1138.59201544m, (decimal)mt.IsotopicProfile.Peaklist[0].XValue); Assert.AreEqual((1138.59201544m + 1.00235m / 2m), (decimal)mt.IsotopicProfile.Peaklist[1].XValue); }
public void effectOfFWHMOnFitTest() { Run run = new XCaliburRun(xcaliburTestfile); ResultCollection results = new ResultCollection(run); run.CurrentScanSet = new ScanSet(6005); Task msGen = new GenericMSGenerator(1154, 1160); msGen.Execute(results); DeconToolsV2.Peaks.clsPeakProcessorParameters detectorParams = new DeconToolsV2.Peaks.clsPeakProcessorParameters(); detectorParams.PeakBackgroundRatio = 0.5; detectorParams.PeakFitType = DeconToolsV2.Peaks.PEAK_FIT_TYPE.QUADRATIC; detectorParams.SignalToNoiseThreshold = 3; detectorParams.ThresholdedData = false; Task peakDetector = new DeconToolsPeakDetector(detectorParams); peakDetector.Execute(results); Task decon = new HornDeconvolutor(); decon.Execute(results); IsosResult result1 = results.ResultList[0]; double resolution = result1.IsotopicProfile.GetMZofMostAbundantPeak() / result1.IsotopicProfile.GetFWHM(); MercuryDistributionCreator distcreator = new MercuryDistributionCreator(); distcreator.CreateDistribution(result1.IsotopicProfile.MonoIsotopicMass, result1.IsotopicProfile.ChargeState, resolution); distcreator.OffsetDistribution(result1.IsotopicProfile); StringBuilder sb = new StringBuilder(); AreaFitter areafitter = new AreaFitter(distcreator.Data, run.XYData, 10); double fitval = areafitter.getFit(); sb.Append(resolution); sb.Append("\t"); sb.Append(fitval); sb.Append("\n"); for (double fwhm = 0.001; fwhm < 0.050; fwhm = fwhm + 0.0005) { distcreator = new MercuryDistributionCreator(); resolution = result1.IsotopicProfile.GetMZofMostAbundantPeak() / fwhm; distcreator.CreateDistribution(result1.IsotopicProfile.MonoIsotopicMass, result1.IsotopicProfile.ChargeState, resolution); distcreator.OffsetDistribution(result1.IsotopicProfile); areafitter = new AreaFitter(distcreator.Data, run.XYData, 10); fitval = areafitter.getFit(); sb.Append(resolution); sb.Append("\t"); sb.Append(fitval); sb.Append("\n"); } //Console.Write(sb.ToString()); }