Пример #1
0
        /// <summary>
        /// Synchronizes a single <see cref="MassDistribution"/> object with corresponding
        /// masses from a <see cref="BioMassCalc"/>.
        /// </summary>
        private static MassDistribution SynchDist(MassDistribution massDist,
                                                  double monoMassCalc, double secondMassCalc, double thirdMassCalc)
        {
            var massDistOrdered = massDist.MassesSortedByAbundance();

            if (EqualDistMasses(massDistOrdered, monoMassCalc, secondMassCalc, thirdMassCalc))
            {
                return(massDist);
            }
            var dictFixDist = massDist.ToDictionary();

            ReplaceMass(dictFixDist, massDistOrdered, 0, monoMassCalc);
            ReplaceMass(dictFixDist, massDistOrdered, 1, secondMassCalc);
            ReplaceMass(dictFixDist, massDistOrdered, 2, thirdMassCalc);
            return(MassDistribution.NewInstance(dictFixDist, 0, 0));
        }