Exemplo n.º 1
0
        public double?CalculateIonRatio(Replicate replicate, Peptide peptide)
        {
            var numerator   = new List <double>();
            var denominator = new List <double>();

            foreach (var transition in peptide.Precursors.SelectMany(precursor => precursor.Transitions))
            {
                var transitionDocNode = transition.DocNode;
                var chromInfo         = transitionDocNode.Results[replicate.ReplicateIndex].FirstOrDefault();
                if (chromInfo == null || chromInfo.IsEmpty || chromInfo.IsTruncated.GetValueOrDefault())
                {
                    continue;
                }

                if (transition.Quantitative)
                {
                    denominator.Add(chromInfo.Area);
                }
                else
                {
                    numerator.Add(chromInfo.Area);
                }
            }

            if (numerator.Count == 0 || denominator.Count == 0)
            {
                return(null);
            }

            return(numerator.Sum() / denominator.Sum());
        }
Exemplo n.º 2
0
        private void VerifyQuantificationResults(bool hasBatchNames)
        {
            var documentGrid = FindOpenForm <DocumentGridForm>();

            RunUI(() => documentGrid.ChooseView("PeptideQuantificationResults"));
            WaitForConditionUI(() => documentGrid.IsComplete);
            var propertyPathResults = PropertyPath.Root
                                      .Property(nameof(Peptide.Results)).LookupAllItems()
                                      .Property(nameof(KeyValuePair <ResultKey, PeptideResult> .Value));
            var colPeptide   = documentGrid.FindColumn(PropertyPath.Root);
            var colReplicate = documentGrid.FindColumn(propertyPathResults
                                                       .Property(nameof(PeptideResult.ResultFile))
                                                       .Property(nameof(ResultFile.Replicate)));
            var colCalibrationCurve =
                documentGrid.FindColumn(PropertyPath.Root.Property(nameof(Peptide.CalibrationCurve)));
            var colReplicateCalibrationCurve =
                documentGrid.FindColumn(propertyPathResults.Property(nameof(PeptideResult.ReplicateCalibrationCurve)));
            var colQuantification =
                documentGrid.FindColumn(propertyPathResults.Property(nameof(PeptideResult.Quantification)));

            for (int iRow = 0; iRow < documentGrid.RowCount; iRow++)
            {
                Peptide   peptide                   = null;
                Replicate replicate                 = null;
                var       calibrationCurve          = default(LinkValue <CalibrationCurve>);
                var       replicateCalibrationCurve = default(LinkValue <CalibrationCurve>);
                RunUI(() =>
                {
                    var row                   = documentGrid.DataGridView.Rows[iRow];
                    peptide                   = (Peptide)row.Cells[colPeptide.Index].Value;
                    replicate                 = (Replicate)row.Cells[colReplicate.Index].Value;
                    calibrationCurve          = (LinkValue <CalibrationCurve>)row.Cells[colCalibrationCurve.Index].Value;
                    replicateCalibrationCurve =
                        (LinkValue <CalibrationCurve>)row.Cells[colReplicateCalibrationCurve.Index].Value;
                });
                if (hasBatchNames)
                {
                    Assert.AreNotEqual(calibrationCurve.Value.PointCount, replicateCalibrationCurve.Value.PointCount);
                }
                else
                {
                    Assert.AreEqual(calibrationCurve.Value.PointCount, replicateCalibrationCurve.Value.PointCount);
                    Assert.AreEqual(calibrationCurve.Value.Slope, replicateCalibrationCurve.Value.Slope);
                }

                int selectedResultsIndexOld = SkylineWindow.SelectedResultsIndex;
                RunUI(() => calibrationCurve.ClickEventHandler(new object(), new EventArgs()));
                var calibrationForm = FindOpenForm <CalibrationForm>();
                Assert.IsNotNull(calibrationForm);
                WaitForGraphs();
                Assert.AreEqual(peptide.IdentityPath, SkylineWindow.SelectedPath);
                Assert.AreEqual(selectedResultsIndexOld, SkylineWindow.SelectedResultsIndex);
                RunUI(() => replicateCalibrationCurve.ClickEventHandler(new object(), new EventArgs()));
                Assert.AreEqual(peptide.IdentityPath, SkylineWindow.SelectedPath);
                Assert.AreEqual(replicate.ReplicateIndex, SkylineWindow.SelectedResultsIndex);
            }
        }
Exemplo n.º 3
0
        private CalibrationCurveFitter GetCalibrationCurveFitter()
        {
            if (string.IsNullOrEmpty(ResultFile.Replicate.BatchName) && !Peptide.DocNode.HasPrecursorConcentrations)
            {
                return(Peptide.GetCalibrationCurveFitter());
            }

            var calibrationCurveFitter =
                new CalibrationCurveFitter(Peptide.GetPeptideQuantifier(), SrmDocument.Settings);

            calibrationCurveFitter.SingleBatchReplicateIndex = ResultFile.Replicate.ReplicateIndex;
            return(calibrationCurveFitter);
        }
Exemplo n.º 4
0
 public PeptideResult(Peptide peptide, ResultFile file) : base(peptide, file)
 {
     _chromInfo              = CachedValue.Create(DataSchema, () => ResultFile.FindChromInfo(peptide.DocNode.Results));
     _quantificationResult   = CachedValue.Create(DataSchema, GetQuantification);
     _calibrationCurveFitter = CachedValue.Create(DataSchema, GetCalibrationCurveFitter);
 }
Exemplo n.º 5
0
 public override ElementRef GetElementRef()
 {
     return(MoleculeResultRef.PROTOTYPE.ChangeChromInfo(ResultFile.Replicate.ChromatogramSet, ChromInfo)
            .ChangeParent(Peptide.GetElementRef()));
 }
Exemplo n.º 6
0
 public void ChangeChromInfo(EditDescription editDescription, Func <PeptideChromInfo, PeptideChromInfo> newChromInfo)
 {
     Peptide.ChangeDocNode(editDescription, docNode => docNode.ChangeResults(GetResultFile().ChangeChromInfo(docNode.Results, newChromInfo)));
 }
Exemplo n.º 7
0
        public QuantificationResult GetQuantification()
        {
            CalibrationCurveFitter curveFitter = Peptide.GetCalibrationCurveFitter();

            return(curveFitter.GetQuantificationResult(ResultFile.Replicate.ReplicateIndex));
        }