public void ChromPeakAnalyzerWorkflowTest() { //Reference JIRA: https://jira.pnnl.gov/jira/browse/OMCS-884 string testFile = UnitTesting2.FileRefs.RawDataMSFiles.OrbitrapStdFile1; string peaksTestFile = UnitTesting2.FileRefs.PeakDataFiles.OrbitrapPeakFile_scans5500_6500; Run run = new RunFactory().CreateRun(testFile); TargetedWorkflowParameters parameters = new BasicTargetedWorkflowParameters(); ChromPeakIqTarget testTarget = new ChromPeakIqTarget(); ITheorFeatureGenerator TheorFeatureGen = new JoshTheorFeatureGenerator(DeconTools.Backend.Globals.LabellingType.NONE, 0.005); ChromPeak testPeak = new ChromPeak(5184, 840963, 50, 0); testTarget.SetWorkflow(new ChromPeakAnalyzerIqWorkflow(run, parameters)); testTarget.Code = "NGIIMMENR"; testTarget.EmpiricalFormula = "C43H76N14O14S2"; testTarget.MonoMassTheor = 1076.510631; testTarget.ChromPeak = testPeak; testTarget.ChargeState = 1; testTarget.TheorIsotopicProfile = TheorFeatureGen.GenerateTheorProfile(testTarget.EmpiricalFormula, testTarget.ChargeState); testTarget.DoWorkflow(); IqResult result = testTarget.GetResult(); Console.WriteLine("Fit Score: " + result.FitScore + " Flagged: " + result.IsIsotopicProfileFlagged); }
protected override IqResult CreateIqResult() { IqTarget target = new IqChargeStateTarget(); var result = new IqResult(target); return(result); }
public override ChromCorrelationData CorrelateData(Run run, IqResult iqResult, int startScan, int stopScan) { var correlationData = new ChromCorrelationData(); var o16MzValue = iqResult.Target.TheorIsotopicProfile.Peaklist[0].XValue; var o18SingleLabelMzValue = iqResult.Target.TheorIsotopicProfile.Peaklist[2].XValue; var o18DoubleLabelMzValue = iqResult.Target.TheorIsotopicProfile.Peaklist[4].XValue; var o16ChromXyData = GetBaseChromXYData(run, startScan, stopScan, o16MzValue); var o18SingleLabelChromXyData = GetBaseChromXYData(run, startScan, stopScan, o18SingleLabelMzValue); var o18DoubleLabelChromXyData = GetBaseChromXYData(run, startScan, stopScan, o18DoubleLabelMzValue); double slope, intercept, rsquaredVal; GetElutionCorrelationData(o16ChromXyData, o18SingleLabelChromXyData, out slope, out intercept, out rsquaredVal); correlationData.AddCorrelationData(slope, intercept, rsquaredVal); GetElutionCorrelationData(o16ChromXyData, o18DoubleLabelChromXyData, out slope, out intercept, out rsquaredVal); correlationData.AddCorrelationData(slope, intercept, rsquaredVal); GetElutionCorrelationData(o18SingleLabelChromXyData, o18DoubleLabelChromXyData, out slope, out intercept, out rsquaredVal); correlationData.AddCorrelationData(slope, intercept, rsquaredVal); return(correlationData); }
public override ChromCorrelationData CorrelateData(Run run, IqResult iqResult, int startScan, int stopScan) { Check.Require(iqResult != null, "ChromCorrelator failed. IqResult is null."); Check.Require(iqResult.ObservedIsotopicProfile != null, "ChromCorrelator failed. ObservedIsotopicProfile is null for IqResult"); return(CorrelatePeaksWithinIsotopicProfile(run, iqResult.ObservedIsotopicProfile, startScan, stopScan)); }
protected void GetBasicIqResultData(ref IqResult result, List <string> rowData) { result.Target.ID = ParseIntField(rowData, TargetIDHeaders, 0); result.Target.ChargeState = ParseIntField(rowData, ChargeStateHeaders, 0); result.Target.MonoMassTheor = ParseDoubleField(rowData, MonoMassTheorHeaders, 0); result.Target.MZTheor = ParseDoubleField(rowData, MzTheorHeaders, 0); result.Target.ScanLC = ParseIntField(rowData, TargetScanHeaders); result.Target.ElutionTimeTheor = ParseDoubleField(rowData, ElutionTimeTheorHeaders, 0); result.Target.Code = ParseStringField(rowData, CodeHeaders); result.Target.EmpiricalFormula = ParseStringField(rowData, EmpiricalFormulaHeaders); result.Abundance = ParseFloatField(rowData, AbundanceHeaders, 0); result.ElutionTimeObs = ParseDoubleField(rowData, ElutionTimeObsHeaders, 0); result.FitScore = ParseDoubleField(rowData, FitScoreHeaders, 1); result.InterferenceScore = ParseDoubleField(rowData, InterferenceScoreHeaders, 1); result.LcScanObs = ParseIntField(rowData, LcScanObsHeaders); result.MZObs = ParseDoubleField(rowData, MZObsHeaders, 0); result.MonoMassObs = ParseDoubleField(rowData, MonomassObsHeaders, 0); result.MZObsCalibrated = ParseDoubleField(rowData, MZObsCalibratedHeaders, 0); result.MonoMassObsCalibrated = ParseDoubleField(rowData, MonomassObsCalibratedHeaders, 0); result.NumChromPeaksWithinTolerance = ParseIntField(rowData, ChromPeaksWithinTolHeaders); result.MassErrorBefore = (result.MonoMassObs - result.Target.MonoMassTheor) / result.Target.MonoMassTheor * 1e6; result.MassErrorAfter = (result.MonoMassObsCalibrated - result.Target.MonoMassTheor) / result.Target.MonoMassTheor * 1e6; }
public virtual string GetResultAsString(IqResult result, bool includeHeader = false) { var sb = new StringBuilder(); var delim = "\t"; if (includeHeader) { var header = GetHeader(); sb.Append(header); sb.Append(Environment.NewLine); } sb.Append(result.Target.ID); sb.Append(delim); sb.Append(result.Target.Code); sb.Append(delim); sb.Append(result.Target.EmpiricalFormula); sb.Append(delim); sb.Append(result.Target.ChargeState); sb.Append(delim); sb.Append(result.Target.MonoMassTheor.ToString("0.00000")); sb.Append(delim); sb.Append(result.Target.MZTheor.ToString("0.00000")); sb.Append(delim); sb.Append(result.Target.ElutionTimeTheor.ToString("0.00000")); sb.Append(delim); sb.Append(result.Target.ScanLC); sb.Append(delim); sb.Append(result.MonoMassObs.ToString("0.00000")); sb.Append(delim); sb.Append(result.MZObs.ToString("0.00000")); sb.Append(delim); sb.Append(result.MonoMassObsCalibrated.ToString("0.00000")); sb.Append(delim); sb.Append(result.MZObsCalibrated.ToString("0.00000")); sb.Append(delim); sb.Append(result.ElutionTimeObs.ToString("0.00000")); sb.Append(delim); sb.Append(result.NumChromPeaksWithinTolerance); sb.Append(delim); sb.Append(result.LcScanObs); sb.Append(delim); sb.Append(result.Abundance.ToString("0.#")); sb.Append(delim); sb.Append(result.FitScore.ToString("0.000")); sb.Append(delim); sb.Append(result.InterferenceScore.ToString("0.000")); var outString = sb.ToString(); return(outString); }
/// <summary> /// Gets charge results as strings, 1 line per result /// </summary> /// <param name="result"></param> /// <param name="includeHeader"></param> /// <returns></returns> public string GetChargeResultAsString(IqResult result, bool includeHeader = false) { if (!(result.Target.ChargeState == 0 || result.Abundance <= 0)) { var sb = new StringBuilder(); if (includeHeader) { var header = GetHeader(); sb.Append(header); sb.Append(Environment.NewLine); } sb.Append(result.Target.ID); sb.Append(Delimiter); sb.Append(result.Target.Code); sb.Append(Delimiter); sb.Append(result.Target.EmpiricalFormula); sb.Append(Delimiter); sb.Append(result.Target.ChargeState); sb.Append(Delimiter); sb.Append(result.Target.MonoMassTheor.ToString("0.000")); sb.Append(Delimiter); sb.Append(result.Target.MZTheor.ToString("0.000")); sb.Append(Delimiter); sb.Append(result.Target.ElutionTimeTheor.ToString("0.000")); sb.Append(Delimiter); sb.Append(result.MonoMassObs.ToString("0.000")); sb.Append(Delimiter); sb.Append(result.MZObs.ToString("0.000")); sb.Append(Delimiter); sb.Append(result.ElutionTimeObs.ToString("0.0000")); sb.Append(Delimiter); sb.Append(result.NumChromPeaksWithinTolerance); sb.Append(Delimiter); sb.Append(result.LcScanObs); sb.Append(Delimiter); sb.Append(result.Abundance.ToString("0.#")); sb.Append(Delimiter); sb.Append(result.FitScore.ToString("0.000")); sb.Append(Delimiter); sb.Append(result.CorrelationData.RSquaredValsMedian); var outString = sb.ToString(); return(outString); } else { return(null); } }
protected override void ConvertTextToDataObject(ref IqResult iqResult, List <string> rowData) { GetBasicIqResultData(ref iqResult, rowData); }
public virtual string GetHeader(IqResult result) { return(GetHeader()); }
public virtual ChromCorrelationData CorrelateData(Run run, IqResult iqResult, int startScan, int stopScan) { throw new NotImplementedException(); }
protected abstract void ConvertTextToDataObject(ref IqResult iqResult, List <string> rowData);