private static DeuterationResult GenerateDeuterationResult(Peptide peptide, ProteinState proteinState, Labeling labeling, Experiment experiment, Result result)
        {
            List<RunResult> replicates = new List<RunResult>();

            foreach (Run run in experiment.GetRunsByProteinState(proteinState))
            {
                if (run.Labeling == labeling)
                {
                    RunResult runResult = experiment.GetRunResult(result, run, peptide);
                    if (runResult != null)
                    {
                        replicates.Add(runResult);
                    }
                }
            }

            DeuterationResult deuterationResult = new DeuterationResult(peptide, proteinState, labeling, replicates);
            deuterationResult.AmountDeut = Math.Round(MathUtility.GetAverage(deuterationResult.DeuterationValues), 5);
            deuterationResult.AmountDeuterationStandardDeviation = Math.Round(MathUtility.GetStandardDeviation(deuterationResult.DeuterationValues), 5);
            deuterationResult.AmountDeuterationFromDeuterationDistribution = Math.Round(MathUtility.GetAverage(deuterationResult.DeuterationDistributedDeuterationValues), 5);
            deuterationResult.AmountDeuterationFromDeuterationDistributionStandardDeviation = Math.Round(MathUtility.GetStandardDeviation(deuterationResult.DeuterationDistributedDeuterationValues), 5);
            deuterationResult.CentroidMass = Math.Round(MathUtility.GetAverage(deuterationResult.CentroidMassValues), 5);
            deuterationResult.CentroidMassStandardDeviation = Math.Round(MathUtility.GetStandardDeviation(deuterationResult.CentroidMassValues), 5);
            if (replicates.Count > 0)
            {
                deuterationResult.TheoreticalCentroidMass = Math.Round(replicates.Average(item => item.TheoreticalAverageMass), 5);
            }

            return deuterationResult;
        }
Ejemplo n.º 2
0
        public DeuterationResult Clone()
        {
            DeuterationResult clonedDeutResult = new DeuterationResult(Peptide, ProteinState, Labeling, ReplicateResults);

            clonedDeutResult.AmountDeut = AmountDeut;
            clonedDeutResult.AmountDeuterationFromDeuterationDistribution = AmountDeuterationFromDeuterationDistribution;
            clonedDeutResult.CentroidMass = CentroidMass;
            clonedDeutResult.CentroidMassStandardDeviation = CentroidMassStandardDeviation;
            clonedDeutResult.AmountDeuterationFromDeuterationDistributionStandardDeviation = AmountDeuterationFromDeuterationDistributionStandardDeviation;
            clonedDeutResult.AmountDeuterationStandardDeviation = AmountDeuterationStandardDeviation;
            return clonedDeutResult;
        }
Ejemplo n.º 3
0
 private void AssertResult(DeuterationResult result, double labelingPercent, double labelingTime, string sequence, double amountDeut)
 {
     Assert.AreEqual(labelingPercent, result.Labeling.LabelingPercent);
     Assert.AreEqual(labelingTime, result.Labeling.LabelingTime);
     Assert.AreEqual(sequence, result.Peptide.Sequence);
     Assert.AreEqual(0, result.ReplicateResults.Count);
     Assert.AreEqual(amountDeut, Math.Round(result.AmountDeut, 5));
 }