Пример #1
0
 public void TestRatioToStandard()
 {
     var doc = LoadTestDocument();
     foreach (var peptideGroup in doc.MoleculeGroups)
     {
         foreach (var peptide in peptideGroup.Peptides)
         {
             var peptideQuantifier = new PeptideQuantifier(peptideGroup, peptide,
                 QuantificationSettings.DEFAULT.ChangeNormalizationMethod(NormalizationMethod.GetNormalizationMethod(IsotopeLabelType.heavy)));
             for (int replicateIndex = 0; replicateIndex < doc.Settings.MeasuredResults.Chromatograms.Count; replicateIndex++)
             {
                 var expected = peptide.Results[replicateIndex].First().LabelRatios.First().Ratio.Ratio;
                 var actual = PeptideQuantifier.SumQuantities(
                     peptideQuantifier.GetTransitionIntensities(doc.Settings, replicateIndex).Values,
                     peptideQuantifier.NormalizationMethod).Value;
                 Assert.AreEqual(expected, actual, .0001, "Error on replicate {0}", replicateIndex);
             }
         }
     }
 }
Пример #2
0
 private void GetDataRows(GroupComparisonSelector selector, IList <DataRowDetails> foldChangeDetails)
 {
     foreach (var replicateEntry in _replicateIndexes)
     {
         if (!replicateEntry.Value.IsControl &&
             !Equals(selector.GroupIdentifier, replicateEntry.Value.GroupIdentifier))
         {
             continue;
         }
         foreach (var peptide in selector.ListPeptides())
         {
             QuantificationSettings quantificationSettings = QuantificationSettings.DEFAULT
                                                             .ChangeNormalizationMethod(ComparisonDef.NormalizationMethod)
                                                             .ChangeMsLevel(selector.MsLevel);
             var peptideQuantifier = new PeptideQuantifier(GetNormalizationData, selector.Protein, peptide,
                                                           quantificationSettings)
             {
                 QValueCutoff = ComparisonDef.QValueCutoff
             };
             if (null != selector.LabelType)
             {
                 peptideQuantifier.MeasuredLabelTypes = ImmutableList.Singleton(selector.LabelType);
             }
             foreach (var quantityEntry in peptideQuantifier.GetTransitionIntensities(SrmDocument.Settings,
                                                                                      replicateEntry.Key, ComparisonDef.UseZeroForMissingPeaks))
             {
                 var dataRowDetails = new DataRowDetails
                 {
                     BioReplicate   = replicateEntry.Value.BioReplicate,
                     Control        = replicateEntry.Value.IsControl,
                     IdentityPath   = quantityEntry.Key,
                     Intensity      = Math.Max(1.0, quantityEntry.Value.Intensity),
                     Denominator    = Math.Max(1.0, quantityEntry.Value.Denominator),
                     ReplicateIndex = replicateEntry.Key,
                 };
                 foldChangeDetails.Add(dataRowDetails);
             }
         }
     }
 }