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);
        }
Exemplo n.º 2
0
        protected override IqResult CreateIqResult()
        {
            IqTarget target = new IqChargeStateTarget();
            var      result = new IqResult(target);

            return(result);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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;
        }
Exemplo n.º 6
0
        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);
            }
        }
Exemplo n.º 8
0
 protected override void ConvertTextToDataObject(ref IqResult iqResult, List <string> rowData)
 {
     GetBasicIqResultData(ref iqResult, rowData);
 }
Exemplo n.º 9
0
 public virtual string GetHeader(IqResult result)
 {
     return(GetHeader());
 }
Exemplo n.º 10
0
 public virtual ChromCorrelationData CorrelateData(Run run, IqResult iqResult, int startScan, int stopScan)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 11
0
 protected abstract void ConvertTextToDataObject(ref IqResult iqResult, List <string> rowData);